+
+
+
+
+
+
diff --git a/anita_theme_setting/__init__.py b/anita_theme_setting/__init__.py
new file mode 100644
index 000000000..511a0ca3a
--- /dev/null
+++ b/anita_theme_setting/__init__.py
@@ -0,0 +1,4 @@
+# -*- coding: utf-8 -*-
+
+from . import controllers
+from . import models
\ No newline at end of file
diff --git a/anita_theme_setting/__manifest__.py b/anita_theme_setting/__manifest__.py
new file mode 100644
index 000000000..413476691
--- /dev/null
+++ b/anita_theme_setting/__manifest__.py
@@ -0,0 +1,96 @@
+# -*- coding: utf-8 -*-
+{
+ 'name': "anita_theme_setting",
+
+ 'summary': """
+ anita theme
+ advance theme
+ sunsine theme
+ mnk theme for odoo
+ free backend theme
+ odoo theme
+ owl theme
+ multi mode theme
+ free theme
+ multi style theme
+ button style theme
+ crazy theme
+ nice theme
+ mutli tab theme
+ multi layout theme
+ mult tab style theme
+ """,
+
+ 'description': """
+ anita theme setting for odoo, it is a powerfull theme
+ """,
+
+ 'author': "OpenERPnext",
+ 'website': "https://www.openerpnext.com",
+ 'live_test_url': 'https://www.openerpnext.com',
+ 'images': [
+ 'static/description/screen_shot.png',
+ 'static/description/banner.png',
+ ],
+ 'license': 'OPL-1',
+
+ 'category': 'Themes/Backend',
+ 'version': '17.0.0.3',
+ 'price': 999,
+
+ 'depends': ['web', 'web_enterprise'],
+
+ 'data': [
+ 'security/ir.model.access.csv',
+
+ # settings, setting page add by modules
+ 'views/anita_theme_mode.xml',
+ 'views/anita_theme_style.xml',
+ 'views/anita_theme_style_group.xml',
+ 'views/anita_theme_style_item.xml',
+ 'views/anita_theme_style_item_sub_group.xml',
+ 'views/anita_theme_var.xml',
+ 'views/anita_import_theme_style.xml',
+ 'views/anita_web.xml',
+ 'views/anita_bk_image_wizard.xml',
+ 'views/anita_res_setting.xml',
+ ],
+
+ 'assets': {
+
+ 'web.assets_backend': [
+
+ # aniate.css
+ 'anita_theme_setting/static/libs/animate.css',
+
+ # theme customizer
+ 'anita_theme_setting/static/src/components/customizer/*',
+ 'anita_theme_setting/static/src/components/settings/*.js',
+ 'anita_theme_setting/static/src/components/settings/*.xml',
+
+ 'anita_theme_setting/static/src/anita_theme_setting.js',
+
+ # according
+ 'anita_theme_setting/static/src/components/accordion/*',
+
+ # dialog
+ 'anita_theme_setting/static/src/components/dialog/*',
+
+ # color picker
+ 'anita_theme_setting/static/src/components/color_picker/color_picker.js',
+ 'anita_theme_setting/static/src/components/color_picker/color_picker.xml',
+ 'anita_theme_setting/static/src/components/color_picker/color_picker.scss',
+
+ 'anita_theme_setting/static/libs/spectrum.js',
+ 'anita_theme_setting/static/libs/spectrum.css',
+ 'anita_theme_setting/static/src/anita_icon.js',
+
+ # client
+ 'anita_theme_setting/static/src/components/webclient/webclient.js',
+ ],
+
+ 'web.assets_web': [
+ ('replace', 'web_enterprise/static/src/main.js', 'anita_theme_setting/static/src/anita_main.js'),
+ ]
+ }
+}
diff --git a/anita_theme_setting/controllers/__init__.py b/anita_theme_setting/controllers/__init__.py
new file mode 100644
index 000000000..1ba382538
--- /dev/null
+++ b/anita_theme_setting/controllers/__init__.py
@@ -0,0 +1,3 @@
+# -*- coding: utf-8 -*-
+
+from . import anita_home
\ No newline at end of file
diff --git a/anita_theme_setting/controllers/anita_home.py b/anita_theme_setting/controllers/anita_home.py
new file mode 100644
index 000000000..9b1759a45
--- /dev/null
+++ b/anita_theme_setting/controllers/anita_home.py
@@ -0,0 +1,87 @@
+# -*- coding: utf-8 -*-
+
+import odoo
+import odoo.modules.registry
+from odoo.tools.translate import _
+from odoo.exceptions import AccessError
+from odoo.addons.web.controllers.home import Home, SIGN_UP_REQUEST_PARAMS
+from odoo.addons.web.controllers.utils import ensure_db, is_user_internal
+from odoo import http
+from odoo.http import request
+from odoo.tools.mimetypes import guess_mimetype
+from odoo.tools.misc import file_path
+
+try:
+ from werkzeug.utils import send_file
+except ImportError:
+ from odoo.tools._vendor.send_file import send_file
+
+import json
+import base64
+import functools
+import io
+import os
+import logging
+
+_logger = logging.getLogger(__name__)
+
+BASE_PATH = os.path.dirname(os.path.dirname(__file__))
+
+
+class anitaHome(Home):
+ '''
+ inherit home to extend web.login style
+ '''
+ @http.route([
+ '/web/binary/company_logo',
+ '/logo',
+ '/logo.png',
+ ], type='http', auth="none", cors="*")
+ def company_logo(self, dbname=None, **kw):
+ imgname = 'logo'
+ imgext = '.png'
+ dbname = request.db
+ uid = (request.session.uid if dbname else None) or odoo.SUPERUSER_ID
+
+ if not dbname:
+ response = http.Stream.from_path(file_path('web/static/img/logo.png')).get_response()
+ else:
+ try:
+ # create an empty registry
+ registry = odoo.modules.registry.Registry(dbname)
+ with registry.cursor() as cr:
+ company = int(kw['company']) if kw and kw.get('company') else False
+ if company:
+ cr.execute("""SELECT logo_web, write_date
+ FROM res_company
+ WHERE id = %s
+ """, (company,))
+ else:
+ cr.execute("""SELECT c.logo_web, c.write_date
+ FROM res_users u
+ LEFT JOIN res_company c
+ ON c.id = u.company_id
+ WHERE u.id = %s
+ """, (uid,))
+ row = cr.fetchone()
+ if row and row[0]:
+ image_base64 = base64.b64decode(row[0])
+ image_data = io.BytesIO(image_base64)
+ mimetype = guess_mimetype(image_base64, default='image/png')
+ imgext = '.' + mimetype.split('/')[1]
+ if imgext == '.svg+xml':
+ imgext = '.svg'
+ response = send_file(
+ image_data,
+ request.httprequest.environ,
+ download_name=imgname + imgext,
+ mimetype=mimetype,
+ last_modified=row[1],
+ response_class=Response,
+ )
+ else:
+ response = http.Stream.from_path(file_path('web/static/img/nologo.png')).get_response()
+ except Exception:
+ response = http.Stream.from_path(file_path(f'web/static/img/{imgname}{imgext}')).get_response()
+
+ return response
\ No newline at end of file
diff --git a/anita_theme_setting/data/default_templates.xml b/anita_theme_setting/data/default_templates.xml
new file mode 100644
index 000000000..7bf915715
--- /dev/null
+++ b/anita_theme_setting/data/default_templates.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/anita_theme_setting/models/__init__.py b/anita_theme_setting/models/__init__.py
new file mode 100644
index 000000000..c4465a819
--- /dev/null
+++ b/anita_theme_setting/models/__init__.py
@@ -0,0 +1,21 @@
+# -*- coding: utf-8 -*-
+
+from . import anita_setting_base
+from . import anita_template_var_vals
+from . import anita_theme_mode
+from . import anita_theme_style
+from . import anita_theme_style_item_group
+from . import anita_theme_style_item
+from . import anita_company
+from . import anita_theme_users
+from . import anita_theme_vars
+from . import anita_setting_manager
+from . import anita_res_setting
+from . import anita_default_mode_data
+from . import anita_mode_template
+from . import anita_theme_style_item_sub_group
+from . import anita_import_theme_style
+from . import anita_default_menu_icon
+from . import anita_menu_extend
+from . import anita_favorite_menu
+from . import anita_bk_image_wizard
\ No newline at end of file
diff --git a/anita_theme_setting/models/anita_bk_image_wizard.py b/anita_theme_setting/models/anita_bk_image_wizard.py
new file mode 100644
index 000000000..a8591f314
--- /dev/null
+++ b/anita_theme_setting/models/anita_bk_image_wizard.py
@@ -0,0 +1,14 @@
+# -*- coding: utf-8 -*-
+
+from odoo import models, fields, api
+
+
+class AnitaBkImageWizard(models.TransientModel):
+ '''
+ background image wizard
+ '''
+ _name = 'anita_theme_setting.background_image_wizard'
+ _description = 'background image wizard'
+
+ data = fields.Binary(string='data', required=True)
+ opacity = fields.Float(string='theme opacity', default=0.8)
diff --git a/anita_theme_setting/models/anita_company.py b/anita_theme_setting/models/anita_company.py
new file mode 100644
index 000000000..9564f3e9d
--- /dev/null
+++ b/anita_theme_setting/models/anita_company.py
@@ -0,0 +1,130 @@
+# -*- coding: utf-8 -*-
+
+from odoo import fields, models, exceptions
+import base64
+from datetime import date, datetime
+from odoo.tools.misc import file_path
+
+
+class AnitaCompany(models.Model):
+ '''
+ extend to support current mode and current style
+ '''
+ _inherit = "res.company"
+ _name = 'res.company'
+
+ setting_id = fields.Many2one(
+ comodel_name="anita_theme_setting.setting_base",
+ ondelete="cascade",
+ string="setting id")
+
+ def _get_default_favicon_icon(self):
+ """
+ get default favicon icon form static path
+ """
+ tmp_path = file_path('anita_theme_setting/static/src/img/favicon.png')
+ return base64.b64encode(open(tmp_path, 'rb').read())
+
+ favicon_icon = fields.Binary(
+ string='Web Favicon Icon', default='_get_default_favicon_icon')
+
+ def _get_default_small_logo(self):
+ '''
+ get the default small logo
+ :return:
+ '''
+ tmp_path = file_path('anita_theme_setting/static/src/img/res_small_logo.png')
+ return base64.b64encode(open(tmp_path, 'rb').read())
+
+ logo_small = fields.Binary(
+ default=_get_default_small_logo, string="Company Small Logo")
+
+ def get_mode_data(self):
+ '''
+ get mode data
+ :return:
+ '''
+ owner = 'res.company, {company_id}'.format(
+ company_id=self.env.user.company_id)
+ self.env["anita_theme_setting.theme_mode"].check_default_mode_data(owner)
+ return self.env["anita_theme_setting.theme_mode"].get_mode_data()
+
+ def get_mode_domain(self):
+ """
+ get mode domain dynamic
+ :return:
+ """
+ owner = 'res.company, {company_id}'.format(
+ company_id=self.env.user.company_id.id)
+ return [('owner', '=', owner)]
+
+ def get_company_mode_data(self):
+ '''
+ get company mode data
+ :return:
+ '''
+ return self.get_mode_data()
+
+ def ensure_setting_id(self):
+ '''
+ check setting id
+ :return:
+ '''
+ self.ensure_one()
+ if self.setting_id:
+ return
+
+ # copy use the global default data
+ values = self.env['res.config.settings'].get_theme_settings()
+
+ # get fields of anita_theme_setting.setting_base
+ field_names = [name for name, field in self.setting_id._fields.items() if name not in [
+ 'id', 'create_uid', 'create_date', 'write_uid', 'write_date']]
+
+ # remove name not in fields
+ values = {k: v for k, v in values.items() if k in field_names}
+
+ del values["current_theme_mode"]
+ del values["current_theme_style"]
+
+ if not self.setting_id:
+ tmp_record = self.env["anita_theme_setting.setting_base"].create(values)
+ self.setting_id = tmp_record.id
+
+ return self.setting_id
+
+ def get_theme_setting(self):
+ '''
+ get company setting
+ :return:
+ '''
+ record = self.env.user.company_id
+ record.ensure_setting_id()
+ result = record.setting_id.read()[0]
+ result["current_theme_mode"] = record.setting_id.current_theme_mode.id
+ result["current_theme_style"] = record.setting_id.current_theme_style.id
+ for key, item in result.items():
+ if isinstance(item, datetime):
+ result[key] = fields.Datetime.to_string(item)
+ if isinstance(item, date):
+ result[key] = fields.Date.to_string(item)
+
+ return result
+
+ def check_default_data(self):
+ """
+ check default data
+ :return:
+ """
+ # check mode data
+ owner = 'res.company, {company_id}'.format(company_id=self.id)
+ self.env["anita_theme_setting.theme_mode"].check_default_mode_data(owner)
+
+ def save_theme_setting(self, settings):
+ '''
+ save theme setting
+ :param settings:
+ :return:
+ '''
+ self.ensure_setting_id()
+ self.setting_id.write(settings)
diff --git a/anita_theme_setting/models/anita_default_menu_icon.py b/anita_theme_setting/models/anita_default_menu_icon.py
new file mode 100644
index 000000000..276368e14
--- /dev/null
+++ b/anita_theme_setting/models/anita_default_menu_icon.py
@@ -0,0 +1,133 @@
+
+
+svg_icons = {
+
+ '追踪': '
',
+
+ '联系人': '
',
+
+ 'Dashboards': '
',
+
+ 'Sales': '
',
+
+ 'Inventory': '
',
+
+ 'Calendar': '
',
+
+ 'Note': '
',
+
+ 'Website': '
',
+
+ 'Manufacturing': '
',
+
+ 'Repairs': '
',
+
+ 'Email Marketing': '
',
+
+ 'SMS Marketing':'
',
+ 'Project': '
',
+
+ 'Surveys': '
',
+
+ 'Employees': '
',
+
+ 'Recruitment': '
',
+
+ 'Attendances': '
',
+
+ 'Time Off': '
',
+
+ 'Expenses': '
',
+
+ 'Maintenance': '
',
+
+ 'Live Chat': '
',
+
+ 'Lunch': '
',
+
+ 'Fleet': '
',
+
+ 'Timesheets': '
',
+
+ 'Events': '
',
+
+ 'eLearning': '
',
+
+ 'Members': '
',
+
+ 'Apps': '
',
+
+ '设置': '
',
+
+ '讨论': '
',
+
+ 'CRM': '
',
+
+ '会计': '
',
+
+ '系统设置': '
',
+
+ '零工结算': '
',
+
+ '市场推广': '
',
+
+ '系统设置': '
',
+
+ '文档': '
',
+ '采购': '
',
+ '制造': '
',
+ '条码': '
',
+ '员工': '
',
+ '审批': '
',
+ '应用': '
',
+ '工作流': '
',
+ '日历': '
',
+ '驾驶舱': '
',
+ '库存': '
',
+ '销售': '
',
+ '仪表板':'
',
+ '跟踪链': '
',
+ '质量': '
',
+ 'PLM': '
',
+ '销售点': '
',
+ '更新管理': '
',
+ '网站': '
',
+ '在线学习': '
',
+ '调查': '
'
+}
+
+font_icons = {
+ 'Link Tracker':'fa fa-link',
+ 'Dashboards':'fa fa-tachometer',
+ 'Sales':'fa fa-shopping-cart',
+ 'Invoicing':'fa fa-file-text-o',
+ 'Inventory':'fa fa-cubes',
+ 'Purchase':'fa fa-shopping-basket',
+ 'Calendar':'fa fa-calendar',
+ 'CRM':'fa fa-users',
+ 'Note':'fa fa-sticky-note-o',
+ 'Website':'fa fa-globe',
+ 'Point of Sale':'fa fa-shopping-cart',
+ 'Manufacturing':'fa fa-industry',
+ 'Repairs':'fa fa-wrench',
+ 'Email Marketing':'fa fa-envelope',
+ 'SMS Marketing':'fa fa-commenting-o',
+ 'Project':'fa fa-briefcase',
+ 'Surveys':'fa fa-bar-chart',
+ 'Employees':'fa fa-users',
+ 'Recruitment':'fa fa-users',
+ 'Attendances':'fa fa-users',
+ 'Time Off':'fa fa-users',
+ 'Expenses':'fa fa-money',
+ 'Maintenance':'fa fa-wrench',
+ 'Live Chat':'fa fa-comments-o',
+ 'Lunch':'fa fa-cutlery',
+ 'Fleet':'fa fa-car',
+ 'Timesheets':'fa fa-clock-o',
+ 'Events':'fa fa-calendar',
+ 'eLearning':'fa fa-graduation-cap',
+ 'Members':'fa fa-users',
+ 'Apps':'fa fa-apple',
+ 'Settings':'fa fa-cogs',
+ 'Discuss':'fa fa-comments-o',
+}
diff --git a/anita_theme_setting/models/anita_default_mode_data.py b/anita_theme_setting/models/anita_default_mode_data.py
new file mode 100644
index 000000000..b2d447ff5
--- /dev/null
+++ b/anita_theme_setting/models/anita_default_mode_data.py
@@ -0,0 +1,147 @@
+# -*- coding: utf-8 -*-
+
+from odoo import models, fields, api, exceptions
+from odoo.tools import ormcache
+import json
+from odoo.tools.misc import file_path
+
+import logging
+_logger = logging.getLogger(__name__)
+
+
+class AnitaDefaultMode(models.Model):
+ '''
+ default mode
+ '''
+ _name = 'anita_theme_setting.default_mode_data'
+ _description = 'anita Theme Setting Mode Template'
+
+ name = fields.Char(string="Name", required=True)
+ data = fields.Text(string="Content", required=True)
+ template_var_vals = fields.Text(string="Template Var Vals")
+ version = fields.Char(string="Version", required=True)
+ config_path = fields.Char(string="Config Path", help="This is the file path of the template")
+
+ _sql_constraints = [('name_unique', 'UNIQUE(name)', "Name Must Be Unique!")]
+
+ @ormcache('self.id')
+ def get_mode_data(self):
+ """
+ get mode
+ :return:
+ """
+ self.ensure_one()
+ mode_data = json.loads(self.data)
+ mode_data.update({
+ "name": self.name,
+ "version": self.version
+ })
+ return mode_data
+
+ @ormcache('self.id')
+ def get_var_val_cache(self):
+ """
+ get var value cache
+ """
+ self.ensure_one()
+
+ try:
+ var_vals = self.template_var_vals
+ var_vals = var_vals.replace('\'', '\"')
+ data = json.loads(var_vals)
+ except Exception as e:
+ _logger.error(e)
+ data = {}
+
+ var_val_cache = {}
+ for group_name in data:
+ group = data[group_name]
+ for var_item in group:
+ var_val_cache[var_item['name']] = var_item['value']
+ return var_val_cache
+
+ @ormcache()
+ def get_default_modes(self):
+ """
+ get default modes
+ :return:
+ """
+ records = self.search([])
+ default_models = []
+ for record in records:
+ default_models.append(record.get_mode_data())
+ return default_models
+
+ @api.model
+ def refresh_default_mode(self):
+ """
+ udpate data
+ """
+ records = self.search([])
+ for record in records:
+ if not record.config_path:
+ return
+
+ tmp_path = file_path(record.config_path.lstrip('/'))
+ if not tmp_path:
+ continue
+ with open(tmp_path, 'r') as fd:
+ mode_text = fd.read()
+
+ # check the data is valid json
+ try:
+ mode_data = json.loads(mode_text)
+ record.write({
+ "data": json.dumps(mode_data),
+ "template_var_vals": json.dumps(mode_data.get('template_var_vals', {}))
+ })
+ except Exception as e:
+ self.data = False
+ _logger.error(e)
+
+ @api.model
+ def install_mode(self, config_path, template):
+ """
+ install mode
+ :return:
+ """
+ # trim start '/'
+ tmp_path = file_path(config_path.lstrip('/'))
+
+ if not tmp_path:
+ raise exceptions.ValidationError('File not found! {}'.format(config_path))
+
+ with open(tmp_path, 'r') as fd:
+
+ mode_text = fd.read()
+
+ # check the data is valid json
+ try:
+ mode_data = json.loads(mode_text)
+ except Exception as e:
+ raise exceptions.ValidationError(
+ 'Template {template} must be a valid json file!'.format(template=config_path))
+
+ name = mode_data.get('name')
+ if not name:
+ raise exceptions.ValidationError(
+ 'Template {template} must has a name!'.format(template=config_path))
+
+ model_record = self.search([('name', '=', name)])
+ if not model_record:
+ self.create([{
+ "name": name,
+ "data": json.dumps(mode_data),
+ "version": mode_data.get('version', '1.0'),
+ "config_path": config_path,
+ "template_var_vals": mode_data.get("template_var_vals", "")
+ }])
+ else:
+ model_record.write({
+ "name": name,
+ "data": json.dumps(mode_data),
+ "version": mode_data.get('version', '1.0'),
+ "config_path": config_path,
+ "template_var_vals": mode_data.get("template_var_vals", "")
+ })
+ return model_record
diff --git a/anita_theme_setting/models/anita_favorite_menu.py b/anita_theme_setting/models/anita_favorite_menu.py
new file mode 100644
index 000000000..78cfbdb21
--- /dev/null
+++ b/anita_theme_setting/models/anita_favorite_menu.py
@@ -0,0 +1,53 @@
+# -*- coding: utf-8 -*-
+
+from odoo import api, fields, models
+
+
+class AnitaFavoriteMenu(models.Model):
+ '''
+ user favorite menu
+ '''
+ _name = 'anita_theme_setting.favorite_menu'
+ _order = "sequence"
+ _description = "user favorite menu"
+
+ def _default_sequence(self):
+ return self.env['ir.sequence'].next_by_code('anita_theme_setting.favorite.menu')
+
+ sequence = fields.Integer(
+ string="sequence",
+ default=_default_sequence)
+
+ menu_id = fields.Many2one(
+ comodel_name='ir.ui.menu',
+ string='Favorite Menu',
+ required=True,
+ ondelete='cascade')
+
+ user_id = fields.Many2one(
+ comodel_name='res.users',
+ string='User Name',
+ default=lambda self: self.env.user.id)
+
+ @api.model
+ def unlink_menu_id(self, user_id, menu_id):
+ '''
+ unlink
+ :param user_id:
+ :param menu_id:
+ :return:
+ '''
+ value = self.search(
+ [('menu_id', '=', menu_id), ('user_id', '=', user_id)])
+ return value.unlink()
+
+ @api.model
+ def update_favorite_menu(self, favorites):
+ '''
+ update favoirte
+ :return:
+ '''
+ records = self.search([('user_id', '=', self.env.uid)])
+ records.unlink()
+ self.create(favorites)
+ return self.search_read([('user_id', '=', self.env.uid)])
diff --git a/anita_theme_setting/models/anita_import_theme_style.py b/anita_theme_setting/models/anita_import_theme_style.py
new file mode 100644
index 000000000..55d7cd344
--- /dev/null
+++ b/anita_theme_setting/models/anita_import_theme_style.py
@@ -0,0 +1,13 @@
+# -*- coding: utf-8 -*-
+
+from odoo import models, fields
+
+
+class AnitaImportThemeStyle(models.TransientModel):
+ '''
+ user theme style setting
+ '''
+ _name = 'anita_theme_setting.import_theme_style'
+ _description = 'user setting'
+
+ file = fields.Binary(string="Theme File", required=True)
diff --git a/anita_theme_setting/models/anita_menu_extend.py b/anita_theme_setting/models/anita_menu_extend.py
new file mode 100644
index 000000000..2b590af50
--- /dev/null
+++ b/anita_theme_setting/models/anita_menu_extend.py
@@ -0,0 +1,244 @@
+# -*- coding: utf-8 -*-
+
+from odoo.tools.convert import xml_import, nodeattr2bool
+import odoo
+from odoo import api, fields, models, tools
+from odoo.osv import expression
+from .anita_default_menu_icon import svg_icons, font_icons
+
+
+class AnitaMenuExtend(models.Model):
+ '''
+ extend to support font icon and svg icon
+ '''
+ _inherit = 'ir.ui.menu'
+
+ font_icon = fields.Char(string='font icon')
+ svg_icon = fields.Text(string='svg icon')
+
+ def load_web_menus(self, debug):
+ """ Loads all menu items (all applications and their sub-menus) and
+ processes them to be used by the webclient. Mainly, it associates with
+ each application (top level menu) the action of its first child menu
+ that is associated with an action (recursively), i.e. with the action
+ to execute when the opening the app.
+
+ :return: the menus (including the images in Base64)
+ """
+ theme_setting = self.env["anita_theme_setting.setting_manager"].sudo().get_theme_setting()
+ icon_policy = theme_setting.get("icon_policy", "svg_icon")
+
+ menus = self.load_menus(debug)
+ favorite_cache = {}
+ if theme_setting.get("favorite_mode", False):
+ favorite_apps = self.env['anita_theme_setting.favorite_menu'].sudo().search(
+ [('user_id', '=', self.env.uid)])
+ favorite_cache = {fav.menu_id.id: fav for fav in favorite_apps}
+
+ web_menus = {}
+ for menu in menus.values():
+ if not menu['id']:
+ # special root menu case
+ web_menus['root'] = {
+ "id": 'root',
+ "name": menu['name'],
+ "children": menu['children'],
+ "appID": False,
+ "xmlid": "",
+ "actionID": False,
+ "actionModel": False,
+ "webIcon": None,
+ "webIconData": None,
+ "backgroundImage": menu.get('backgroundImage'),
+ "icon_policy": icon_policy,
+ }
+ else:
+ action = menu['action']
+
+ if menu['id'] == menu['app_id']:
+ # if it's an app take action of first (sub)child having one defined
+ child = menu
+ while child and not action:
+ action = child['action']
+ child = menus[child['children'][0]] if child['children'] else False
+
+ action_model, action_id = action.split(',') if action else (False, False)
+ action_id = int(action_id) if action_id else False
+
+ web_menus[menu['id']] = {
+ "id": menu['id'],
+ "name": menu['name'],
+ "children": menu['children'],
+ "appID": menu['app_id'],
+ "xmlid": menu['xmlid'],
+ "actionID": action_id,
+ "actionModel": action_model,
+ "svg_icon": menu.get('svg_icon'),
+ "font_icon": menu.get('font_icon'),
+ "webIcon": menu['web_icon'],
+ "webIconData": menu['web_icon_data'],
+ "is_favorite": True if favorite_cache.get(menu['id']) else False,
+ "sequence": favorite_cache.get(menu['id'], {}).sequence if favorite_cache.get(menu['id']) else 0
+ }
+
+ return web_menus
+
+ @api.model
+ # @tools.ormcache_context('self._uid', 'debug', keys=('lang',))
+ def load_menus(self, debug):
+ """ Loads all menu items (all applications and their sub-menus).
+ :return: the menu root
+ :rtype: dict('children': menu_nodes)
+ """
+ theme_setting = self.env["anita_theme_setting.setting_manager"].sudo().get_theme_setting()
+ icon_policy = theme_setting.get("icon_policy", "svg_icon")
+
+ fields = ['name', 'sequence', 'parent_id', 'action', 'web_icon']
+ if icon_policy == "font_icon":
+ fields.append('font_icon')
+ elif icon_policy == "svg_icon":
+ fields.append('svg_icon')
+ else:
+ fields.append('web_icon')
+ fields.append('web_icon_data')
+
+ menu_roots = self.get_user_roots()
+ menu_roots_data = menu_roots.read(fields) if menu_roots else []
+
+ menu_root = {
+ 'id': False,
+ 'name': 'root',
+ 'parent_id': [-1, ''],
+ 'children': [menu['id'] for menu in menu_roots_data],
+ }
+
+ all_menus = {'root': menu_root}
+
+ if not menu_roots_data:
+ return all_menus
+
+ # menus are loaded fully unlike a regular tree view, cause there are a
+ # limited number of items (752 when all 6.1 addons are installed)
+ menus_domain = [('id', 'child_of', menu_roots.ids)]
+ blacklisted_menu_ids = self._load_menus_blacklist()
+ if blacklisted_menu_ids:
+ menus_domain = expression.AND([menus_domain, [('id', 'not in', blacklisted_menu_ids)]])
+ menus = self.search(menus_domain)
+ menu_items = menus.read(fields)
+ xmlids = (menu_roots + menus)._get_menuitems_xmlids()
+
+ # add roots at the end of the sequence, so that they will overwrite
+ # equivalent menu items from full menu read when put into id:item
+ # mapping, resulting in children being correctly set on the roots.
+ menu_items.extend(menu_roots_data)
+
+ # set children ids and xmlids
+ menu_items_map = {menu_item["id"]: menu_item for menu_item in menu_items}
+ for menu_item in menu_items:
+ menu_item.setdefault('children', [])
+
+ # set the default icons
+ if icon_policy == "svg_icon":
+ if not menu_item.get('svg_icon'):
+ menu_item["svg_icon"] = svg_icons.get(menu_item["name"], False) or False
+ elif icon_policy == "font_icon":
+ if not menu_item.get('font_icon'):
+ menu_item["font_icon"] = font_icons.get(menu_item["name"], False) or "fa fa-circle-o"
+
+ parent = menu_item['parent_id'] and menu_item['parent_id'][0]
+ menu_item['xmlid'] = xmlids.get(menu_item['id'], "")
+ if parent in menu_items_map:
+ menu_items_map[parent].setdefault(
+ 'children', []).append(menu_item['id'])
+
+ all_menus.update(menu_items_map)
+
+ # sort by sequence
+ for menu_id in all_menus:
+ all_menus[menu_id]['children'].sort(key=lambda id: all_menus[id]['sequence'])
+
+ # recursively set app ids to related children
+ def _set_app_id(app_id, menu):
+ menu['app_id'] = app_id
+ for child_id in menu['children']:
+ _set_app_id(app_id, all_menus[child_id])
+
+ for app in menu_roots_data:
+ app_id = app['id']
+ _set_app_id(app_id, all_menus[app_id])
+
+ # filter out menus not related to an app (+ keep root menu)
+ all_menus = {menu['id']: menu for menu in all_menus.values() if menu.get('app_id')}
+ all_menus['root'] = menu_root
+
+ return all_menus
+
+def _tag_menuitem_extend(self, rec, parent=None):
+ """
+ extend tag menu item
+ """
+ rec_id = rec.attrib["id"]
+ self._test_xml_id(rec_id)
+
+ # The parent attribute was specified, if non-empty determine its ID, otherwise
+ # explicitly make a top-level menu
+ values = {
+ 'parent_id': False,
+ 'active': nodeattr2bool(rec, 'active', default=True),
+ }
+
+ if rec.get('sequence'):
+ values['sequence'] = int(rec.get('sequence'))
+
+ if parent is not None:
+ values['parent_id'] = parent
+ elif rec.get('parent'):
+ values['parent_id'] = self.id_get(rec.attrib['parent'])
+ elif rec.get('web_icon'):
+ values['web_icon'] = rec.attrib['web_icon']
+
+ if rec.get('name'):
+ values['name'] = rec.attrib['name']
+
+ if rec.get('action'):
+ a_action = rec.attrib['action']
+
+ if '.' not in a_action:
+ a_action = '%s.%s' % (self.module, a_action)
+ act = self.env.ref(a_action).sudo()
+ values['action'] = "%s,%d" % (act.type, act.id)
+
+ if not values.get('name') and act.type.endswith(('act_window', 'wizard', 'url', 'client', 'server')) and act.name:
+ values['name'] = act.name
+
+ if not values.get('name'):
+ values['name'] = rec_id or '?'
+
+ groups = []
+ for group in rec.get('groups', '').split(','):
+ if group.startswith('-'):
+ group_id = self.id_get(group[1:])
+ groups.append(odoo.Command.unlink(group_id))
+ elif group:
+ group_id = self.id_get(group)
+ groups.append(odoo.Command.link(group_id))
+ if groups:
+ values['groups_id'] = groups
+
+ # read font icon
+ if rec.get('font_icon'):
+ values['font_icon'] = rec.get('font_icon')
+
+ if rec.get('svg_icon'):
+ values['svg_icon'] = rec.get('svg_icon')
+
+ data = {
+ 'xml_id': self.make_xml_id(rec_id),
+ 'values': values,
+ 'noupdate': self.noupdate,
+ }
+ menu = self.env['ir.ui.menu']._load_records([data], self.mode == 'update')
+ for child in rec.iterchildren('menuitem'):
+ self._tag_menuitem(child, parent=menu.id)
+
+xml_import._tag_menuitem = _tag_menuitem_extend
diff --git a/anita_theme_setting/models/anita_mode_template.py b/anita_theme_setting/models/anita_mode_template.py
new file mode 100644
index 000000000..11975d20c
--- /dev/null
+++ b/anita_theme_setting/models/anita_mode_template.py
@@ -0,0 +1,107 @@
+# -*- coding: utf-8 -*-
+
+from odoo import models, fields, api, exceptions
+import json
+from odoo.tools import ormcache
+from odoo.tools.misc import file_path
+from odoo.tools.config import config
+
+
+class AnitaModeTemplate(models.Model):
+ '''
+ user theme style setting
+ '''
+ _name = 'anita_theme_setting.mode_template'
+ _description = 'anita Mode Template'
+
+ name = fields.Char(string="Name", required=True)
+ template = fields.Text(string="Template")
+ color_vars = fields.Text(
+ string="Color Vars", help="This is the default var values for this template")
+ template_path = fields.Char(
+ string="Template Path", help="This is the template path of the template")
+
+ _sql_constraints = [('name_unique', 'UNIQUE(name)', "Name Must Be Unique!")]
+
+ @ormcache()
+ def get_templates(self):
+ """
+ get templates
+ :return:
+ """
+ records = self.search([])
+ return {record.name: record for record in records}
+
+ @ormcache('self.id')
+ def get_template(self):
+ """
+ get template
+ :return:
+ """
+ return json.loads(self.template)
+
+ @ormcache('self.id')
+ def get_color_vars(self):
+ """
+ get vars
+ :return:
+ """
+ return json.loads(self.color_vars)
+
+ def refresh_templates(self):
+ """
+ update template content
+ """
+ records = self.search([])
+ for record in records:
+ if record.template_path:
+ tmp_path = file_path(record.template_path.lstrip('/'))
+ with open(tmp_path, 'r') as fd:
+ template = fd.read()
+ record.template = template
+
+ def _register_hook(self):
+ """
+ stuff to do right after the registry is built
+ """
+ if config.get('debug', False):
+ records = self.search([])
+ records.refresh_templates()
+
+ @api.model
+ def install_template(self, name, template_path, theme_mode_paths):
+ """
+ install mode
+ :return:
+ """
+ tmp_path = file_path(template_path.lstrip('/'))
+ if not tmp_path:
+ raise exceptions.ValidationError("Template Path is not valid!")
+
+ with open(tmp_path, 'r') as fd:
+ template = fd.read()
+ if not name:
+ raise exceptions.ValidationError(
+ 'Template {template} must has a name!'.format(template=template_path))
+
+ template_record = self.search([('name', '=', name)])
+ if not template_record:
+ self.create([{
+ "name": name,
+ "template": template,
+ "template_path": template_path
+ }])
+ else:
+ template_record.write({
+ "name": name,
+ "template": template,
+ "template_path": template_path
+ })
+
+ for index, mode_path in enumerate(theme_mode_paths):
+ record = self.env['anita_theme_setting.default_mode_data'].install_mode(
+ mode_path, template_record)
+ if index == 0:
+ template_record.write({
+ "color_vars": record.template_var_vals
+ })
diff --git a/anita_theme_setting/models/anita_res_setting.py b/anita_theme_setting/models/anita_res_setting.py
new file mode 100644
index 000000000..88e510755
--- /dev/null
+++ b/anita_theme_setting/models/anita_res_setting.py
@@ -0,0 +1,109 @@
+# -*- coding: utf-8 -*-
+
+from odoo import api, fields, models
+import base64
+from odoo.tools.mimetypes import guess_mimetype
+from datetime import date, datetime
+
+
+class AnitaUserSetting(models.TransientModel):
+ '''
+ anita user setting
+ '''
+ _inherit = 'res.config.settings'
+
+ theme_setting_mode = fields.Selection(
+ string="theme style mode",
+ config_parameter="anita_theme_setting.theme_setting_mode",
+ selection=[('system', 'system'),
+ ('company', 'company'),
+ ('user', 'user')],
+ default='system')
+
+ allow_debug = fields.Boolean(
+ string="allow debug",
+ config_parameter="anita_theme_setting.allow_debug",
+ default=False)
+
+ window_default_title = fields.Char(
+ string="login title",
+ config_parameter="anita_theme_setting.window_default_title",
+ default="Odoo")
+
+ powered_by = fields.Char(
+ string="powered by",
+ config_parameter="anita_theme_setting.powered_by",
+ default="Odoo")
+
+ @api.model
+ def get_theme_setting_mode(self):
+ '''
+ get theme setting mode
+ :return:
+ '''
+ config = self.env['ir.config_parameter'].sudo()
+ theme_setting_mode = config.get_param(
+ key='anita_theme_setting.theme_setting_mode', default='system')
+ return theme_setting_mode
+
+ def set_values_company_favicon(self):
+ '''
+ set the favicon of company
+ :return:
+ '''
+ company = self.sudo().env['res.company']
+ records = company.search([])
+
+ if len(records) > 0:
+ for record in records:
+ record.write({'favicon': self._set_web_favicon(original=True)})
+
+ return {
+ 'type': 'ir.actions.client',
+ 'tag': 'reload',
+ }
+
+ @api.model
+ def get_login_style(self):
+ '''
+ get login style
+ :return:
+ '''
+ ir_config = self.env['ir.config_parameter'].sudo()
+ login_style = ir_config.get_param(
+ key='anita_theme_setting.login_style', default='login_style1')
+ return login_style
+
+ def get_setting_record(self):
+ '''
+ get setting record
+ :return:
+ '''
+ record = self.env['anita_theme_setting.setting_base'].search([('owner', '=', False)], limit=1)
+ if not record:
+ record = self.env['anita_theme_setting.setting_base'].create({'owner': False})
+ return record
+
+ @api.model
+ def save_theme_setting(self, settings):
+ """
+ save settings
+ """
+ record = self.get_setting_record()
+ record.write(settings)
+
+ @api.model
+ def get_theme_setting(self):
+ """
+ get theme settings
+ """
+ record = self.get_setting_record()
+ result = record.read()[0]
+ result["current_theme_mode"] = record.current_theme_mode.id
+ result["current_theme_style"] = record.current_theme_style.id
+ for key, item in result.items():
+ if isinstance(item, datetime):
+ result[key] = fields.Datetime.to_string(item)
+ if isinstance(item, date):
+ result[key] = fields.Date.to_string(item)
+ return result
diff --git a/anita_theme_setting/models/anita_setting_base.py b/anita_theme_setting/models/anita_setting_base.py
new file mode 100644
index 000000000..2f0a50a0a
--- /dev/null
+++ b/anita_theme_setting/models/anita_setting_base.py
@@ -0,0 +1,133 @@
+# -*- coding: utf-8 -*-
+
+from odoo import models, fields, api
+
+
+class AnitaThemeSettingBase(models.Model):
+ '''
+ anita Setting Base
+ '''
+ _name = 'anita_theme_setting.setting_base'
+ _description = 'Anita Setting Base'
+
+ owner = fields.Reference(
+ string="Owner",
+ selection=[('res.company', 'res.company'),
+ ('res.users', 'res.users')],
+ default=False,
+ help="owner which this theme is create by, if it is false, it mean it is owned to the system!")
+
+ layout_mode = fields.Char(
+ string="Layout Mode",
+ default='Layout1')
+
+ control_panel_mode = fields.Char(
+ string="Control Panel Mode",
+ default='mode1')
+
+ login_style = fields.Char(
+ string="login style",
+ default='login_style1')
+
+ icon_policy = fields.Selection(
+ string="Menu Icon Policy",
+ selection=[
+ ('web_icon', 'web_icon'),
+ ('font_icon', 'font_icon'),
+ ('svg_icon', 'svg_icon')],
+ default='svg_icon')
+
+ current_theme_mode = fields.Many2one(
+ comodel_name='anita_theme_setting.theme_mode',
+ string="Current Theme Mode")
+
+ current_theme_style = fields.Many2one(
+ string="Current Theme Style",
+ comodel_name="anita_theme_setting.theme_style",
+ domain="[('theme_mode', '=', current_theme_mode)]",
+ help="Just use when theme style mode is system")
+
+ dialog_animation_in_style = fields.Char(
+ string="Dialog Animation In Style",
+ default="animate__bounceIn")
+ dialog_animation_out_style = fields.Char(
+ string="Dialog Animation Out Style",
+ compute="_compute_dialog_animation_out_style")
+
+ button_style = fields.Char(
+ string="Button Style",
+ default="style1")
+
+ input_style = fields.Char(
+ string="Input Style",
+ default="style1")
+
+ tab_style = fields.Char(
+ string="Tab Style",
+ default="style1")
+
+ font_name = fields.Char(
+ string="Font Name",
+ default="Roboto", help="Roboto, Helvetica, Verdana, Tahoma, OpenSans, Poppins, NotoSansArabic")
+
+ loading_style = fields.Char(
+ string="Loading Style",
+ default="style1")
+
+ loading_svg = fields.Char(string="Loading SVG", compute="_compute_loading_svg")
+
+ checkbox_style = fields.Char(
+ string="Checkbox Style",
+ default="style1")
+
+ radio_style = fields.Char(
+ string="Radio Style",
+ default="style1")
+
+ separator_style = fields.Char(
+ string="Separator Style",
+ default="style1")
+
+ rtl_mode = fields.Boolean(
+ string="RTL MODE",
+ default=False)
+
+ allow_debug = fields.Boolean(
+ string="Allow Debug",
+ default=True)
+
+ @api.onchange('current_theme_mode')
+ def on_current_theme_mode_change(self):
+ """
+ change the style
+ :return:
+ """
+ if self.current_theme_mode.theme_styles:
+ self.current_theme_style = \
+ self.current_theme_mode.theme_styles[0].id
+ else:
+ self.current_theme_style = False
+
+ @api.depends('loading_style')
+ def _compute_loading_svg(self):
+ """
+ compute loading svg
+ :return:
+ """
+ for rec in self:
+ if rec.loading_style:
+ rec.loading_svg = "/anita_theme_setting/static/loadings/loading_%s.svg" % rec.loading_style
+ else:
+ rec.loading_svg = False
+
+ @api.depends('dialog_animation_in_style')
+ def _compute_dialog_animation_out_style(self):
+ '''
+ compute the dialog animation out style
+ :return:
+ '''
+ for record in self:
+ if record.dialog_animation_in_style:
+ record.dialog_animation_out_style = record.dialog_animation_in_style.replace('In', 'Out')
+ else:
+ record.dialog_animation_out_style = 'animate__bounceOut'
\ No newline at end of file
diff --git a/anita_theme_setting/models/anita_setting_manager.py b/anita_theme_setting/models/anita_setting_manager.py
new file mode 100644
index 000000000..6101740ea
--- /dev/null
+++ b/anita_theme_setting/models/anita_setting_manager.py
@@ -0,0 +1,314 @@
+# -*- coding: utf-8 -*-
+
+from inspect import trace
+from math import fabs
+from odoo import models, api, tools, fields, _
+from odoo.tools.config import config
+import traceback
+import datetime
+from datetime import date, datetime
+
+import logging
+_logger = logging.getLogger(__name__)
+
+
+class AnitaThemeSettingManager(models.AbstractModel):
+ '''
+ user theme style setting
+ '''
+ _name = 'anita_theme_setting.setting_manager'
+ _description = 'theme setting manager'
+
+ def _register_hook(self):
+ """
+ stuff to do right after the registry is built
+ """
+ # check theme mode data
+ try:
+ # check mode data
+ owner = self.get_current_owner()
+ force = False
+ if config.get('debug', False):
+ self.env['anita_theme_setting.default_mode_data'].sudo().refresh_default_mode()
+ force = True
+ self.env["anita_theme_setting.theme_mode"].check_default_mode_data(owner, force)
+ except Exception as e:
+ traceback.print_stack(e)
+ _logger.error(e)
+
+ @api.model
+ def get_user_setting(self, get_style=True):
+ '''
+ get user setting
+ :return:
+ '''
+ rst = dict()
+
+ # just get the setting data
+ theme_setting_mode = \
+ self.env["res.config.settings"].sudo().get_theme_setting_mode()
+
+ # check mode data
+ owner = self.get_current_owner()
+
+ # get the setting data
+ if theme_setting_mode == 'system':
+ theme_settings = self.env["res.config.settings"].get_theme_setting()
+ elif theme_setting_mode == 'company':
+ theme_settings = self.env["res.company"].get_theme_setting()
+ else:
+ theme_settings = self.env["res.users"].get_theme_setting()
+
+ # deal the datetime data
+ for key, item in theme_settings.items():
+ if isinstance(item, datetime):
+ theme_settings[key] = fields.Datetime.to_string(item)
+ if isinstance(item, date):
+ theme_settings[key] = fields.Date.to_string(item)
+
+ all_modes = self.env["anita_theme_setting.theme_mode"].search(
+ [('owner', '=', owner)])
+
+ cur_style_id = theme_settings["current_theme_style"]
+ cur_mode_id = theme_settings["current_theme_mode"]
+
+ theme_mode = self.env["anita_theme_setting.theme_mode"].search(
+ [('id', '=', cur_mode_id)])
+ theme_style = self.env["anita_theme_setting.theme_style"].search(
+ [('id', '=', cur_style_id)])
+ cur_mode_name = theme_mode.name
+
+ if not cur_mode_id \
+ or cur_mode_id not in all_modes.ids:
+ if all_modes:
+ cur_mode_id = all_modes[0].id
+ cur_style_id = all_modes[0].theme_styles[0].id if all_modes[0].theme_styles else False
+ cur_mode_name = all_modes[0].name
+ theme_mode = all_modes[0]
+ theme_style = all_modes[0].theme_styles[0] if all_modes[0].theme_styles else False
+ else:
+ cur_mode_id = False
+ cur_style_id = False
+ cur_mode_name = False
+ theme_mode = self.env["anita_theme_setting.theme_mode"]
+
+ if not cur_style_id:
+ theme_styles = theme_mode.theme_styles
+ theme_style = theme_styles[0] if theme_styles else self.env["anita_theme_setting.theme_style"]
+ cur_style_id = theme_style.id if theme_style else False
+
+ rst['settings'] = theme_settings
+ rst['cur_mode_id'] = cur_mode_id
+ rst['cur_style_id'] = cur_style_id
+
+ # used to set the body class
+ rst['cur_mode_name'] = cur_mode_name
+ rst['theme_setting_mode'] = theme_setting_mode
+
+ rst["window_default_title"] = self.env['ir.config_parameter'].sudo().get_param(
+ "anita_theme_setting.window_default_title", "Odoo")
+ rst["powered_by"] = self.env['ir.config_parameter'].sudo().get_param(
+ "anita_theme_setting.powered_by", "Odoo")
+
+ # check the user is anita
+ rst['is_anita'] = self.env.user._is_admin()
+
+ # add font info
+ font_name = theme_settings.get("font_name", False)
+ if font_name:
+ font_type_css = "*:not(.fa):not(.oi) {font-family: " + font_name + ", sans-serif !important;}"
+ else:
+ font_type_css = ""
+
+ rst['theme_modes'] = self.get_all_mode_data(owner)
+
+ # get the style
+ if get_style:
+ if theme_style:
+ style_datas = [font_type_css]
+ if theme_style:
+ style_datas += theme_style.get_styles_txt()
+
+ style_txt = '\n'.join(style_datas)
+ rst['style_txt'] = style_txt
+
+ if not theme_style.background_image:
+ # get from theme mode
+ rst['mode_style_css'] = theme_mode.get_mode_style_css()
+ else:
+ # get from style
+ rst['mode_style_css'] = theme_style.get_mode_style_css()
+
+ else:
+ rst['style_txt'] = ""
+ rst['mode_style_css'] = ""
+
+ return rst
+
+ @api.model
+ def get_font_link(self):
+ """
+ get font link
+ :return:
+ """
+ theme_settings = self.get_theme_setting()
+ result = ""
+ if theme_settings.get('font_name', False):
+ result = '/anita_theme_setting/static/fonts/{font_name}/fonts.css'.format(font_name=theme_settings.get('font_name'))
+ return result
+
+ @api.model
+ def get_theme_setting(self):
+ """
+ get theme setting
+ :return:
+ """
+ # just get the setting data
+ theme_setting_mode = \
+ self.env["res.config.settings"].sudo().get_theme_setting_mode()
+
+ if theme_setting_mode == 'system':
+ theme_settings = self.env["res.config.settings"].get_theme_setting()
+ elif theme_setting_mode == 'company':
+ theme_settings = self.env["res.company"].get_theme_setting()
+ else:
+ theme_settings = self.env["res.users"].get_theme_setting()
+
+ return theme_settings
+
+ @api.model
+ def get_font_name(self):
+ """
+ get font name
+ """
+ theme_settings = self.get_theme_setting()
+ return theme_settings.get('font_name')
+
+ @api.model
+ def update_cur_style(self, mode_id, style_id):
+ '''
+ update user cur mode
+ :return:
+ '''
+ ir_config = self.env['ir.config_parameter'].sudo()
+ setting_mode = self.env["res.config.settings"].get_theme_setting_mode()
+ if setting_mode == "system":
+ ir_config.set_param("anita_theme_setting.current_theme_mode", mode_id)
+ ir_config.set_param("anita_theme_setting.current_theme_style", style_id)
+ elif setting_mode == "company":
+ company = self.env.user.company_id
+ company.setting_id.current_theme_mode = mode_id
+ company.setting_id.current_theme_style = style_id
+ elif setting_mode == "user":
+ user_id = self.env.user.id
+ user = self.env["res.users"].browse(user_id)
+ user.setting_id.current_theme_mode = mode_id
+ user.setting_id.current_theme_style = style_id
+ else:
+ assert False
+
+ @api.model
+ def save_style_data(self, style_id, style_data, owner):
+ '''
+ save style datas
+ :param style_id:
+ :param style_data:
+ :param owner:
+ :return:
+ '''
+ theme_style = self.env["anita_theme_setting.theme_style"].browse(style_id)
+ theme_style.ensure_one()
+
+ theme_mode = theme_style.theme_mode
+ # save current style just when type is same
+ mode_id = theme_mode.id
+ if owner:
+ if owner.startswith('res.users'):
+ parts = owner.split(',')
+ user = self.env["res.users"].browse(int(parts[1].strip()))
+ if user:
+ user.ensure_setting_id()
+ user.setting_id.current_theme_mode = mode_id
+ user.setting_id.current_theme_style = style_id
+ elif owner.startswith('res.company'):
+ parts = owner.split(',')
+ company = self.env["res.company"].browse(int(parts[1].strip()))
+ if company:
+ company.ensure_setting_id()
+ company.setting_id.current_theme_mode = mode_id
+ company.setting_id.current_theme_style = style_id
+ else:
+ system_setting = self.env["res.config.settings"].get_setting_record()
+ system_setting.current_theme_mode = mode_id
+ system_setting.current_theme_style = style_id
+
+ # as the image is direct change from database so not need to update it
+ var_infos = theme_style.mapped('groups.sub_groups.style_items.vars')
+ var_cache = {var_info.id: var_info for var_info in var_infos}
+ for data in style_data:
+ var_id = data["id"]
+ tmp_var = var_cache[var_id]
+ tmp_var.write({
+ "color": data.get('color', False)
+ })
+
+ if theme_style.background_image:
+ mode_style_cs = theme_style.get_mode_style_css()
+ else:
+ mode_style_cs = theme_mode.get_mode_style_css()
+
+ # return the style data
+ return {
+ 'theme_style': theme_style.get_style(),
+ 'mode_style_css': mode_style_cs
+ }
+
+ def get_current_owner(self):
+ """
+ get current owner
+ :return:
+ """
+ theme_setting_mode = \
+ self.env["res.config.settings"].sudo().get_theme_setting_mode()
+
+ # check mode data
+ owner = False
+ if theme_setting_mode == 'system':
+ owner = False
+ elif theme_setting_mode == 'company':
+ owner = 'res.company, {company_id}'.format(
+ company_id=self.env.user.company_id.id)
+ elif theme_setting_mode == 'user':
+ owner = 'res.users, {user_id}'.format(user_id=self.env.user.id)
+
+ return owner
+
+ @tools.ormcache('owner')
+ @api.model
+ def get_all_mode_data(self, owner):
+ """
+ get all mode data
+ """
+ all_modes = self.env["anita_theme_setting.theme_mode"].search([('owner', '=', owner)])
+ result = []
+ for mode in all_modes:
+ result.append(mode.get_mode_data()[0])
+ return result
+
+ @api.model
+ def save_settings(self, settings):
+ """
+ save the settings
+ """
+ # get the setting mode
+ setting_mode = self.env["res.config.settings"].get_theme_setting_mode()
+ if setting_mode == "system":
+ self.env["res.config.settings"].save_theme_setting(settings)
+ elif setting_mode == "company":
+ self.env["res.company"].save_theme_setting(settings)
+ elif setting_mode == "user":
+ self.env["res.users"].save_theme_setting(settings)
+ else:
+ assert False
+
+ return self.get_theme_setting()
diff --git a/anita_theme_setting/models/anita_template_var_vals.py b/anita_theme_setting/models/anita_template_var_vals.py
new file mode 100644
index 000000000..2127efc98
--- /dev/null
+++ b/anita_theme_setting/models/anita_template_var_vals.py
@@ -0,0 +1,21 @@
+# -*- coding: utf-8 -*-
+
+from odoo import models, fields, api, exceptions
+import json
+from odoo.tools import ormcache
+
+
+class AnitaTemplateVarVal(models.Model):
+ '''
+ user theme style setting
+ '''
+ _name = 'anita_theme_setting.template_var_val'
+ _description = 'anita Mode Template'
+
+ theme_mode = fields.Many2one(string="Theme Mode", comodel_name="anita_theme_setting.theme_mode")
+ name = fields.Char(string="Name", required=True)
+ group = fields.Char(string="Group", required=True)
+ value = fields.Char(string="Value", required=True)
+ disable_opacity = fields.Boolean(string="Disable Opacity", default=False)
+ description = fields.Char(string="Description")
+
diff --git a/anita_theme_setting/models/anita_theme_mode.py b/anita_theme_setting/models/anita_theme_mode.py
new file mode 100644
index 000000000..51be64b27
--- /dev/null
+++ b/anita_theme_setting/models/anita_theme_mode.py
@@ -0,0 +1,588 @@
+# -*- coding: utf-8 -*-
+
+from odoo import models, fields, api, exceptions, tools
+import json
+import re
+from odoo.tools.misc import file_path
+from odoo.tools.config import config
+from .anita_utility import apply_alpha
+
+try:
+ import sass as libsass
+except ImportError:
+ libsass = None
+
+import logging
+_logger = logging.getLogger(__name__)
+
+
+class AnitaThemeMode(models.Model):
+ '''
+ user theme style setting
+ '''
+ _name = 'anita_theme_setting.theme_mode'
+ _description = 'anita theme mode'
+
+ name = fields.Char(string="Name", required=True)
+ sequence = fields.Integer(string="Mode Sequence", default=0)
+
+ theme_styles = fields.One2many(
+ string="Theme Styles",
+ comodel_name="anita_theme_setting.theme_style",
+ inverse_name="theme_mode")
+
+ mode_template = fields.Many2one(
+ comodel_name="anita_theme_setting.mode_template",
+ string="Mode Template")
+
+ template_var_vals = fields.One2many(
+ comodel_name="anita_theme_setting.template_var_val",
+ inverse_name="theme_mode",
+ string="Template Vars")
+
+ # if owner is False, so the style own to global
+ owner = fields.Reference(
+ string="Owner",
+ selection=[('res.company', 'res.company'),
+ ('res.users', 'res.users')],
+ default=False,
+ help="owner which this theme is create by, if it is false, it mean it is owned to the system!")
+ mode_style_css = fields.Text(string="Mode Style Css")
+ compiled_mode_style_css = fields.Text(string="Compiled mode style css")
+
+ is_default = fields.Boolean(string="Is Default", default=False)
+ version = fields.Char(
+ string="Version", help="use version to check update or not")
+
+ _sql_constraints = [('theme_mode_name_unique', 'UNIQUE(name, owner)',
+ "Theme mode name and owner must unique")]
+
+ def get_mode_preview_data(self, style_id=False):
+ """
+ get mode preview data
+ :return:
+ """
+ if self.mode_template:
+ if style_id:
+ theme_style = self.env['anita_theme_setting.theme_style'].browse(
+ style_id)
+ if theme_style.is_semi_transparent():
+ result = theme_style.get_mode_style_css()
+ else:
+ result = self.get_mode_style_css()
+ else:
+ result = self.get_mode_style_css()
+ else:
+ result = ""
+
+ mode_name = 'body.{name}'.format(name=self.name)
+ # replace mode_name with body.preview
+ result = result.replace(mode_name, 'body.preview')
+ return result
+
+ @api.onchange('mode_template')
+ def on_mode_template_changed(self):
+ """
+ compute mode style
+ :return:
+ """
+ # check id is instance of NewId
+ if self.mode_template:
+ scss_vars = self.mode_template.get_color_vars()
+ template_var_vals = [(5, 0, 0)]
+ for group_name in scss_vars:
+ var_items = scss_vars[group_name]
+ for var_item in var_items:
+ template_var_vals.append((0, 0, {
+ "name": var_item["name"],
+ "group": group_name,
+ "value": var_item["value"],
+ "disable_opacity": var_item.get("disable_opacity", False),
+ "description": var_item["description"]
+ }))
+ self.template_var_vals = template_var_vals
+ else:
+ self.template_var_vals = [(5, 0, 0)]
+
+ def check_template_vars(self):
+ """
+ check style css
+ :return:
+ """
+ return
+
+ @tools.ormcache('self.id')
+ def get_scss_vars_cache(self):
+ """
+ get scss vars
+ :return:
+ """
+ records = self.template_var_vals.read(['name', 'value'])
+ return {record['name']: record['value'] for record in records}
+
+ @tools.ormcache('self.id')
+ def get_scss_var_record_cache(self):
+ """
+ get scss vars
+ :return:
+ """
+ records = self.template_var_vals
+ return {record.name: {
+ "name": record.name,
+ "value": record.value,
+ "disable_opacity": record.disable_opacity,
+ } for record in records}
+
+ def _compile_scss(self, alpha=False):
+ """
+ This code will compile valid scss into css.
+ Simply copied and adapted slightly
+ """
+ self.ensure_one()
+ scss_source = self.mode_template.template
+
+ scss_vars = []
+ var_val_cache = self.get_scss_var_record_cache()
+ for var_name in var_val_cache:
+ var_record = var_val_cache[var_name]
+ name = var_record.get("name")
+ if alpha and alpha < 1:
+ color = apply_alpha(var_record.get('name'), var_record.get('value'), alpha)
+ else:
+ color = var_record.get('value')
+ # new color
+ scss_vars.append('{name}: {value};'.format(
+ name=name, value=color))
+ # origin color, some element disable alpha
+ scss_vars.append('{name}: {value};'.format(
+ name=name.replace('$', '$_'), value=var_record.get('value')))
+
+ precision = 8
+ output_style = 'expanded'
+
+ bootstrap_scss_path = file_path('web/static/lib/bootstrap/scss')
+
+ mode_selectors = "$mode_selectors: 'body.{name}';".format(name=self.name)
+ extra_vars = [
+ mode_selectors,
+ "$compile_normal: 1;",
+ "$semi_transparent: {semi_trans};".format(semi_trans=True if alpha < 1.0 else False),
+ ]
+
+ total_vars = extra_vars + scss_vars
+ normal_source = '\n'.join(total_vars) + '\n' + scss_source if scss_source else ''
+
+ # compile normal
+ results = []
+ try:
+ result = libsass.compile(
+ string=normal_source,
+ include_paths=[bootstrap_scss_path],
+ output_style=output_style,
+ precision=precision)
+ # remove the import bootstrap
+ index = result.find("body.{name}".format(name=self.name))
+ result = result[index:]
+ results.append(result)
+ except libsass.CompileError as e:
+ _logger.error(e.args[0])
+
+ # compile for background
+ if alpha < 1.0:
+ scss_vars = []
+ for var_name in var_val_cache:
+ var_record = var_val_cache[var_name]
+ name = var_record.get("name")
+ # new color
+ scss_vars.append('{name}: {value};'.format(name=name, value=var_record.get('value')))
+ # origin color
+ scss_vars.append('{name}: {value};'.format(name=name.replace('$', '$_'), value=var_record.get('value')))
+
+ mode_selectors = "$mode_selectors: 'body.{name} .o_dialog_container';".format(name=self.name)
+ extra_vars = [
+ mode_selectors,
+ "$compile_normal: 0;",
+ "$semi_transparent: {semi_trans};".format(semi_trans=1 if alpha < 1.0 else 0),
+ ]
+ total_vars = extra_vars + scss_vars
+ normal_source = '\n'.join(total_vars) + '\n' + str(scss_source)
+ try:
+ result = libsass.compile(
+ string=normal_source,
+ include_paths=[bootstrap_scss_path],
+ output_style=output_style,
+ precision=precision)
+ # remove the import bottstrap
+ index = result.find('body.{name} .o_dialog_container'.format(name=self.name))
+ result = result[index:]
+ results.append(result)
+ except libsass.CompileError as e:
+ _logger.error(e.args[0])
+
+ return '\n'.join(results)
+
+ @api.model
+ def compute_mode_style_url(self):
+ """
+ compute mode style url
+ :return:
+ """
+ for record in self:
+ record.mode_style_url = \
+ '/web/image/anita_theme_setting.anita_theme_setting/{var_id}/icon128x128'.format(
+ var_id=record.id)
+
+ def get_default_mode_style_text(self, theme_mode_info):
+ """
+ get default mode data
+ :return:
+ """
+ if self.name == 'normal':
+ return
+
+ color_vars = theme_mode_info["template_vars"]
+ mode_template = theme_mode_info["mode_template"]
+ if not mode_template:
+ raise exceptions.ValidationError('Can not find the theme template!')
+
+ template = mode_template.template
+ # css template data
+ template = template.replace('$mode_name', self.name)
+
+ # replace the var
+ for var_nam in color_vars:
+ template = str(template).replace(var_nam, color_vars[var_nam])
+
+ return template
+
+ @api.model
+ def check_default_mode_data(self, owner=False, force = False):
+ '''
+ check default mode data
+ :return:
+ '''
+ modes = self.search([('owner', '=', owner)])
+ olde_mode_cache = {mode.name: mode for mode in modes}
+
+ default_modes = \
+ self.env["anita_theme_setting.default_mode_data"].search([])
+
+ # create new mode if the mode do not exits
+ for default_mode in default_modes:
+
+ if not default_mode.data:
+ continue
+
+ # need to reload the mode data
+ mode_data = default_mode.get_mode_data()
+ if default_mode.name not in olde_mode_cache:
+ mode_data["name"] = default_mode["name"]
+
+ # create new mode use the mode data
+ record = self.create_mode(mode_data, owner)
+ if not record.mode_template:
+ continue
+
+ # check the templates
+ templates = self.env["anita_theme_setting.mode_template"].get_templates(
+ )
+ template = mode_data.get('mode_template', False)
+ if template and template not in templates:
+ raise exceptions.ValidationError(
+ '{template} do not exits!'.format(template=mode_data["template"]))
+
+ template = templates[mode_data["mode_template"]]
+ record.mode_template = template.id
+
+ # check vars are defined in the template vars
+ record.check_template_vars()
+ else:
+ # check version, if the version is different
+ mode = olde_mode_cache[default_mode.name]
+ if force or mode.version != mode_data["version"]:
+ # update template vars
+ temlate_var_vals = mode_data["template_var_vals"]
+ mode.update_template_var_values(temlate_var_vals)
+ # update template
+ mode_templates = self.env["anita_theme_setting.mode_template"].get_templates(
+ )
+ if mode_data.get("mode_template", False):
+ template_name = mode_data["mode_template"]
+ mode.mode_template = \
+ mode_templates.get(template_name, False)
+ mode.version = mode_data["version"]
+ mode.check_mode_data()
+ # recompile the template
+ mode.compiled_mode_style_css = False
+
+ # unlink the invalid mode
+ for default_mode in default_modes:
+ if not default_mode.data:
+ default_mode.unlink()
+
+ def create_mode(self, mode_config, owner=False, is_default=True):
+ '''
+ create mode
+ :param mode style txt:
+ :param mode_data:
+ :param owner:
+ :param is_default:
+ :return:
+ '''
+ mode_templates = \
+ self.env["anita_theme_setting.mode_template"].get_templates()
+ mode_template = mode_config.get('mode_template', False)
+ if mode_template and mode_template not in mode_templates:
+ raise exceptions.ValidationError('Can not find mode template {mode_template}'.format(
+ mode_template=mode_template))
+
+ # convert to cache data
+ template_var_vals = mode_config.get('template_var_vals', {})
+ var_val_cache = {}
+ for group in template_var_vals:
+ var_items = template_var_vals[group]
+ for var_item in var_items:
+ var_val_cache[var_item["name"]] = var_item["value"]
+
+ theme_styles = mode_config['theme_styles']
+ theme_style_array = []
+ for theme_style in theme_styles:
+ groups = theme_style["groups"]
+ group_datas = []
+ for group_index, var_items in enumerate(groups):
+ sub_groups = var_items["sub_groups"]
+ sub_group_array = []
+ for sub_group_index, sub_group in enumerate(sub_groups):
+ # create sub group
+ item_array = []
+ style_items = sub_group["style_items"]
+ for item_index, style_item in enumerate(style_items):
+ var_val_array = []
+ var_infos = style_item["vars"]
+ for var_index, var_info in enumerate(var_infos):
+ color = var_info.get("color", False)
+ ref_var = var_info.get("ref_var", False)
+ if ref_var:
+ if ref_var not in var_val_cache:
+ color = False
+ _logger.info(
+ "Can not find ref var {ref_var}".format(ref_var=ref_var))
+ else:
+ color = var_val_cache[ref_var]
+
+ var_val_array.append((0, 0, {
+ "name": var_info["name"],
+ "type": var_info["type"],
+ "sequence": var_index,
+ "is_default": is_default,
+ "color": color,
+ "image": var_info.get('image', False),
+ "image_url": var_info.get('image_url', False),
+ "svg": var_info.get('svg', False),
+ "identity": var_info.get('identity', False)
+ }))
+
+ item_array.append((0, 0, {
+ "name": style_item["name"],
+ "is_default": is_default,
+ "sequence": item_index,
+ "val_template": style_item["val_template"],
+ "sub_group": sub_group["name"],
+ "vars": var_val_array,
+ "selectors": json.dumps(style_item["selectors"])
+ }))
+
+ sub_group_array.append((0, 0, {
+ "name": sub_group["name"],
+ "sequence": sub_group_index,
+ "style_items": item_array,
+ "is_default": is_default
+ }))
+
+ group_datas.append((0, 0, {
+ "name": var_items["name"],
+ "sequence": group_index,
+ "is_default": is_default,
+ "sub_groups": sub_group_array
+ }))
+
+ theme_style_array.append((0, 0, {
+ "name": theme_style["name"],
+ "is_default": is_default,
+ "groups": group_datas
+ }))
+
+ vals = []
+ template_var_vals = mode_config.get('template_var_vals', {})
+ for group_name in template_var_vals:
+ var_items = template_var_vals[group_name]
+ for var_item in var_items:
+ vals.append((0, 0, {
+ "name": var_item["name"],
+ "group": group_name,
+ "value": var_item["value"],
+ "disable_opacity": var_item.get("disable_opacity", False),
+ "description": var_item["description"]
+ }))
+
+ mode_template = mode_config.get("mode_template", False)
+ return self.env["anita_theme_setting.theme_mode"].create([{
+ "name": mode_config["name"],
+ "theme_styles": theme_style_array,
+ "is_default": is_default,
+ "version": mode_config["version"],
+ "mode_template": mode_templates[mode_template].id if mode_template else False,
+ "owner": owner,
+ "template_var_vals": vals
+ }])
+
+ def get_mode_data(self):
+ '''
+ get the mode data
+ :return:
+ '''
+ self.ensure_theme_style()
+ rst = []
+ for record in self:
+ tmp_data = record.read(
+ ['name', 'is_default', 'sequence', 'version'])[0]
+ tmp_data['theme_styles'] = record.theme_styles.get_styles()
+ rst.append(tmp_data)
+ return rst
+
+ def delete_mode(self):
+ """
+ delete the mode
+ :return:
+ """
+ self.unlink()
+
+ def check_style_css(self):
+ """
+ check style css
+ :return:
+ """
+ if self.mode_template and not self.compiled_mode_style_css:
+ self.compiled_mode_style_css = self._compile_scss()
+
+ def update_template_var_values(self, template_var_vals):
+ """
+ update template var values
+ :param temlate_var_vals:
+ :return:
+ """
+ self.ensure_one()
+ vals = [(5, 0, 0)]
+ for group_name in template_var_vals:
+ var_items = template_var_vals[group_name]
+ for var_item in var_items:
+ vals.append((0, 0, {
+ "name": var_item["name"],
+ "group": group_name,
+ "value": var_item["value"],
+ "description": var_item.get("description")
+ }))
+ self.template_var_vals = vals
+
+ def get_mode_style_css(self):
+ """
+ get mode style css
+ """
+ if config.get('debug', False) or not self.compiled_mode_style_css:
+ self.compiled_mode_style_css = self._compile_scss()
+
+ return self.compiled_mode_style_css
+
+ def check_mode_data(self):
+ '''
+ check the mode data
+ :return:
+ '''
+ self.ensure_one()
+
+ default_modes = self.env[
+ "anita_theme_setting.default_mode_data"].search([])
+ default_mode_cache = {
+ default_mode.name: default_mode for default_mode in default_modes}
+
+ mode_name = self.name
+ if mode_name not in default_mode_cache:
+ return
+
+ theme_styles = self.theme_styles
+ theme_style_cache = {
+ theme_style.name: theme_style for theme_style in theme_styles if theme_style.is_default}
+
+ default_mode = default_mode_cache[mode_name]
+ default_mode_data = default_mode.get_mode_data()
+
+ theme_styles = default_mode_data['theme_styles']
+ for theme_style in theme_styles:
+ # create new style
+ style_name = theme_style['name']
+ if style_name not in theme_style_cache:
+ self.env["anita_theme_setting.theme_style"].create_style(
+ self.id, theme_style)
+ else:
+ # check the style data, may be one more style with the same name
+ tmp_style = theme_style_cache[style_name]
+ tmp_style.check_groups(default_mode, theme_style["groups"])
+
+ def get_mode_edit_action(self, style_id):
+ """
+ get theme mode edit action
+ """
+ self.ensure_one()
+ form_id = self.env.ref("anita_theme_setting.edit_theme_mode_form").id
+
+ var_vals = []
+ for var_val in self.template_var_vals:
+ var_vals.append((0, 0, {
+ "name": var_val.name,
+ "group": var_val.group,
+ "value": var_val.value,
+ "disable_opacity": var_val.disable_opacity,
+ "description": var_val.description
+ }))
+
+ return {
+ "type": "ir.actions.act_window",
+ "res_model": "anita_theme_setting.theme_mode",
+ "views": [[form_id, "form"]],
+ "res_id": self.id,
+ "view_mode": "form",
+ "target": "new",
+ "context": {
+ "default_name": self.name,
+ "default_mode_template": self.mode_template.id,
+ "sequnce": self.sequence,
+ "template_var_vals": var_vals,
+ "default_style_id": style_id
+ }
+ }
+
+ @api.model
+ def get_new_mode_action(self):
+ """
+ get create new mode action
+ """
+ form_id = self.env.ref("anita_theme_setting.new_theme_mode_form").id
+ return {
+ "type": "ir.actions.act_window",
+ "res_model": "anita_theme_setting.theme_mode",
+ "views": [[form_id, "form"]],
+ "view_mode": "form",
+ "target": "new"
+ }
+
+ def ensure_theme_style(self):
+ """
+ create a empty theme style
+ """
+ if not self.theme_styles:
+ self.env["anita_theme_setting.theme_style"].create_style(
+ self.id, {
+ "name": "style1",
+ "is_default": False,
+ "groups": []
+ })
\ No newline at end of file
diff --git a/anita_theme_setting/models/anita_theme_style.py b/anita_theme_setting/models/anita_theme_style.py
new file mode 100644
index 000000000..ebfa11385
--- /dev/null
+++ b/anita_theme_setting/models/anita_theme_style.py
@@ -0,0 +1,506 @@
+# -*- coding: utf-8 -*-
+
+from odoo import models, fields, api, _, exceptions, tools
+import json
+import base64
+from odoo.tools.config import config
+from .anita_utility import apply_alpha
+import traceback
+
+import logging
+_logger = logging.getLogger(__name__)
+
+
+class AnitaThemeStyle(models.Model):
+ '''
+ Theme style
+ '''
+ _name = 'anita_theme_setting.theme_style'
+ _description = 'awesome theme style'
+ _order = 'sequence asc, id asc'
+
+ name = fields.Char(string="style name", required=True)
+ theme_mode = fields.Many2one(
+ comodel_name="anita_theme_setting.theme_mode",
+ string="theme mode",
+ ondelete="cascade")
+ mode_css = fields.Text(string="mode style scss")
+ style_css = fields.Text(string="style css")
+
+ is_default = fields.Boolean(string="is default", default=False)
+
+ background_image = fields.Binary(string="background image")
+ opacity = fields.Float(string="opacity", default=1.0)
+
+ owner = fields.Reference(
+ string="owner",
+ selection=[
+ ('res.company', 'res.company'),
+ ('res.users', 'res.users')],
+ default=False,
+ help="Owner which this theme is create by")
+
+ sequence = fields.Integer(string="style sequence", default=0)
+
+ groups = fields.One2many(
+ string="Groups",
+ comodel_name="anita_theme_setting.style_item_group",
+ inverse_name="theme_style")
+
+ side_bar_style = fields.Selection(
+ string="side bar style",
+ selection=[
+ ('style1', 'style1'),
+ ('style2', 'style2'),
+ ('style3', 'style3')])
+
+ sidebar_width = fields.Integer(string="sidebar width", default=80)
+ sidebar_menu_width = fields.Integer(
+ string="sidebar menu width", default=220)
+
+ @tools.ormcache('self.id')
+ def get_style(self):
+ '''
+ get simple style data
+ :return:
+ '''
+ self.ensure_one()
+ result = self.read(['id', 'name', 'is_default'])[0]
+ result["groups"] = self.groups.get_group_data()
+ result["theme_mode"] = self.theme_mode.name
+ # get background image ulr
+ if self.background_image:
+ result["background_image"] = self.get_background_image_url()
+ else:
+ result["background_image"] = False
+ result["opacity"] = self.opacity
+ identities = dict()
+ groups = result["groups"]
+ # collect identity
+ for group in groups:
+ sub_groups = group["sub_groups"]
+ for sub_group in sub_groups:
+ style_items = sub_group["style_items"]
+ for item in style_items:
+ if not item["vars"]:
+ continue
+ # collect the identity
+ var_infos = item["vars"]
+ for var in var_infos:
+ if var.get('identity', False):
+ if self.is_semi_transparent():
+ identities[var['identity']] = apply_alpha(var['name'], var['color'], self.opacity, var.get('color_type'))
+ else:
+ identities[var['identity']] = var['color']
+
+ result["identities"] = identities
+ return result
+
+ def get_styles(self):
+ '''
+ get mode datas
+ :return:
+ '''
+ results = []
+ for record in self:
+ results.append(record.get_style())
+ return results
+
+ def _get_style_data(self):
+ '''
+ get mode datas
+ :return:
+ '''
+ self.ensure_one()
+ results = []
+ result = self.read(['name', 'is_default', 'sequence'])[0]
+ if self.background_image:
+ result["background_image"] = self.get_background_image_url()
+ result["groups"] = self.groups.get_group_data()
+ results.append(result)
+ return results
+
+ def get_styles_txt(self):
+ '''
+ get style txt
+ :return:
+ '''
+ self.ensure_one()
+
+ mode_prefix = 'body.' + self.theme_mode.name + ' '
+ result = []
+ groups = self.groups
+ for group in groups:
+ for sub_group in group.sub_groups:
+ style_items = sub_group.style_items
+ for style_item in style_items:
+ val = style_item.val
+
+ # if the val is same as the ref var, then ignore it
+ if not val or val == "" or not style_item.selectors:
+ continue
+
+ try:
+ selector = mode_prefix + \
+ ','.join(json.loads(style_item["selectors"]))
+ tmp_txt = selector + " {" + val + "}"
+ result.append(tmp_txt)
+ except Exception as error:
+ traceback.print_stack(e)
+ _logger.info(error)
+
+ # append the background image
+ if self.background_image:
+ background_image_url = self.get_background_image_url()
+ if background_image_url:
+ result.append(
+ mode_prefix + " {background-image: url('" +
+ background_image_url + "') !important;")
+
+ return result
+
+ def is_semi_transparent(self):
+ '''
+ is semi transparent
+ :return:
+ '''
+ self.ensure_one()
+ return self.opacity < 1.0
+
+ def get_mode_style_css(self):
+ '''
+ get mode styles
+ :return:
+ '''
+ self.ensure_one()
+
+ if not self.is_semi_transparent():
+ return self.theme_mode.get_mode_style_css()
+ else:
+ if config.get('debug', False) or not self.mode_css:
+ self.mode_css = self.theme_mode._compile_scss(self.opacity or 1)
+ return self.mode_css
+
+ def _compute_var_val(self, style_item_info):
+ '''
+ compute the val, use by the
+ :return:
+ '''
+ self.ensure_one()
+
+ background_image = self.background_image
+ scss_var_cache = self.theme_mode.get_scss_vars_cache()
+ opacity = self.opacity
+ vars_cache = dict()
+ all_color = True
+ all_ref = True
+ all_same = True
+ for var in style_item_info.get('vars', []):
+ name = var.get('name', False)
+ type = var.get('type', False)
+ if type == 'color':
+ # check if has opacity
+ color = var.get('color')
+ ref_var = var.get('ref_var', False)
+ if ref_var:
+ ref_color = scss_var_cache[ref_var]
+ if ref_color != color:
+ all_same = False
+ else:
+ all_ref = False
+
+ try:
+ if background_image:
+ if not var.get('disable_opacity', False):
+ color = apply_alpha(name, color, opacity, var.get('color_type'))
+ except Exception as e:
+ traceback.print_stack(e)
+ _logger.error("apply alpha error {e}".format(e=e))
+ vars_cache[name] = color
+ elif var.type == 'image':
+ vars_cache[name] = var.get('image_file_url')
+ all_color = False
+ elif var.type == 'image_url':
+ vars_cache[name] = var.get('image_url')
+ all_color = False
+ else:
+ vars_cache[name] = var.get('svg')
+ all_color = False
+
+ # if all the color are the original color, them ignore it
+ if all_color and all_ref and all_same:
+ style_item_info['val'] = False
+ else:
+ try:
+ val_template = style_item_info.get('val_template', False)
+ style_item_info['val'] = val_template.format(**vars_cache)
+ except Exception as error:
+ style_item_info['val'] = False
+ traceback.print_stack(e)
+ _logger.info('parse var value error, item name {item_name}->{error}'.format(
+ item_name=style_item_info['name'], error=error))
+
+ def post_deal_preview_data(self, style_item_infos, font_info, preview = False):
+ '''
+ get mode datas
+ :return:
+ '''
+ self.ensure_one()
+
+ if preview:
+ mode_prefix = 'body.preview '
+ else:
+ mode_prefix = 'body.' + self.theme_mode.name + ' '
+
+ result = [font_info]
+ groups = self.groups
+ for group in groups:
+ for sub_group in group.sub_groups:
+ style_items = sub_group.style_items
+ for style_item in style_items:
+ if str(style_item.id) not in style_item_infos:
+ val = style_item.val
+ if val == "":
+ continue
+ if not style_item.selectors:
+ continue
+ try:
+ selector = mode_prefix + \
+ ','.join(json.loads(style_item["selectors"]))
+ tmp_txt = selector + " {" + val + "}"
+ result.append(tmp_txt)
+ except Exception as error:
+ traceback.print_stack(e)
+ _logger.info(error)
+ else:
+ style_item = style_item_infos[str(style_item.id)]
+
+ # compute the val
+ self._compute_var_val(style_item)
+ val = style_item.get('val', False)
+
+ # if the val is same as the ref var, then ignore it
+ selectors = style_item.get('selectors', False)
+ if not val or val == "" or not selectors:
+ continue
+
+ try:
+ # check selector is a array
+ if not isinstance(selectors, list):
+ selectors = [selectors]
+ selector = mode_prefix + ','.join(selectors)
+ tmp_txt = selector + " {" + val + "}"
+ result.append(tmp_txt)
+ except Exception as error:
+ traceback.print_stack(error)
+ _logger.info(error)
+
+ # append the background image
+ if self.background_image:
+ background_image_url = self.get_background_image_url()
+ if background_image_url:
+ result.append(
+ mode_prefix + " {background-image: url('" +
+ background_image_url + "') !important;")
+
+ return "\n".join(result)
+
+ @api.model
+ def delete_style(self, style_id):
+ '''
+ delete styel of user
+ :return:
+ '''
+ record = self.search([('id', '=', style_id)])
+ record.unlink()
+
+ def check_groups(self, default_mode, groups):
+ '''
+ check the style group
+ :param groups:
+ :return:
+ '''
+ self.ensure_one()
+
+ new_group_cache = {group["name"]: group for group in groups}
+ old_group_cache = {group.name: group for group in self.groups}
+
+ for group_index, name in enumerate(new_group_cache):
+ default_group = new_group_cache[name]
+ if name not in old_group_cache:
+ self.env['anita_theme_setting.style_item_group']\
+ .create_group_from_default_data(self, default_group, group_index)
+ else:
+ # update the style item
+ tmp_group = old_group_cache[name]
+ tmp_group.write({
+ "name": name,
+ "is_default": True,
+ "sequence": group_index,
+ })
+ # check group item data
+ sub_group_items = default_group["sub_groups"]
+ tmp_group.check_sub_group(default_mode, sub_group_items)
+
+ # delete the style item
+ for tmp_group_name in old_group_cache:
+ if tmp_group_name not in new_group_cache \
+ and old_group_cache[tmp_group_name].is_default:
+ old_group_cache[tmp_group_name].unlink()
+
+ def create_style(
+ self, model_id, style_data, owner=False, is_default=True):
+ '''
+ create theme style from default info
+ :return:
+ '''
+ default_groups = style_data['groups']
+ mode = self.env['anita_theme_setting.theme_mode'].browse(model_id)
+ scss_vars_cache = mode.get_scss_vars_cache()
+
+ group_datas = []
+ for group_index, group in enumerate(default_groups):
+ sub_groups = group["sub_groups"]
+ sub_group_array = []
+ for sub_group_index, sub_group in enumerate(sub_groups):
+
+ style_items = sub_group["style_items"]
+ style_item_datas = []
+ for style_item_index, style_item in enumerate(style_items):
+ selectors = json.dumps(style_item['selectors'])
+ var_vals = []
+ var_infos = style_item['vars']
+ for var_info in var_infos:
+ ref_var = var_info.get('ref', False)
+ if ref_var:
+ if ref_var in scss_vars_cache:
+ raise exceptions.ValidationError(
+ _("The variable %s has been used") % ref_var)
+ else:
+ color = scss_vars_cache[ref_var]
+ else:
+ color = var_info.get('color', False)
+
+ var_vals.append((0, 0, {
+ "name": var_info["name"],
+ "is_default": is_default,
+ "type": var_info["type"],
+ "color": color,
+ "image": var_info.get('image', False),
+ "image_url": var_info.get('image_url', False),
+ "svg": var_info.get('svg', False),
+ "identity": var_info.get('identity', False)
+ }))
+
+ tmp_style_item = dict()
+ tmp_style_item['selectors'] = selectors
+ tmp_style_item['sequence'] = style_item_index
+ tmp_style_item['name'] = style_item["name"]
+ tmp_style_item["is_default"] = is_default
+ tmp_style_item["val_template"] = style_item["val_template"]
+ tmp_style_item["vars"] = var_vals
+
+ style_item_datas.append((0, 0, tmp_style_item))
+
+ sub_group_array.append((0, 0, {
+ "name": sub_group["name"],
+ "sequence": sub_group_index,
+ "style_items": style_item_datas,
+ "is_default": True
+ }))
+
+ group_datas.append((0, 0, {
+ "name": group["name"],
+ "sequence": group_index,
+ "sub_groups": sub_group_array,
+ "is_default": True
+ }))
+
+ return self.env['anita_theme_setting.theme_style'].create({
+ "name": style_data["name"],
+ "theme_mode": model_id,
+ "is_default": is_default,
+ "groups": group_datas,
+ "owner": owner
+ })
+
+ @api.model
+ def add_new_style(
+ self, mode_id, style_data, owner=False, is_default=False):
+ '''
+ add new style, get the first style as the default, call from the front web
+ :return:
+ '''
+ # if not owner, use the current owner
+ if not owner:
+ owner = self.env["anita_theme_setting.setting_manager"].get_current_owner()
+
+ theme_style = self.create_style(
+ mode_id, style_data, owner, is_default)
+
+ # return the new style data
+ style_data = theme_style.get_styles()[0]
+
+ return style_data
+
+ def clone_style(self, owner=False):
+ '''
+ clone style
+ :return:
+ '''
+ self.ensure_one()
+ if not owner:
+ owner = self.env["anita_theme_setting.setting_manager"].get_current_owner()
+
+ style_data = self.get_styles()[0]
+ return self.add_new_style(self.theme_mode.id, style_data, owner)
+
+ @api.model
+ def import_new_style(self, mode_id, wizard_id):
+ """
+ import new style
+ :param mode_id:
+ :param wizard_id:
+ :return:
+ """
+ wizard = self.env["anita_theme_setting.import_theme_style"].browse(
+ wizard_id)
+ style_data = json.loads(
+ base64.decodebytes(wizard.file).decode('utf-8'))
+ return self.add_new_style(mode_id, style_data)
+
+ def set_bk_image(self, wizard_id):
+ """
+ set background image
+ """
+ self.ensure_one()
+ wizard = self.env["anita_theme_setting.background_image_wizard"].browse(
+ wizard_id)
+
+ self.background_image = wizard.data
+ self.opacity = wizard.opacity
+
+ # reutrn the image url
+ url = self.get_background_image_url()
+
+ # clear cache
+ self.clear_caches()
+
+ return url
+
+ def get_background_image_url(self):
+ """
+ get image url
+ """
+ self.ensure_one()
+ if self.background_image:
+ return 'web/image/anita_theme_setting.theme_style/' + str(self.id) + '/background_image'
+ else:
+ return False
+
+ def clear_style_css(self):
+ """
+ clear style css when style change
+ """
+ self.ensure_one()
+ self.style_css = False
diff --git a/anita_theme_setting/models/anita_theme_style_item.py b/anita_theme_setting/models/anita_theme_style_item.py
new file mode 100644
index 000000000..cd65f1c33
--- /dev/null
+++ b/anita_theme_setting/models/anita_theme_style_item.py
@@ -0,0 +1,332 @@
+# -*- coding: utf-8 -*-
+
+from odoo import models, fields, api, exceptions
+import logging
+import json
+from .anita_utility import apply_alpha
+
+_logger = logging.getLogger(__name__)
+
+
+class AnitaThemeStyleItem(models.Model):
+ '''
+ user theme style setting
+ '''
+ _name = 'anita_theme_setting.style_item'
+ _order = 'sequence asc'
+ _description = "style item"
+
+ sub_group = fields.Many2one(
+ comodel_name="anita_theme_setting.style_item_sub_group", string="sub group")
+ theme_mode = fields.Many2one(
+ comodel_name="anita_theme_setting.theme_mode",
+ related="sub_group.group.theme_style.theme_mode",
+ store=True,
+ string="theme mode")
+ theme_style = fields.Many2one(
+ comodel_name="anita_theme_setting.theme_style",
+ related = "sub_group.group.theme_style",
+ string="theme style")
+
+ name = fields.Char(string="name", required=True, default="var1")
+ val = fields.Char(string="val", compute="_compute_val")
+ sequence = fields.Integer(string="sequence", default=0)
+ mode = fields.Selection(
+ selection=[('override', 'override'), ('primary', 'primary')],
+ string="mode",
+ default="override",
+ help="override or primary, override is override the default style and primary is create a new style")
+ val_template = fields.Char(
+ string="val template",
+ required=True,
+ default="background: {var1}", help="Save the last val")
+ vars = fields.One2many(
+ string="vars",
+ comodel_name="anita_theme_setting.theme_var",
+ inverse_name="style_item")
+ selectors = fields.Char(string="selectors", required=True)
+ is_default = fields.Boolean(string="Is Default", default=True)
+ type = fields.Selection(
+ string="type",
+ selection=[('normal', 'normal'),
+ ('login', 'login')],
+ default='normal')
+ login_style = fields.Char(string="login style", default="login_style1")
+
+
+ def check_vars(self, default_mode, sub_group_id, default_vars):
+ '''
+ check vars
+ :return:
+ '''
+ # check vars
+ self.ensure_one()
+ var_val_cache = default_mode.get_var_val_cache()
+
+ # get current var cache
+ old_var_cache = {var.name: var for var in self.vars}
+ default_var_cache = \
+ {default_var["name"]: default_var for default_var in default_vars}
+
+ tmp_vals = []
+ for default_var in default_vars:
+
+ color = default_var.get("color", False)
+ ref_var = default_var.get("ref_var",False)
+ if ref_var:
+ if ref_var not in var_val_cache:
+ color = False
+ _logger.info("ref var {ref_var} not in var cache".format(ref_var=ref_var))
+ else:
+ color = var_val_cache[ref_var]
+
+ # item exits must keep
+ if default_var["name"] not in old_var_cache:
+ tmp_vals.append({
+ "sub_group": sub_group_id,
+ "name": default_var["name"],
+ "style_item": self.id,
+ "type": default_var["type"],
+ "color": color,
+ "image": default_var.get('image', False),
+ "image_url": default_var.get('image_url', False),
+ "svg": default_var.get('svg', False),
+ "is_default": default_var.get('is_default', True),
+ "identity": default_var.get('identity', False),
+ "ref_var": ref_var,
+ "disable_opacity": default_var.get('disable_opacity', False),
+ })
+ else:
+ # keep the val, maybe user will
+ tmp_var = old_var_cache[default_var["name"]]
+ tmp_var.write({
+ "type": default_var["type"],
+ "is_default": default_var.get('is_default', True),
+ "identity": default_var.get('identity', False),
+ "color": color,
+ "image": default_var.get('image', False),
+ "image_url": default_var.get('image_url', False),
+ "svg": default_var.get('svg', False),
+ "ref_var": ref_var,
+ "disable_opacity": default_var.get('disable_opacity', False),
+ })
+
+ # create the missing vars
+ self.env["anita_theme_setting.theme_var"].create(tmp_vals)
+
+ # unlink the old var
+ for name in old_var_cache:
+ if name not in default_var_cache:
+ tmp_var = old_var_cache[name]
+ tmp_var.unlink()
+
+ @api.depends('selectors', 'val_template', "vars")
+ def _compute_val(self):
+ '''
+ compute the val
+ :return:
+ '''
+ # check if mode has background image
+ for record in self:
+ # if every var is color and the color val is same as the ref var
+ background_image = record.theme_style.background_image
+ scss_var_cache = record.theme_mode.get_scss_var_record_cache()
+ opacity = record.theme_style.opacity
+ vars_cache = dict()
+ all_color = True
+ all_ref = True
+ all_same = True
+ for var in record.vars:
+ if var.type == 'color':
+ # check if has opacity
+ color = var.color
+ if var.ref_var and var.ref_var in scss_var_cache:
+ ref_color = scss_var_cache[var.ref_var]
+ if ref_color != color:
+ all_same = False
+ else:
+ all_ref = False
+
+ try:
+ if background_image:
+ if not var.disable_opacity:
+ color = apply_alpha(var.name, color, opacity, var.color_type)
+ except Exception as e:
+ _logger.error("apply alpha error {e}".format(e=e))
+
+ vars_cache[var.name] = color
+ elif var.type == 'image':
+ vars_cache[var.name] = var.image_file_url
+ all_color = False
+ elif var.type == 'image_url':
+ vars_cache[var.name] = var.image_url
+ all_color = False
+ else:
+ vars_cache[var.name] = var.svg
+ all_color = False
+
+ # if all the color are the original color, them ignore it
+ if all_color and all_ref and all_same:
+ record.val = False
+ else:
+ if not record.vars:
+ record.val = False
+ else:
+ try:
+ record.val = str(record.val_template).format(**vars_cache)
+ except Exception as error:
+ record.val = False
+ _logger.info('parse var value error, item name {item_name}->{error}'.format(
+ item_name=record['name'], error=error))
+
+ def get_style_item_data(self):
+ '''
+ get the style item data
+ :return:
+ '''
+ export_style = self.env.context.get('export_style', False)
+ style_items = []
+ for record in self:
+ style_item = record.read(
+ fields=["id", "name", "is_default", "val_template", "val", "selectors"])[0]
+
+ try:
+ style_item['selectors'] = json.loads(style_item['selectors'])
+ except Exception as error:
+ _logger.info('try to decode selectors error!', error)
+
+ if not export_style:
+ # maybe the image is very large, so do not read the image
+ style_item["vars"] = \
+ record.vars.read(
+ ["name", "identity", "type", "image_file_url", "image_url", "color", "svg", "color_type"])
+ else:
+ style_item["vars"] = \
+ record.vars.read(
+ ["name", "identity", "type", "image", "image_url", "color", "svg", "color_type"])
+ for tmp_var in style_item["vars"]:
+ if tmp_var["image"]:
+ tmp_var["image"] = str(tmp_var["image"])
+
+ style_items.append(style_item)
+ return style_items
+
+ def write(self, vals):
+ """
+ rewrite to check if the selectors are right
+ :param vals:
+ :return:
+ """
+ super(AnitaThemeStyleItem, self).write(vals)
+
+ vars_cache = dict()
+ for var in self.vars:
+ if var.type == 'color':
+ vars_cache[var.name] = var.color
+ elif var.type == 'image':
+ vars_cache[var.name] = var.image_file_url
+ elif var.type == 'image_url':
+ vars_cache[var.name] = var.image_url
+ else:
+ vars_cache[var.name] = var.svg
+
+ # check the var
+ try:
+ str(self.val_template).format(**vars_cache)
+ except Exception as error:
+ _logger.info('parse var value error, item name {item_name}->{error}'.format(
+ item_name=self['name'], error=error))
+
+ def get_login_style_data(
+ self, theme_style_id, login_style):
+ """
+ get login style data
+ :return:
+ """
+ result = []
+ theme_style = self.env["anita_theme_setting.theme_style"].browse(theme_style_id)
+ sub_group_ids = theme_style.mapped('groups.sub_groups.id')
+ style_items = self.search(
+ [('type', '=', 'login'),
+ ('login_style', '=', login_style),
+ ('sub_group', 'in', sub_group_ids)])
+ for style_item in style_items:
+ val = style_item.val
+ if val == "":
+ continue
+ if not style_item.selectors:
+ continue
+ try:
+ selector = ','.join(json.loads(style_item["selectors"]))
+ tmp_txt = selector + " {" + val + "}"
+ result.append(tmp_txt)
+ except Exception as error:
+ _logger.info(error)
+ return ";".join(result)
+
+ def delete_style_item(self):
+ '''
+ delete style item
+ :return:
+ '''
+ self.ensure_one()
+ self.unlink()
+
+ def create_style_item(
+ self, default_mode, sub_group, style_item, style_item_index):
+ '''
+ create group from default data
+ :return:
+ '''
+ selectors = json.dumps(style_item["selectors"])
+ var_infos = style_item["vars"]
+ var_val_cache = default_mode.get_var_val_cache()
+
+ var_vals = []
+ for var_index, var_info in enumerate(var_infos):
+
+ color = var_info.get("color", False)
+ ref_var = var_info.get("ref_var", False)
+ if ref_var:
+ if ref_var not in var_val_cache:
+ color = False
+ _logger.info("ref var not in var cache", ref_var)
+ else:
+ color = var_val_cache[ref_var]
+
+ var_vals.append((0, 0, {
+ "name": var_info["name"],
+ "type": var_info["type"],
+ "sequence": var_index,
+ "color": color,
+ "image": var_info.get('image', False),
+ "image_url": var_info.get('image_url', False),
+ "svg": var_info.get('svg', False),
+ "identity": var_info.get('identity', False),
+ "ref_var": ref_var
+ }))
+
+ style_item_val = {
+ "name": style_item["name"],
+ "sequence": style_item_index,
+ "val_template": style_item["val_template"],
+ "selectors": selectors,
+ "vars": var_vals,
+ "sub_group": sub_group
+ }
+
+ return self.create([style_item_val])
+
+ def resert_var(self):
+ """
+ reset var, resut to the derfault value
+ :return:
+ """
+ if not self.ref_var and self.type != 'color':
+ return False
+ # get mode first
+ var_cache = self.sub_group.group.theme_style.theme_mode.get_scss_vars_cache()
+ for var in self.vars.filtered(lambda x: x.type == 'color'):
+ if var.ref_var:
+ var.color = var_cache.get(var.ref_var, False)
+ return True
\ No newline at end of file
diff --git a/anita_theme_setting/models/anita_theme_style_item_group.py b/anita_theme_setting/models/anita_theme_style_item_group.py
new file mode 100644
index 000000000..eaba64563
--- /dev/null
+++ b/anita_theme_setting/models/anita_theme_style_item_group.py
@@ -0,0 +1,199 @@
+# -*- coding: utf-8 -*-
+
+from odoo import models, fields, api, exceptions, _, exceptions
+import json
+
+
+class AnitaStyleGroup(models.Model):
+ '''
+ user theme style group
+ '''
+ _name = 'anita_theme_setting.style_item_group'
+ _order = 'sequence asc'
+ _description = "style item group"
+
+ name = fields.Char(string="name", required=True)
+ is_default = fields.Boolean(string="is default", default=False)
+ theme_style = fields.Many2one(
+ string="theme style",
+ comodel_name="anita_theme_setting.theme_style",
+ ondelete="cascade")
+ sub_groups = fields.One2many(
+ string="sub groups",
+ comodel_name="anita_theme_setting.style_item_sub_group",
+ inverse_name="group")
+ sequence = fields.Integer(string="sequence", default=0)
+
+ def check_sub_group(self, default_mode, sub_groups):
+ '''
+ check group items, if not exsits create it else update it
+ need fixed
+ :return:0
+ '''
+ self.ensure_one()
+
+ old_sub_group_cache = {
+ sub_group.name: sub_group for sub_group in self.sub_groups}
+ default_sub_group_cache = {
+ default_group["name"]: default_group for default_group in sub_groups}
+
+ for sub_group_index, sub_group in enumerate(sub_groups):
+ if sub_group["name"] not in old_sub_group_cache:
+ self.env['anita_theme_setting.style_item_sub_group']\
+ .create_sub_group(default_mode, self.id, sub_group, sub_group_index)
+ else:
+ # update the style item
+ tmp_group = old_sub_group_cache[sub_group["name"]]
+ tmp_group.write({
+ "name": sub_group["name"],
+ "is_default": True,
+ "sequence": sub_group_index,
+ })
+ # check group item data
+ style_items = sub_group["style_items"]
+ tmp_group.check_style_items(default_mode, style_items)
+
+ # delete the style item (just not default, user may add item)
+ for sub_group_name in old_sub_group_cache:
+ if sub_group_name not in default_sub_group_cache \
+ and not old_sub_group_cache[sub_group_name].is_default:
+ old_sub_group_cache[sub_group_name].unlink()
+
+ def create_group_from_default_data(self, theme_style, group, group_index):
+ '''
+ create group from default data
+ :return:
+ '''
+ val = {
+ "name": group["name"],
+ "theme_style": theme_style.id,
+ "sequence": group_index,
+ }
+
+ mode = theme_style.theme_mode # get theme mode
+ scss_vars_cache = mode.get_scss_vars_cache()
+
+ sub_group_array = []
+ sub_groups = group["sub_groups"]
+ for sub_group_index, sub_group in enumerate(sub_groups):
+
+ style_item_vals = []
+ items = sub_group["style_items"]
+ for item_index, item in enumerate(items):
+ selectors = json.dumps(item["selectors"])
+ var_infos = item["vars"]
+
+ var_vals = []
+ for var_index, var_info in enumerate(var_infos):
+
+ ref_var = var_info.get('ref', False)
+ if ref_var:
+ if ref_var in scss_vars_cache:
+ raise exceptions.ValidationError(
+ _("The variable %s has been used") % ref_var)
+ else:
+ color = scss_vars_cache[ref_var]
+ else:
+ color = var_info.get('color', False)
+
+ var_vals.append((0, 0, {
+ "name": var_info["name"],
+ "type": var_info["type"],
+ "sequence": var_index,
+ "color": color,
+ "image": var_info.get('image', False),
+ "image_url": var_info.get('image_url', False),
+ "svg": var_info.get('svg', False),
+ "identity": var_info.get('identity', False)
+ }))
+
+ style_item_vals.append((0, 0, {
+ "name": item["name"],
+ "sequence": item_index,
+ "sub_group": sub_group["name"],
+ "selectors": selectors,
+ "vars": var_vals
+ }))
+
+ sub_group_array.append((0, 0, {
+ "name": sub_group["name"],
+ "sequence": sub_group_index,
+ "style_items": style_item_vals,
+ "is_default": True
+ }))
+
+ val["sub_groups"] = sub_group_array
+ return self.create([val])
+
+ @api.model
+ def get_add_new_group_action(self, style_id):
+ """
+ get add new group action
+ :param style_id:
+ :return:
+ """
+ theme_style = self.env["anita_theme_setting.theme_style"].browse(style_id)
+ old_groups = theme_style.groups
+ return {
+ "type": "ir.actions.act_window",
+ "res_model": "anita_theme_setting.style_item_group",
+ "view_mode": "form",
+ "target": "new",
+ "context": {
+ "default_theme_style": style_id,
+ "default_sequence": len(old_groups) + 1
+ },
+ "views": [[self.env.ref('anita_theme_setting.style_item_group_form').id, "form"]]
+ }
+
+ def get_group_data(self):
+ """
+ get sub group data
+ :return:
+ """
+ group_datas = []
+ for record in self:
+ group_datas.append({
+ "id": record.id,
+ "name": record.name,
+ "is_default": record.is_default,
+ "sequence": record.sequence,
+ "sub_groups": record.sub_groups.get_sub_group_data()
+ })
+ return group_datas
+
+ def get_add_sub_group_action(self):
+ """
+ get add sub group action
+ :return:
+ """
+ return {
+ "type": "ir.actions.act_window",
+ "res_model": "anita_theme_setting.style_item_sub_group",
+ "view_mode": 'form',
+ "target": "new",
+ "context": {
+ "default_group": self.id,
+ },
+ "views": [[self.env.ref('anita_theme_setting.style_item_sub_group_form').id, "form"]]
+ }
+
+ def delete_item_group(self):
+ """
+ delete item group
+ :return:
+ """
+ if len(self.sub_groups) > 0:
+ raise exceptions.ValidationError(
+ 'there has some sub group left, please delete them first!')
+ self.unlink()
+
+ def get_sub_group_data(self):
+ """
+ get sub group data
+ :return:
+ """
+ sub_group_datas = []
+ for record in self:
+ sub_group_datas.append(record.get_sub_group_data())
+ return sub_group_datas
diff --git a/anita_theme_setting/models/anita_theme_style_item_sub_group.py b/anita_theme_setting/models/anita_theme_style_item_sub_group.py
new file mode 100644
index 000000000..6f0e49f38
--- /dev/null
+++ b/anita_theme_setting/models/anita_theme_style_item_sub_group.py
@@ -0,0 +1,147 @@
+# -*- coding: utf-8 -*-
+
+from odoo import models, fields, exceptions
+import logging, json
+
+_logger = logging.getLogger(__name__)
+
+
+class AnitaStyleSubGroup(models.Model):
+ '''
+ user theme style group
+ '''
+ _name = 'anita_theme_setting.style_item_sub_group'
+ _order = 'sequence asc'
+ _description = "style item group"
+
+ name = fields.Char(string="name", required=True)
+ is_default = fields.Boolean(string="is default", default=False)
+ group = fields.Many2one(string="group",
+ comodel_name="anita_theme_setting.style_item_group",
+ ondelete="cascade")
+ sequence = fields.Integer(string="sequence", default=0)
+ style_items = fields.One2many(
+ string="style items",
+ comodel_name="anita_theme_setting.style_item",
+ inverse_name="sub_group")
+
+ def check_style_items(self, default_mode, style_items):
+ '''
+ check group items, if not exsits create it else update it
+ need fixed
+ :return:0
+ '''
+ self.ensure_one()
+
+ old_style_item_cache = {
+ style_item.name: style_item for style_item in self.style_items if style_item.is_default}
+ new_style_item_cache = {
+ style_item["name"]: style_item for style_item in style_items}
+
+ for item_index, style_item in enumerate(style_items):
+ if style_item["name"] not in old_style_item_cache:
+ self.env["anita_theme_setting.style_item"].create_style_item(
+ default_mode, self.id, style_item, item_index)
+ else:
+ old_style_item = old_style_item_cache[style_item["name"]]
+ old_style_item.write({
+ "selectors": json.dumps(style_item["selectors"]),
+ "name": style_item["name"],
+ "val_template": style_item["val_template"],
+ "sequence": item_index,
+ })
+ item_vars = style_item["vars"]
+ old_style_item.check_vars(default_mode, self.id, item_vars)
+
+ # delete the style item (just not default, user may add item)
+ for tmp_style_item in self.style_items:
+ if tmp_style_item.name not in new_style_item_cache:
+ old_style_item_cache[tmp_style_item.name].unlink()
+
+ def create_sub_group(self, default_mode, group, sub_group, sub_group_index):
+ '''
+ create sub group from default data
+ :return:
+ '''
+ val = {
+ "name": sub_group["name"],
+ "group": group,
+ "sequence": sub_group_index,
+ "is_default": True
+ }
+
+ var_val_cache = default_mode.get_var_val_cache()
+
+ style_item_vals = []
+ style_items = sub_group["style_items"]
+ for item_index, item in enumerate(style_items):
+ try:
+ selectors = json.dumps(item["selectors"])
+ except Exception as error:
+ _logger.info('parse selectors error:', error)
+ continue
+
+ var_infos = item["vars"]
+ var_vals = []
+ for var_index, var_info in enumerate(var_infos):
+
+ color = var_info.get("color", False)
+ ref_var = var_info.get("ref_var", False)
+ if ref_var:
+ if ref_var not in var_val_cache:
+ color = False
+ _logger.info('ref_var not in var_val_cache:', ref_var)
+ else:
+ color = var_val_cache[ref_var]
+
+ var_vals.append((0, 0, {
+ "name": var_info["name"],
+ "type": var_info["type"],
+ "sequence": var_index,
+ "color": color,
+ "image": var_info.get('image', False),
+ "image_url": var_info.get('image_url', False),
+ "svg": var_info.get('svg', False),
+ "identity": var_info.get('identity', False),
+ "ref_var": ref_var
+ }))
+
+ style_item_vals.append((0, 0, {
+ "name": item["name"],
+ "sequence": item_index,
+ "sub_group": sub_group["name"],
+ "selectors": selectors,
+ "vars": var_vals
+ }))
+
+ val["style_items"] = style_item_vals
+
+ return self.create([val])
+
+ def get_sub_group_data(self):
+ '''
+ get group data
+ :return:
+ '''
+ sub_groups = []
+ for record in self:
+ sub_groups.append({
+ "id": record.id,
+ "name": record.name,
+ "style_items": record.style_items.get_style_item_data(),
+ "sequence": record.sequence,
+ "is_default": record.is_default,
+ "expanded": False
+ })
+ return sub_groups
+
+ def delete_sub_group(self):
+ """
+ delete sub group
+ :return:
+ """
+ self.ensure_one()
+ if len(self.style_items) > 0:
+ raise exceptions.ValidationError(
+ 'there has some style item left, please delete the style item first!')
+ self.unlink()
diff --git a/anita_theme_setting/models/anita_theme_users.py b/anita_theme_setting/models/anita_theme_users.py
new file mode 100644
index 000000000..80d8ae9f3
--- /dev/null
+++ b/anita_theme_setting/models/anita_theme_users.py
@@ -0,0 +1,124 @@
+# -*- coding: utf-8 -*-
+
+from odoo import models, fields, api, exceptions
+import datetime
+from datetime import date, datetime
+
+
+class AnitaThemeUsers(models.Model):
+ '''
+ user theme style setting
+ '''
+ _inherit = "res.users"
+ _description = 'user setting'
+
+ setting_id = fields.Many2one(
+ comodel_name="anita_theme_setting.setting_base",
+ ondelete="cascade",
+ string="settings")
+
+ @api.model
+ def save_theme_setting(self, settings):
+ '''
+ save settings, create if there is no user info
+ just use full when the mode is user wide mode
+ :param settings:
+ :return:
+ '''
+ self.ensure_setting_id()
+ self.setting_id.write(settings)
+
+ def ensure_setting_id(self):
+ '''
+ check setting id
+ :return:
+ '''
+ self.ensure_one()
+ if self.setting_id:
+ return
+
+ # copy use the global default data
+ values = self.env['res.config.settings'].get_theme_values()
+
+ # get fields of anita_theme_setting.setting_base
+ field_names = [name for name, field in self.setting_id._fields.items() if name not in [
+ 'id', 'create_uid', 'create_date', 'write_uid', 'write_date']]
+
+ # remove name not in fields
+ values = {k: v for k, v in values.items() if k in field_names}
+
+ del values["current_theme_mode"]
+ del values["current_theme_style"]
+
+ if not self.setting_id:
+ tmp_record = self.env["anita_theme_setting.setting_base"].create(values)
+ self.setting_id = tmp_record.id
+
+ def get_theme_setting(self):
+ '''
+ get settings
+ :return:
+ '''
+ record = self.env.user
+ record.ensure_setting_id()
+ field_names = [name for name, field in record.setting_id._fields.items() if name not in [
+ "icon128x128", "icon144x144", "icon152x152", "icon192x192", "icon256x256", "icon512x512"]]
+ result = record.setting_id.read(fields=field_names)[0]
+ result["current_theme_mode"] = record.setting_id.current_theme_mode.id
+ result["current_theme_style"] = record.setting_id.current_theme_style.id
+ for key, item in result.items():
+ if isinstance(item, datetime):
+ result[key] = fields.Datetime.to_string(item)
+ if isinstance(item, date):
+ result[key] = fields.Date.to_string(item)
+
+ return result
+
+ def check_default_data(self):
+ """
+ check default data
+ :return:
+ """
+ # check mode data
+ owner = 'res.users, {user_id}'.format(user_id=self.id)
+ self.env["anita_theme_setting.theme_mode"].check_default_mode_data(owner)
+
+ @api.model
+ def get_user_xml_groups(self):
+ '''
+ :return:
+ '''
+ group_ids = self.env.user.groups_id.ids
+ records = self.env['ir.model.data']\
+ .sudo() \
+ .search_read([('model', '=', 'res.groups'),
+ ('res_id', 'in', group_ids)], fields=["complete_name"])
+ return {record["complete_name"]: True for record in records}
+
+ def get_mode_domain(self):
+ """
+ get mode domain dynamic
+ :return:
+ """
+ owner = 'res.users, {user_id}'.format(user_id=self.id)
+ return [('owner', '=', owner)]
+
+ @api.model
+ def get_group_infos(self):
+ '''
+ :return:
+ '''
+ group_ids = self.env.user.groups_id.ids
+ records = self.env['ir.model.data']\
+ .sudo() \
+ .search_read(
+ [('model', '=', 'res.groups'),
+ ('res_id', 'in', group_ids)],
+ fields=["complete_name"])
+ groups = {record["complete_name"]: True for record in records}
+
+ return {
+ "groups": groups,
+ "group_ids": group_ids,
+ "user_id": self.env.user.id
+ }
diff --git a/anita_theme_setting/models/anita_theme_vars.py b/anita_theme_setting/models/anita_theme_vars.py
new file mode 100644
index 000000000..28ec40a1f
--- /dev/null
+++ b/anita_theme_setting/models/anita_theme_vars.py
@@ -0,0 +1,96 @@
+# -*- coding: utf-8 -*-
+from odoo import models, fields, api
+
+
+class AnitaThemeVar(models.Model):
+ '''
+ user theme style setting
+ '''
+ _name = 'anita_theme_setting.theme_var'
+ _order = 'sequence asc'
+ _description = "Theme Var"
+
+ sequence = fields.Integer(string="sequence", default=0)
+ style_item = fields.Many2one(
+ comodel_name="anita_theme_setting.style_item",
+ string="style_item",
+ required=True,
+ ondelete="cascade")
+ type = fields.Selection(
+ selection=[('color', 'color'),
+ ('image', 'image'),
+ ('image_url', 'image_url'),
+ ('svg', 'svg')],
+ string="type",
+ default="color")
+
+ name = fields.Char(string="Name", default="var1")
+ color = fields.Char(string="Val")
+ color_type = fields.Selection(
+ selection=[
+ ('background', 'background'),
+ ('text', 'text'),
+ ('border', 'border'),
+ ('shadow', 'shadow')],
+ default='background', string="color type", help="Type use to apply aphla!")
+ disable_opacity = fields.Boolean(string="Disable Opacity", default=False)
+ image = fields.Binary(string="image", attachment=True)
+ image_file_url = fields.Char(string="Image File Url", compute="_compute_image_file_url")
+ image_url = fields.Char(string="Image Url")
+ svg = fields.Text(string="Svg")
+ ref_var = fields.Char(string="Ref Var Name")
+ opacity = fields.Float(string="Opacity", default=1.0)
+
+ identity = fields.Char(string="identify")
+ is_default = fields.Boolean(string="Is Default", default=False)
+
+ @api.depends('image')
+ def _compute_image_file_url(self):
+ """
+ compute image file url
+ :return:
+ """
+ for record in self:
+ if record.type == 'image' and record.image:
+ record.image_file_url = \
+ '/web/image/anita_theme_setting.theme_var/{var_id}/image'.format(
+ var_id=record.id)
+ else:
+ record.image_file_url = False
+
+ def get_edit_var_action(self):
+ """
+ get edit action
+ :return:
+ """
+ return {
+ "type": "ir.actions.act_window",
+ "res_model": "anita_theme_setting.theme_var",
+ "res_id": self.id,
+ "view_mode": "form",
+ "target": "new",
+ "views": [[self.env.ref(
+ 'anita_theme_setting.edit_theme_var_form').id, "form"]]
+ }
+
+ def get_var_data(self):
+ """
+ get var data
+ :return:
+ """
+ return self.read(
+ fields=["name", "identity", "type",
+ "image_file_url", "image_url", "color", "svg"])
+
+ def reset_var(self):
+ """
+ reset var
+ :return:
+ """
+ if not self.ref_var and self.type != 'color':
+ return False
+ # get mode first
+ var_cache = self.style_item.sub_group.group.theme_style.theme_mode.get_scss_vars_cache()
+ if self.ref_var in var_cache:
+ self.color = var_cache.get(self.ref_var, False)
+ return True
diff --git a/anita_theme_setting/models/anita_utility.py b/anita_theme_setting/models/anita_utility.py
new file mode 100644
index 000000000..04782a763
--- /dev/null
+++ b/anita_theme_setting/models/anita_utility.py
@@ -0,0 +1,132 @@
+# -*- coding: utf-8 -*-
+
+from math import fabs
+from odoo import exceptions
+
+def apply_alpha(var_name, color, alpha, color_type = False):
+ """
+ safe alpha
+ :param color:
+ :param alpha:
+ :return:
+ """
+ if not color:
+ return ''
+
+ color.strip()
+
+ # check var_name endwith text_color
+ if var_name.endswith("text_color") or color_type == "text_color":
+ return color
+
+ # replace white to fff and black to 000 etc
+ if color == "white":
+ color = "fff"
+ elif color == "black":
+ color = "000"
+ elif color == "red":
+ color = "f00"
+ elif color == "green":
+ color = "0f0"
+ elif color == "blue":
+ color = "00f"
+ elif color == "yellow":
+ color = "ff0"
+
+ # check if start with rgba
+ if color.startswith("rgba"):
+ # get the content between ( and )
+ color = color[color.find("(") + 1:color.find(")")]
+ # get the alpha
+ rgba_color = color.split(",")
+ if len(rgba_color) == 4:
+ # convert to float
+ tmp = float(rgba_color[3])
+ # check var_name has shadow in it
+ tmp = alpha * tmp
+ # make rgba string
+ tmp = "rgba({rgba_color[0]},{rgba_color[1]},{rgba_color[2]},{tmp})".format(
+ rgba_color=rgba_color,
+ tmp=tmp)
+ return tmp
+ else:
+ return color
+ # check if start with # and length is 9
+ elif color.startswith("#"):
+ if len(color) == 9 or len(color) == 7:
+ # get red color
+ red = color[1:3]
+ # get green color
+ green = color[3:5]
+ # get blue color
+ blue = color[5:7]
+ # get the old alpha
+ if len(color) == 9:
+ old_alpha = color[7:9]
+ # convert to int
+ old_alpha = int(old_alpha, 16) / 255.0
+ new_alpha = int(old_alpha * alpha)
+ else:
+ new_alpha = alpha
+
+ # make rgba string
+ return "rgba({red},{green},{blue},{new_alpha})".format(
+ red=int(red, 16),
+ green=int(green, 16),
+ blue=int(blue, 16),
+ new_alpha=new_alpha)
+
+ # color like #ffff
+ elif len(color) == 5:
+ # get red color
+ red = color[1:2]
+ # get green color
+ green = color[2:3]
+ # get blue color
+ blue = color[3:4]
+ # alpha
+ old_alpha = color[4:5]
+ # convert to int
+ old_alpha = int(old_alpha + old_alpha, 16) / 255.0
+ new_alpha = old_alpha * alpha
+
+ # make rgba string
+ return "rgba({red},{green},{blue},{alpha})".format(
+ red=int(red + red, 16),
+ green=int(green + green, 16),
+ blue=int(blue + blue, 16),
+ alpha=new_alpha)
+
+ # color like #fff
+ elif len(color) == 4:
+ # get red color
+ red = color[1:2]
+ # get green color
+ green = color[2:3]
+ # get blue color
+ blue = color[3:4]
+ # make rgba string
+ return "rgba({red},{green},{blue},{alpha})".format(
+ red=int(red + red, 16),
+ green=int(green +green, 16),
+ blue=int(blue + blue, 16),
+ alpha=alpha)
+ else:
+ return color
+ else:
+ # check if start with rgb
+ if color.startswith("rgb"):
+ # get the content between ( and )
+ color = color[color.find("(") + 1:color.find(")")]
+ # get the alpha
+ rgb_color = color.split(",")
+ if len(rgb_color) == 3:
+ # make rgba string
+ tmp = "rgba({rgb_color[0]},{rgb_color[1]},{rgb_color[2]},{alpha})".format(
+ rgb_color=rgb_color,
+ alpha=alpha)
+ return tmp
+ else:
+ return color
+ else:
+ return 'rgba({color},{alpha})'.format(color=color, alpha=alpha)
diff --git a/anita_theme_setting/security/ir.model.access.csv b/anita_theme_setting/security/ir.model.access.csv
new file mode 100644
index 000000000..155425b82
--- /dev/null
+++ b/anita_theme_setting/security/ir.model.access.csv
@@ -0,0 +1,16 @@
+id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
+anita_theme_setting_style_item,anita_theme_setting.style_item,model_anita_theme_setting_style_item,,1,1,1,1
+anita_theme_setting_theme_style,anita_theme_setting.theme_style,model_anita_theme_setting_theme_style,,1,1,1,1
+anita_theme_setting_theme_mode,anita_theme_setting.theme_mode,model_anita_theme_setting_theme_mode,,1,1,1,1
+anita_theme_setting_style_item_group,anita_theme_setting.style_item_group,model_anita_theme_setting_style_item_group,,1,1,1,1
+anita_theme_setting_style_item_sub_group,anita_theme_setting.style_item_sub_group,model_anita_theme_setting_style_item_sub_group,,1,1,1,1
+anita_theme_setting_setting_base,anita_theme_setting.setting_base,model_anita_theme_setting_setting_base,,1,1,1,1
+anita_theme_setting_theme_var,anita_theme_setting.theme_var,model_anita_theme_setting_theme_var,,1,1,1,1
+anita_theme_setting_setting_manager,anita_theme_setting.setting_manager,model_anita_theme_setting_setting_manager,,1,1,1,1
+anita_theme_setting_default_mode_data,anita_theme_setting.default_mode_data,model_anita_theme_setting_default_mode_data,,1,1,1,1
+anita_theme_setting_mode_template,anita_theme_setting.mode_template,model_anita_theme_setting_mode_template,,1,1,1,1
+anita_theme_setting_import_theme_style,anita_theme_setting_import_theme_style,model_anita_theme_setting_import_theme_style,,1,1,1,1
+anita_theme_setting_template_var_val,anita_theme_setting.template_var_val,model_anita_theme_setting_template_var_val,,1,1,1,1
+access_anita_theme_setting_template_var_val,anita_theme_setting.template_var_val,model_anita_theme_setting_template_var_val,,1,1,1,1
+access_anita_theme_setting_background_image_wizard,anita_theme_setting.background_image_wizard,model_anita_theme_setting_background_image_wizard,,1,1,1,1
+access_anita_theme_setting_favorite_menu',anita_theme_setting.favorite_menu,model_anita_theme_setting_favorite_menu,,1,1,1,1
diff --git a/anita_theme_setting/static/description/anita_description.png b/anita_theme_setting/static/description/anita_description.png
new file mode 100644
index 000000000..1a9031c40
Binary files /dev/null and b/anita_theme_setting/static/description/anita_description.png differ
diff --git a/anita_theme_setting/static/description/anita_list.gif b/anita_theme_setting/static/description/anita_list.gif
new file mode 100644
index 000000000..f63e756a3
Binary files /dev/null and b/anita_theme_setting/static/description/anita_list.gif differ
diff --git a/anita_theme_setting/static/description/anita_modeler.png b/anita_theme_setting/static/description/anita_modeler.png
new file mode 100644
index 000000000..a56f812f4
Binary files /dev/null and b/anita_theme_setting/static/description/anita_modeler.png differ
diff --git a/anita_theme_setting/static/description/anita_screenshot.png b/anita_theme_setting/static/description/anita_screenshot.png
new file mode 100644
index 000000000..9157fc68c
Binary files /dev/null and b/anita_theme_setting/static/description/anita_screenshot.png differ
diff --git a/anita_theme_setting/static/description/anita_switcher.png b/anita_theme_setting/static/description/anita_switcher.png
new file mode 100644
index 000000000..f7309adcc
Binary files /dev/null and b/anita_theme_setting/static/description/anita_switcher.png differ
diff --git a/anita_theme_setting/static/description/awesome_theme.gif b/anita_theme_setting/static/description/awesome_theme.gif
new file mode 100644
index 000000000..c45dd1fdd
Binary files /dev/null and b/anita_theme_setting/static/description/awesome_theme.gif differ
diff --git a/anita_theme_setting/static/description/banner.gif b/anita_theme_setting/static/description/banner.gif
new file mode 100644
index 000000000..920c745ca
Binary files /dev/null and b/anita_theme_setting/static/description/banner.gif differ
diff --git a/anita_theme_setting/static/description/banner.png b/anita_theme_setting/static/description/banner.png
new file mode 100644
index 000000000..3390bef13
Binary files /dev/null and b/anita_theme_setting/static/description/banner.png differ
diff --git a/anita_theme_setting/static/description/banner2.png b/anita_theme_setting/static/description/banner2.png
new file mode 100644
index 000000000..e8a45c50e
Binary files /dev/null and b/anita_theme_setting/static/description/banner2.png differ
diff --git a/anita_theme_setting/static/description/description.png b/anita_theme_setting/static/description/description.png
new file mode 100644
index 000000000..200bd1375
Binary files /dev/null and b/anita_theme_setting/static/description/description.png differ
diff --git a/anita_theme_setting/static/description/icon.png b/anita_theme_setting/static/description/icon.png
new file mode 100644
index 000000000..e43c36cf3
Binary files /dev/null and b/anita_theme_setting/static/description/icon.png differ
diff --git a/anita_theme_setting/static/description/images/akl_multi_tab_plugin.gif b/anita_theme_setting/static/description/images/akl_multi_tab_plugin.gif
new file mode 100644
index 000000000..f964000e0
Binary files /dev/null and b/anita_theme_setting/static/description/images/akl_multi_tab_plugin.gif differ
diff --git a/anita_theme_setting/static/description/images/anita_list.gif b/anita_theme_setting/static/description/images/anita_list.gif
new file mode 100644
index 000000000..f63e756a3
Binary files /dev/null and b/anita_theme_setting/static/description/images/anita_list.gif differ
diff --git a/anita_theme_setting/static/description/images/anita_modeler.gif b/anita_theme_setting/static/description/images/anita_modeler.gif
new file mode 100644
index 000000000..693bf2386
Binary files /dev/null and b/anita_theme_setting/static/description/images/anita_modeler.gif differ
diff --git a/anita_theme_setting/static/description/images/anita_theme_pro.gif b/anita_theme_setting/static/description/images/anita_theme_pro.gif
new file mode 100644
index 000000000..c45dd1fdd
Binary files /dev/null and b/anita_theme_setting/static/description/images/anita_theme_pro.gif differ
diff --git a/anita_theme_setting/static/description/index.html b/anita_theme_setting/static/description/index.html
new file mode 100644
index 000000000..9b1aca48b
--- /dev/null
+++ b/anita_theme_setting/static/description/index.html
@@ -0,0 +1,128 @@
+
+
+
+
+
+
+
+ Anita theme setting is theme configer for our themes, it support to change theme color, font, background, header, footer, menu, etc. and also support to change theme layout, it is very easy to use and very useful for our themes.
+
+
+
+
+
+
+
(Current Release V16.0.0.1 -- 2022.11.22)
+
+
+
+
+ Theme Settings
+
+
+
+ there has a theme setting configer, it can set the button style\ input style \ radio style \ checkbox style etc
+
+
+
+
+
+
+
+
+ Theme Style
+
+
+
+ there has a theme configer, it can set the theme color\ font\ background\ header\ footer\ menu etc
+
+
+
+
+
+
+
+
+ Semi Trans Support
+
+
+
+ user can set a bk image and set the alpha for elements, it will be very beautiful
+
+
+
+
+
+
+
+
+ Back Image Support
+
+
+
+ user can set a bk image and set the alpha for elements, it will be very beautiful
+
+
+
+
+
+
+
+ Our Other Popular Apps
+
+
+
+
+
+ Awesome theme Pro
+
+
+
+
+
+
+
+
+
+
+
+ Config Theme Styles
+
+
+
+ there has a theme configer, you can change the color, image and icons of the theme
+
+
+
+
+
+
+
+
+ Anita Modeler
+
+
+
+
+
+
+
+
+
+
+
+
+ Anita List
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/anita_theme_setting/static/description/screen_shot.png b/anita_theme_setting/static/description/screen_shot.png
new file mode 100644
index 000000000..daf979c52
Binary files /dev/null and b/anita_theme_setting/static/description/screen_shot.png differ
diff --git a/anita_theme_setting/static/description/theme_setting.png b/anita_theme_setting/static/description/theme_setting.png
new file mode 100644
index 000000000..65fc5c257
Binary files /dev/null and b/anita_theme_setting/static/description/theme_setting.png differ
diff --git a/anita_theme_setting/static/description/theme_style.png b/anita_theme_setting/static/description/theme_style.png
new file mode 100644
index 000000000..77c7a0d8f
Binary files /dev/null and b/anita_theme_setting/static/description/theme_style.png differ
diff --git a/anita_theme_setting/static/description/transparent.png b/anita_theme_setting/static/description/transparent.png
new file mode 100644
index 000000000..2c6534e97
Binary files /dev/null and b/anita_theme_setting/static/description/transparent.png differ
diff --git a/anita_theme_setting/static/description/transparent2.png b/anita_theme_setting/static/description/transparent2.png
new file mode 100644
index 000000000..4be385423
Binary files /dev/null and b/anita_theme_setting/static/description/transparent2.png differ
diff --git a/anita_theme_setting/static/images/res_small_logo.png b/anita_theme_setting/static/images/res_small_logo.png
new file mode 100644
index 000000000..a32761987
Binary files /dev/null and b/anita_theme_setting/static/images/res_small_logo.png differ
diff --git a/anita_theme_setting/static/images/s1.png b/anita_theme_setting/static/images/s1.png
new file mode 100644
index 000000000..381e80910
Binary files /dev/null and b/anita_theme_setting/static/images/s1.png differ
diff --git a/anita_theme_setting/static/images/s2.png b/anita_theme_setting/static/images/s2.png
new file mode 100644
index 000000000..753466f2c
Binary files /dev/null and b/anita_theme_setting/static/images/s2.png differ
diff --git a/anita_theme_setting/static/images/s3.png b/anita_theme_setting/static/images/s3.png
new file mode 100644
index 000000000..9a345101e
Binary files /dev/null and b/anita_theme_setting/static/images/s3.png differ
diff --git a/anita_theme_setting/static/images/s4.png b/anita_theme_setting/static/images/s4.png
new file mode 100644
index 000000000..88d31a980
Binary files /dev/null and b/anita_theme_setting/static/images/s4.png differ
diff --git a/anita_theme_setting/static/images/s5.png b/anita_theme_setting/static/images/s5.png
new file mode 100644
index 000000000..e1c67cca6
Binary files /dev/null and b/anita_theme_setting/static/images/s5.png differ
diff --git a/anita_theme_setting/static/images/sidebar-1.jpg b/anita_theme_setting/static/images/sidebar-1.jpg
new file mode 100644
index 000000000..0eaa0e1c5
Binary files /dev/null and b/anita_theme_setting/static/images/sidebar-1.jpg differ
diff --git a/anita_theme_setting/static/images/sidebar-2.jpg b/anita_theme_setting/static/images/sidebar-2.jpg
new file mode 100644
index 000000000..450d36bba
Binary files /dev/null and b/anita_theme_setting/static/images/sidebar-2.jpg differ
diff --git a/anita_theme_setting/static/images/sidebar-3.jpg b/anita_theme_setting/static/images/sidebar-3.jpg
new file mode 100644
index 000000000..e27cba39c
Binary files /dev/null and b/anita_theme_setting/static/images/sidebar-3.jpg differ
diff --git a/anita_theme_setting/static/images/sidebar-4.jpg b/anita_theme_setting/static/images/sidebar-4.jpg
new file mode 100644
index 000000000..cb14f6235
Binary files /dev/null and b/anita_theme_setting/static/images/sidebar-4.jpg differ
diff --git a/anita_theme_setting/static/images/sidebar-5.jpg b/anita_theme_setting/static/images/sidebar-5.jpg
new file mode 100644
index 000000000..4c0b6975a
Binary files /dev/null and b/anita_theme_setting/static/images/sidebar-5.jpg differ
diff --git a/anita_theme_setting/static/images/sidebar-6.jpg b/anita_theme_setting/static/images/sidebar-6.jpg
new file mode 100644
index 000000000..8dcda1ce8
Binary files /dev/null and b/anita_theme_setting/static/images/sidebar-6.jpg differ
diff --git a/anita_theme_setting/static/images/style.scss b/anita_theme_setting/static/images/style.scss
new file mode 100644
index 000000000..587f5bb1c
--- /dev/null
+++ b/anita_theme_setting/static/images/style.scss
@@ -0,0 +1,3475 @@
+
+body {
+ color: #c7c7c7 !important;
+
+ background-color: #182139;
+ -webkit-background-size: cover;
+ -moz-background-size: cover;
+ -o-background-size: cover;
+ background-size: cover;
+}
+
+.text-muted {
+ color: #c7c7c7 !important;
+}
+
+.o_action_manager,
+>header {
+ background-color: rgba(24, 33, 57, 0.4) !important;
+}
+
+
+/* kanban */
+.o_kanban_view {
+ .o_kanban_record:focus, .o_kanban_record:focus-within, .o_kanban_quick_create:focus, .o_kanban_quick_create:focus-within {
+ -webkit-box-shadow: 1px 1px 1px 0px #6c757d;
+ -moz-box-shadow: 1px 1px 1px 0px #6c757d;
+ box-shadow: 1px 1px 1px 0px #6c757d;
+ z-index: 1;
+ outline: none;
+ }
+}
+
+.o_kanban_view {
+ padding: 5px !important;
+ .o_kanban_record {
+ background: #fff;
+ position: relative;
+ display: inline-block;
+ // border: 1px #d9d9d9 solid;
+ margin: 0 15px 15px 0;
+ min-width: 150px;
+ margin: 0 0 -1px;
+
+ @include anita-trainsition-all(.2s);
+
+ &:hover {
+ box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
+ transform: translate3d(0px, 0px, -2px);
+ }
+ }
+}
+
+.o_kanban_view {
+ .oe_kanban_card, .o_kanban_record {
+ .o_dropdown_kanban .dropdown-toggle {
+ border-radius: 0px;
+ }
+ }
+
+ .o_kanban_record:focus,
+ .o_kanban_record:focus-within,
+ .o_kanban_quick_create:focus,
+ .o_kanban_quick_create:focus-within {
+ box-shadow: none;
+ -webkit-box-shadow: none;
+ }
+
+ .oe_kanban_card.oe_kanban_global_click:focus,
+ .oe_kanban_card.oe_kanban_global_click:focus-within,
+ .oe_kanban_card.oe_kanban_global_click_edit:focus,
+ .oe_kanban_card.oe_kanban_global_click_edit:focus-within,
+ .o_kanban_record.oe_kanban_global_click:focus,
+ .o_kanban_record.oe_kanban_global_click:focus-within,
+ .o_kanban_record.oe_kanban_global_click_edit:focus,
+ .o_kanban_record.oe_kanban_global_click_edit:focus-within {
+ -webkit-box-shadow: none;
+ -moz-box-shadow: none;
+ box-shadow: none;
+ }
+}
+
+.anita_multi_tab_container {
+ box-shadow: 0 1px 2px 0 #00000049 !important;
+}
+
+.anita_multi_tab_container .anita_multi_tab {
+ background: #313852 !important;
+}
+
+.anita_multi_tab_container .anita_multi_tab .anita_tab_scroller .anita_page_items {
+ background: #313852 !important;
+}
+
+.anita_multi_tab_container .anita_multi_tab .anita_tab_scroller .anita_page_items li {
+ border-right: 1px solid #4d5075 !important;
+}
+
+.anita_multi_tab_container .anita_multi_tab .anita_tab_scroller .anita_page_items li:hover {
+ background-color: #313852 !important;
+}
+
+.anita_multi_tab_container .anita_multi_tab .anita_tab_control {
+ border-right: 1px solid #4d5075 !important;
+ border-left: 1px solid #4d5075 !important;
+}
+
+.anita_multi_tab_container .anita_multi_tab .anita_tab_control:hover {
+ background-color: #313852 !important;
+}
+
+.anita_multi_tab_container .anita_multi_tab .anita_multi_tab_active {
+ background-color: #313852 !important;
+}
+
+.anita_multi_tab_container .anita_multi_tab .anita_icon_prev {
+ border-right: 1px solid #4d5075 !important;
+}
+
+.anita_multi_tab_container .anita_multi_tab .anita_icon_next {
+ border-right: 1px solid #4d5075 !important;
+ border-left: 1px solid #4d5075 !important;
+}
+
+.anita_multi_tab_container .anita_multi_tab .anita_icon_down {
+ border-left: none;
+}
+
+.btn {
+ color: #c7c7c7 !important;
+}
+
+.btn-primary {
+ background-color: #313852 !important;
+ color: #c7c7c7 !important;
+ border-color: #4d5075 !important;
+}
+
+.btn-primary:hover {
+ color: #c7c7c7 !important;
+ background-color: #3b425c !important;
+ border-color: #797bf2 !important;
+}
+
+.btn-secondary {
+ color: #c7c7c7 !important;
+ background-color: #3b425c !important;
+ border-color: #313852 !important;
+}
+
+.btn-secondary:hover {
+ color: #c7c7c7 !important;
+ background-color: #3b425c !important;
+ border-color: #313852 !important;
+}
+
+.btn-secondary:not(:disabled):not(.disabled).active {
+ color: #c7c7c7 !important;
+ background-color: #3b425c !important;
+ border-color: #313852 !important;
+}
+
+.btn-light {
+ color: #c7c7c7 !important;
+ background-color: #394160 !important;
+ border-color: #313852 !important;
+}
+
+.btn-light:hover {
+ color: #c7c7c7 !important;
+ background-color: #394160 !important;
+ border-color: #313852 !important;
+}
+
+.btn-light:not(:disabled):not(.disabled).active {
+ color: #c7c7c7 !important;
+ background-color: #394160 !important;
+ border-color: #313852 !important;
+}
+
+.o_searchview {
+ background: #313852 !important;
+ color: #c7c7c7 !important;
+ border-color: #313852 !important;
+}
+
+.o_searchview .search_option_dropdown_toggler:hover {
+ color: #c7c7c7 !important;
+}
+
+.o_searchview .o_searchview_facet {
+ border: 1px solid #2b3148 !important;
+ background: #394160 !important;
+}
+
+.o_searchview .o_searchview_facet .o_searchview_facet_label {
+ background-color: #313852 !important;
+}
+
+.o_searchview .o_searchview_autocomplete li.o-selection-focus {
+ background-color: #454c66 !important;
+}
+
+.o_searchview .o_searchview_autocomplete .ui-menu-item.ui-state-focus {
+ background-color: #454c66 !important;
+}
+
+.o_searchview .o_searchview_autocomplete li.o_selection_focus {
+ background-color: #454c66 !important;
+}
+
+.o_searchview .o_searchview_autocomplete li.o_selection_focus {
+ background-color: #454c66 !important;
+}
+
+.o_searchview .o_searchview_input_container .o_searchview_input {
+ background: transparent !important;
+ color: #c7c7c7 !important;
+}
+
+.o_searchview .anita_search_option_dropdown::after {
+ background: #313852;
+ border-top: 1px solid #4d5075;
+ border-left: 1px solid #4d5075;
+}
+
+.o_searchview .anita_search_option_dropdown .nav-pills .nav-link.active,
+.o_searchview .anita_search_option_dropdown .nav-pills .show>.nav-link {
+ background-color: #313852 !important;
+}
+
+.o_main_navbar {
+ background-color: #313852 !important;
+ color: #c7c7c7 !important;
+ border-bottom: #182139 !important;
+}
+
+.alert hr {
+ border-color: #313852 !important;
+}
+
+.alert .close:focus,
+.alert .close:hover {
+ opacity: .2;
+ color: inherit;
+}
+
+.o_content .o_expense_card {
+ border-bottom: 1px solid #313852;
+ border-right: 1px solid #313852;
+}
+
+.breadcrumb {
+ background-color: transparent !important;
+}
+
+.breadcrumb li a {
+ color: #c7c7c7 !important;
+}
+
+.breadcrumb li a:hover {
+ color: #c7c7c7 !important;
+}
+
+.breadcrumb li .text-muted {
+ color: #aeadad !important;
+}
+
+.breadcrumb li .text-900 {
+ color: #aeadad !important;
+}
+
+.custom-control-label::before {
+ border: 1px solid #415291 !important;
+ background-color: #313852 !important;
+}
+
+.custom-control-input:disabled~.custom-control-label::before {
+ border: 1px solid #415291 !important;
+ background-color: #313852 !important;
+}
+
+.custom-radio .custom-control-label::after {
+ background: #454c66 !important;
+ border-color: #4d5075 !important;
+ color: #c7c7c7 !important;
+}
+
+.form-control {
+ color: #c7c7c7 !important;
+ opacity: 1;
+ background-color: #313852 !important;
+ border-color: #313852 !important;
+}
+
+.form-control:focus {
+ color: #c7c7c7 !important;
+ background-color: #313852 !important;
+ border-color: #313852 !important;
+}
+
+.custom-select {
+ border-color: #4d5075 !important;
+ color: #c7c7c7 !important;
+ background: #313852 !important;
+ border: 1px solid #4d5075 !important;
+}
+
+.custom-file-label {
+ background-color: inherit !important;
+ border-color: #4d5075 !important;
+ color: inherit !important;
+}
+
+.custom-range::-webkit-slider-runnable-track {
+ background-color: #4d5075 !important;
+}
+
+hr {
+ border-color: #313852 !important;
+}
+
+.list-group-item {
+ background: 0 0;
+ background-color: #313852 !important;
+}
+
+.list-group-item-action {
+ color: inherit !important;
+}
+
+.card {
+ background-color: #313852 !important;
+ box-shadow: -8px 12px 18px 0 #313852 !important;
+}
+
+.card .card-header {
+ border-bottom: none !important;
+}
+
+.card .card-footer {
+ border-top-color: #313852 !important;
+}
+
+.avatar:before {
+ border-color: #313852 !important;
+}
+
+.avatar .avatar-title {
+ background-color: #313852 !important;
+}
+
+.img-thumbnail {
+ border-color: #313852 !important;
+ background-color: #313852 !important;
+}
+
+.progress {
+ background-color: #313852 !important;
+}
+
+.timeline .timeline-item::before {
+ background: #313852 !important;
+}
+
+.o_dropdown.show .o_dropdown_toggler_btn,
+ .o_dropdown.hover .o_dropdown_toggler_btn {
+ color: #c7c7c7 !important;
+}
+
+.dropdown-menu {
+ box-shadow: 0 6px 12px #00000049 !important;
+ color: #c7c7c7 !important;
+ border: 1px solid #313852 !important;
+ background-color: #313852 !important;
+}
+
+.dropdown-menu .dropdown-item {
+ color: #c7c7c7 !important;
+}
+
+.dropdown-menu .dropdown-item:focus,
+ .dropdown-menu .dropdown-item:hover {
+ color: #c7c7c7 !important;
+ background-color: #454c66 !important;
+}
+
+.dropdown-menu .dropdown-item-text {
+ color: #c7c7c7 !important;
+}
+
+.dropdown-menu .o_menu_item:hover {
+ color: #c7c7c7 !important;
+ background-color: #454c66 !important;
+}
+
+.dropdown-divider {
+ border-top-color: #313852 !important;
+}
+
+.daterangepicker {
+ background-color: #313852 !important;
+ border-color: #313852 !important;
+}
+
+.daterangepicker select {
+ background-color: inherit !important;
+ color: inherit !important;
+ border-color: #313852 !important;
+}
+
+.daterangepicker:after,
+ .daterangepicker:before {
+ border-bottom-color: #313852 !important;
+}
+
+.daterangepicker td.in-range {
+ background-color: #313852 !important;
+ color: inherit !important;
+}
+
+.daterangepicker td.end-date {
+ color: #c7c7c7 !important;
+ background-color: #313852 !important;
+}
+
+.daterangepicker .drp-buttons {
+ border-top-color: #313852 !important;
+}
+
+.daterangepicker .drp-buttons .btn.btn-default {
+ color: inherit !important;
+}
+
+.daterangepicker td.off,
+.daterangepicker td.off.end-date,
+.daterangepicker td.off.start-date {
+ background-color: inherit !important;
+ color: #313852 !important;
+}
+
+.daterangepicker td.off.in-range {
+ color: #c7c7c7 !important;
+ background-color: #313852 !important;
+}
+
+.daterangepicker td.available:hover {
+ background-color: #313852 !important;
+ border-color: transparent !important;
+ color: inherit !important;
+}
+
+.daterangepicker th.available:hover {
+ background-color: #313852;
+ border-color: transparent !important;
+ color: inherit !important;
+}
+
+.daterangepicker .daterangepicker:after {
+ border-bottom-color: #313852 !important;
+}
+
+.daterangepicker .ranges li:hover {
+ background-color: #313852 !important;
+}
+
+.daterangepicker .popover.clockpicker-popover {
+ overflow: hidden !important;
+ border: 1px solid #313852 !important;
+}
+
+.daterangepicker .popover.clockpicker-popover.popover-title {
+ background-color: #313852 !important;
+ color: inherit !important;
+}
+
+.daterangepicker .popover.clockpicker-popover.popover-content {
+ background-color: #313852 !important;
+}
+
+.daterangepicker .calendar-table {
+ border: 0px solid #4d5075 !important;
+ background-color: #313852 !important;
+ color: #c7c7c7 !important;
+}
+
+.daterangepicker .calendar-table .next span,
+.daterangepicker .calendar-table .prev span {
+ border-color: #4d5075 !important;
+}
+
+.popover.clockpicker-popover .clockpicker-plate {
+ -webkit-filter: drop-shadow(0 1px 3px #00000049) !important;
+ filter: drop-shadow(0 1px 3px #00000049) !important;
+ background-color: #313852 !important;
+ border: 1px solid #4d5075 !important;
+}
+
+.popover.clockpicker-popover .clockpicker-plate .clockpicker-tick {
+ color: inherit !important;
+}
+
+.popover.clockpicker-popover .clockpicker-plate .clockpicker-canvas-bg {
+ fill: #313852 !important;
+}
+
+.select2-drop {
+ background-color: #313852;
+ border: 1px solid #4d5075;
+}
+
+.select2-drop .select2-results {
+ background-color: #313852;
+}
+
+.select2-drop .select2-results .select2-result {
+ background-color: #313852;
+}
+
+.select2-drop .select2-results .select2-result.select2-highlighted {
+ background-color: #454c66;
+}
+
+.nav-pills .nav-link.active,
+.nav-pills .show>.nav-link {
+ color: #66598f !important;
+ background-color: #394160 !important;
+ border: 1px solid #313852 !important;
+}
+
+.nav-tabs {
+ border-bottom-color: #182139 !important;
+}
+
+.nav-tabs .nav-link:focus,
+ .nav-tabs .nav-link:hover {
+ border-color: #182139 !important;
+ background: #313852 !important;
+ border-bottom-color: #313852 !important;
+ color: #66598f !important;
+}
+
+.nav-tabs .nav-link .nav-link,
+ .nav-tabs .nav-link.active {
+ color: #66598f !important;
+ background: #313852 !important;
+ border-color: #182139 !important;
+ border-bottom-color: #313852 !important;
+}
+
+.figure-caption {
+ color: inherit !important;
+}
+
+.btn-link.o-active {
+ color: #454c66;
+}
+
+.nicescroll-cursors {
+ background-color: #4d5075 !important;
+}
+
+.table td,
+.table th {
+ border-color: #313852 !important;
+}
+
+.table-striped tbody tr:nth-of-type(odd) {
+ background-color: #3b425c !important;
+}
+
+.table-striped tbody tr:nth-of-type(even) {
+ background-color: #182139 !important;
+}
+
+.table-hover tbody tr:hover {
+ background-color: #424b70 !important;
+ color: #c7c7c7 !important;
+}
+
+.input-group-text {
+ background-color: #313852 !important;
+ border: 1px solid #4d5075 !important;
+}
+
+.btn.btn-outline-light {
+ border: 1px solid #4d5075 !important;
+ color: #c7c7c7 !important;
+}
+
+.btn.btn-outline-light:hover {
+ background: 0 0 !important;
+ color: #d6d6d6 !important;
+ border: 1px solid #4d5075 !important;
+}
+
+.modal-content {
+ background-color: #313852 !important;
+}
+
+.modal-content .modal-header {
+ border-bottom-color: #313852 !important;
+ background-color: #394160 !important;
+}
+
+.modal-content .modal-header .close {
+ text-shadow: none !important;
+ opacity: 1 !important;
+ color: inherit !important;
+ background-color: transparent !important;
+}
+
+.modal-content .modal-footer {
+ border-top-color: #313852 !important;
+ background-color: #394160 !important;
+}
+
+.popover {
+ background-color: #313852 !important;
+}
+
+.popover .popover-header {
+ background-color: #313852 !important;
+ border-color: transparent !important;
+}
+
+.popover .popover-body {
+ color: inherit !important;
+}
+
+.popover .popover-sidebar {
+ border-top-color: #313852 !important;
+}
+
+.bs-popover-auto[x-placement^=top]>.arrow::after,
+.bs-popover-top>.arrow::after,
+.bs-popover-auto[x-placement^="top"]>.arrow::after {
+ border-top-color: #4d5075 !important;
+}
+
+.bs-popover-auto[x-placement^=right]>.arrow::after,
+.bs-popover-right>.arrow::after,
+.bs-popover-auto[x-placement^="right"]>.arrow::after {
+ border-right-color: #4d5075 !important;
+}
+
+.bs-popover-auto[x-placement^=right]>.arrow::after,
+.bs-popover-right>.arrow::after,
+.bs-popover-auto[x-placement^="right"]>.arrow::after {
+ border-right-color: #4d5075 !important;
+}
+
+.bs-popover-auto[x-placement^=bottom]>.arrow::after,
+.bs-popover-bottom>.arrow::after,
+.bs-popover-auto[x-placement^="bottom"]>.arrow::after {
+ border-bottom-color: #4d5075 !important;
+}
+
+.bs-popover-auto[x-placement^=left]>.arrow::after,
+.bs-popover-left>.arrow::after,
+.bs-popover-auto[x-placement^="left"]>.arrow::after {
+ border-left-color: #4d5075 !important;
+}
+
+.page-item.disabled .page-link {
+ color: #ced4da !important;
+ background-color: #313852 !important;
+ border-color: #4d5075 !important;
+}
+
+.page-item .page-link {
+ background-color: inherit !important;
+ color: inherit !important;
+ border-color: #313852 !important;
+}
+
+.page-item .page-link:hover {
+ color: #c7c7c7 !important;
+ background-color: #313852 !important;
+ color: #c7c7c7 !important;
+}
+
+.nav a.nav-link:not(.active) {
+ color: #66598f !important;
+}
+
+.nav a.nav-link:not(.active):active,
+.nav a.nav-link:not(.active):hover {
+ background-color: #454c66 !important;
+}
+
+@media (min-width: 1200px) {
+ .sidebar-toggle-one.sidebar-show .sidebar .sidebar-menu-body {
+ background-color: #313852 !important;
+ }
+}
+
+@media (max-width: 414px) {
+ .nav li.nav-item {
+ border-bottom-color: #313852 !important;
+ color: #c7c7c7 !important;
+ }
+}
+
+.o_Chatter {
+ background-color: #394160 !important;
+ border-color: #313852 !important;
+}
+
+.o_Chatter .o_Message.o-not-discussion {
+ background-color: #313852 !important;
+}
+
+.o_Chatter .o_MessageList_separatorLabel {
+ background-color: transparent !important;
+}
+
+.o_Chatter .o_MessageList {
+ background-color: #313852 !important;
+}
+
+.o_Chatter .o_Message.o-not-discussion {
+ background-color: #313852 !important;
+ border-bottom: 1px solid #313852 !important;
+}
+
+@media (min-width: 992px) {
+
+ .o_form_view>.oe_chatter,
+ .o_form_view .o_FormRenderer_chatterContainer {
+ border-left: 1px solid #313852;
+ }
+}
+
+.o_Composer:not(.o-messaging-in-editing) {
+ background-color: #182139;
+}
+
+.o_Composer:not(.o-messaging-in-editing) .o_Composer_textInput.o-has-current-partner-avatar.o-composer-is-compact {
+ border-radius: 0.6rem 0 0 0.6rem;
+ border-color: #313852;
+ background: #313852;
+}
+
+.o_Composer:not(.o-messaging-in-editing) .o_Composer_textInput.o-has-current-partner-avatar.o-composer-is-compact textarea {
+ background-color: #313852;
+ color: #c7c7c7;
+}
+
+.o_Composer:not(.o-messaging-in-editing) .o_Composer_textInput.o-has-current-partner-avatar.o-composer-is-compact .o_Composer_toolButtonSeparator {
+ border-left: 1px solid #313852;
+}
+
+.o_Composer_toolButtons {
+ background-color: #313852;
+ border-top: 1px solid #313852;
+ border-bottom: 1px solid #313852;
+}
+
+.o_DiscussSidebarCategoryItem.o-active {
+ background-color: #454c66;
+}
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+.h1,
+.h2,
+.h3,
+.h4,
+.h5,
+.o_kanban_view.o_kanban_dashboard .o_kanban_record .o_kanban_card_manage_pane.container div[class*="col-"]>.o_kanban_card_manage_title,
+.o_kanban_view.o_kanban_dashboard .o_kanban_record .o_kanban_card_manage_pane.o_container_small div[class*="col-"]>.o_kanban_card_manage_title,
+.h6 {
+ color: #c7c7c7 !important;
+}
+
+.oe_button_box {
+ box-shadow: inset 0 -1px 0 #313852 !important;
+}
+
+.o_form_view {
+ background-color: #313852;
+}
+
+.o_form_view .o_form_sheet_bg {
+ background: #313852;
+ border-bottom: none;
+}
+
+.o_form_view .o_form_sheet_bg>.o_form_sheet {
+ min-width: initial;
+ border: 1px solid #313852 !important;
+ background: #394160 !important;
+ box-shadow: 2px 1px 20px 0px #00000049 !important;
+}
+
+.o_form_view .oe_button_box.o_not_full .oe_stat_button {
+ border-left: 1px solid #313852 !important;
+}
+
+.o_form_view .table-responsive {
+ border-top: 1px solid #313852 !important;
+}
+
+.o_form_view .o_notebook>.tab-content>.tab-pane> :first-child.o_field_x2many.o_field_x2many_list .table-responsive,
+.o_form_view .table-responsive {
+ border-top: none !important;
+}
+
+.o_form_view .o_form_label {
+ color: #c7c7c7 !important;
+}
+
+.o_form_view .o_form_uri>span {
+ color: #66598f !important;
+}
+
+.o_form_view .o_group.o_inner_group.oe_subtotal_footer {
+ border-top: 1px solid #313852 !important;
+}
+
+.o_form_view .oe_avatar>img {
+ border-color: #182139 !important;
+}
+
+.o_required_modifier.o_input .o_input {
+ background-color: #292f44 !important;
+}
+
+.o_input,
+.single-line {
+ background: #292f44 !important;
+ border: 1px solid #394160 !important;
+ color: #c7c7c7 !important;
+}
+
+.o_input:focus,
+.single-line:focus {
+ border: 1px solid #313852 !important;
+}
+
+.o_input:hover,
+.single-line:hover {
+ border: 1px solid #4d5075 !important;
+}
+
+.text-divider:after {
+ background-color: #313852 !important;
+}
+
+input::-webkit-input-placeholder {
+ color: rgba(255, 255, 255, 0.5) !important;
+}
+
+input::-moz-placeholder {
+ color: rgba(255, 255, 255, 0.5) !important;
+}
+
+input::-ms-input-placeholder {
+ color: rgba(255, 255, 255, 0.5) !important;
+}
+
+input::placeholder {
+ color: rgba(255, 255, 255, 0.5) !important;
+}
+
+.border {
+ border-color: #313852 !important;
+}
+
+.border-right {
+ border-left-color: #313852 !important;
+ border-right-color: #313852 !important;
+}
+
+.border-left {
+ border-left-color: #313852 !important;
+ border-right-color: #313852 !important;
+}
+
+.border-bottom {
+ border-bottom-color: #313852 !important;
+}
+
+.border-top {
+ border-top-color: #313852 !important;
+}
+
+.o_search_panel {
+ background-color: #313852 !important;
+ border-right: 1px solid #313852 !important;
+ color: #c7c7c7 !important;
+}
+
+.o_search_panel .list-group-item {
+ color: #c7c7c7 !important;
+ background-color: #313852 !important;
+}
+
+.o_search_panel .list-group-item .active {
+ background-color: #454c66 !important;
+}
+
+.o_search_panel .list-group-item .o_search_panel_label_title {
+ color: #c7c7c7 !important;
+}
+
+.o_search_panel .anita_panel_toggler {
+ background-color: #313852 !important;
+}
+
+@media (max-width: 575.98px) {
+ .o_search_panel .anita_panel_toggler {
+ box-shadow: 9px -1px 16px #00000049 !important;
+ }
+}
+
+.card {
+ background: #313852 !important;
+}
+
+.o_kanban_view .o_kanban_record {
+ background-color: #313852 !important;
+ border-color: #313852 !important;
+ color: #c7c7c7;
+}
+
+.o_kanban_view .o_kanban_record .o_dropdown_kanban.show .dropdown-toggle {
+ background: #313852 !important;
+ border-color: #313852 !important;
+}
+
+.o_kanban_view .o_kanban_record .o_kanban_record_title {
+ color: #c7c7c7;
+}
+
+.o_kanban_view .o_kanban_quick_create {
+ border: 1px solid #313852 !important;
+ background-color: #313852 !important;
+}
+
+.oe_kanban_card .o_dropdown_kanban.show .dropdown-toggle {
+ background: #313852 !important;
+ border-color: #313852 !important;
+}
+
+.input-group-text {
+ background-color: #313852 !important;
+ border: 1px solid #313852 !important;
+}
+
+.input-group-text:focus {
+ outline: none !important;
+}
+
+.ui-autocomplete {
+ box-shadow: 0 6px 12px #00000049 !important;
+ color: #c7c7c7 !important;
+ background-color: #182139 !important;
+ border: 1px solid #313852 !important;
+ border-radius: 3px;
+}
+
+.ui-autocomplete .ui-menu-item:hover,
+.ui-autocomplete .ui-menu-item>a:hover {
+ color: #c7c7c7 !important;
+ background-color: #313852 !important;
+}
+
+.ui-autocomplete .ui-menu-item>a.ui-state-active {
+ background-color: #454c66 !important;
+}
+
+.table {
+ color: #c7c7c7 !important;
+}
+
+.o_list_view .o_list_table {
+ background-color: transparent !important;
+}
+
+.o_list_view .o_list_table thead {
+ color: #c7c7c7 !important;
+ border-bottom: none !important;
+ background-color: #313852 !important;
+}
+
+.o_list_view .o_list_table thead th:focus-within {
+ background-color: transparent !important;
+}
+
+.o_list_view .o_list_table thead>tr>th:nth-of-type(1) {
+ border-left: none !important;
+}
+
+.o_list_view .o_list_table tbody.o_keyboard_sidebar td:focus-within {
+ background-color: transparent !important;
+}
+
+.o_list_view .o_list_table tfoot {
+ background-color: #313852 !important;
+}
+
+.o_list_view .o_list_table tr:focus-within,
+.o_list_view .o_list_table th:focus-within {
+ background-color: transparent !important;
+}
+
+.o_list_view .o_list_table.table-striped tr:focus-within {
+ background-color: transparent !important;
+}
+
+.o_list_view .o_list_table .thead,
+.o_list_view .o_list_table thead tr:nth-child(1) th {
+ background: #313852 !important;
+}
+
+.o_list_view .o_list_table tfoot tr:nth-child(1) td {
+ background-color: #313852 !important;
+}
+
+.o_form_view .oe_button_box.o_not_full .oe_stat_button {
+ border-left: 1px solid #313852 !important;
+ padding-left: 5px !important;
+}
+
+.o_form_view .note-editable {
+ border: 1px solid #313852;
+ background: #182139;
+ color: #c7c7c7;
+}
+
+.o_form_view .o_wysiwyg_resizer {
+ background: #182139;
+ border-left: 1px solid #313852;
+ border-bottom: 1px solid #313852;
+ border-right: 1px solid #313852;
+}
+
+@media (max-width: 1199.98px) {
+
+ .o_form_view .oe_chatter,
+ .o_form_view .o_FormRenderer_chatterContainer {
+ border-left: 1px solid #313852 !important;
+ }
+}
+
+.o_form_view .o_notebook>.tab-content {
+ border-bottom: 1px solid #313852 !important;
+}
+
+.custom-control-input:not(:disabled):active~.custom-control-label::before {
+ color: #c7c7c7 !important;
+ background-color: transparent !important;
+ border: 1px solid #313852 !important;
+}
+
+.card-body {
+ background: #313852 !important;
+ color: #c7c7c7 !important;
+}
+
+.o_list_view tbody>tr.o_group_header,
+.o_list_view tbody>tr.o_group_header:focus-within {
+ background-image: linear-gradient(to bottom, #313852, #313852) !important;
+}
+
+.custom-control-input:checked~.custom-control-label::before {
+ background-color: #182139 !important;
+}
+
+.bootstrap-datetimepicker-widget.dropdown-menu.bottom:after {
+ background: #313852;
+ border-top: 1px solid #313852;
+ border-left: 1px solid #313852;
+}
+
+.o_kanban_view.o_kanban_grouped {
+ background-color: #313852 !important;
+}
+
+.o_kanban_view .o_column_quick_create .o_quick_create_unfolded {
+ padding: 8px 8px !important;
+ width: 240px !important;
+ height: 100% !important;
+ border: none !important;
+ box-shadow: 0 0 20px -10px !important;
+ background-color: #313852 !important;
+}
+
+.o_mail_preview {
+ background-color: #313852 !important;
+ color: #c7c7c7 !important;
+}
+
+.o_mail_preview.o_systray_activity:hover {
+ background-color: #454c66 !important;
+}
+
+.o_mail_preview:not(:last-child) {
+ border-bottom: 1px solid #313852 !important;
+}
+
+.o_mail_preview .o_preview_name {
+ color: #c7c7c7 !important;
+}
+
+.o_mail_discuss .o_mail_discuss_content {
+ background-color: #313852 !important;
+}
+
+.o_Discuss .bg-light {
+ color: inherit;
+}
+
+.o_Discuss .o_ThreadView {
+ background-color: transparent !important;
+}
+
+.o_Discuss .o_ThreadView_loadingFailed,
+.o_Discuss .o_ThreadView .o_ThreadViewTopbar {
+ background-color: #313852 !important;
+}
+
+.o_Discuss .o_DiscussSidebarMailbox.o-active {
+ background-color: #454c66;
+}
+
+.o_Discuss .o_DiscussSidebarMailbox_item {
+ color: #c7c7c7;
+}
+
+.o_Discuss .o_DiscussSidebarMailbox:hover,
+.o_Discuss .o_DiscussSidebarCategoryItem:hover {
+ background-color: #454c66;
+}
+
+.o_Discuss .o_Message {
+ background-color: #313852;
+}
+
+.o_Discuss .o_MessageList_separatorLabel {
+ background-color: #313852;
+}
+
+.o_Discuss .o_Discuss.o-mobile {
+ background-color: #313852;
+}
+
+.o_MobileMessagingNavbar {
+ box-shadow: 0 0 8px #00000049;
+ background-color: #313852;
+}
+
+.o_MobileMessagingNavbar_tab {
+ box-shadow: 1px 0 0 #00000049;
+}
+
+.o_Discuss.o-mobile {
+ background-color: #313852;
+}
+
+.o_graph_controller .o_graph_renderer .o_graph_canvas_container canvas {
+ background-color: #313852 !important;
+}
+
+.o_control_panel {
+ background: #394160 !important;
+ border-bottom: 1px solid #313852 !important;
+ z-index: 2;
+}
+
+.list-group-item-action:hover,
+.list-group-item-action:focus {
+ background-color: #454c66 !important;
+}
+
+.o_onboarding {
+ border-bottom: none !important;
+}
+
+.sidebar {
+ background-color: #313852 !important;
+}
+
+.sidebar .sidebar-menu-tab {
+ background-color: #313852 !important;
+ border-right: 1px solid #313852 !important;
+ box-shadow: 0 -4px 25px 0 #00000049;
+}
+
+.sidebar .sidebar-menu-tab header {
+ background-color: #313852 !important;
+}
+
+.sidebar .sidebar-menu-body {
+ border-right: 1px solid #313852 !important;
+}
+
+.sidebar .sidebar-menu-body .sidebar-section-name {
+ border-bottom-color: #313852 !important;
+}
+
+.sidebar .sidebar-menu-body ul li a {
+ color: #66598f !important;
+}
+
+.sidebar .sidebar-menu-body ul li a:focus,
+ .sidebar .sidebar-menu-body ul li a:hover {
+ background: 0 0 !important;
+ color: #66598f !important;
+}
+
+.sidebar .sidebar-menu-body ul li a.active {
+ color: #66598f !important;
+ background: #454c66 !important;
+}
+
+.sidebar .sidebar-menu-body ul li a+ul li a.active {
+ color: #66598f !important;
+}
+
+.sidebar .sidebar-menu-body ul li.open>a {
+ color: #c7c7c7 !important;
+ background-color: #454c66 !important;
+}
+
+.sidebar .sidebar-menu-body ul li .dropdown-divider {
+ color: #313852 !important;
+}
+
+.sidebar .anita-nav-footer {
+ background: #313852 !important;
+ border-top-color: #313852 !important;
+}
+
+.sidebar .anita-nav-footer .anita_footer .o_pager button {
+ background-color: #3b425c !important;
+}
+
+.sidebar .board-panel .search_bar .search_box {
+ background: #313852 !important;
+}
+
+.sidebar .board-panel .search_bar .search_box .search_input {
+ background: #313852 !important;
+}
+
+.customizer {
+ background: #313852 !important;
+ border-left-color: #313852 !important;
+ color: #c7c7c7;
+}
+
+.customizer a,
+ .customizer label,
+ .customizer span,
+ .customizer i {
+ color: #c7c7c7;
+}
+
+.customizer .top_title {
+ border-bottom: 1px solid #313852 !important;
+ background: #313852 !important;
+ border-top: 1px solid #313852 !important;
+ background: #313852 !important;
+ box-shadow: 0 -4px 25px 0 #00000049 !important;
+ color: #c7c7c7;
+}
+
+.customizer .theme_styles h5 {
+ color: #c7c7c7 !important;
+}
+
+.customizer .create_new_theme_mode {
+ color: #c7c7c7 !important;
+}
+
+.customizer .customizer-content .operation-toolbar {
+ background-color: #182139 !important;
+ border-color: #313852 !important;
+}
+
+.customizer .customizer-content .style_item_container .style_item_group .sub-group-body .sub_group_panel {
+ background: #182139 !important;
+}
+
+.customizer .customizer-content .style_item_container .style_item_group .style_item_group_name {
+ border-top: 1px solid #313852 !important;
+ border-bottom: 1px solid #313852 !important;
+ background-color: #272d42 !important;
+}
+
+.customizer .customizer-content .style_item_container .style_item_group .style_sub_group_name {
+ background: #394160 !important;
+ border-bottom: 1px solid #313852 !important;
+ color: #c7c7c7;
+}
+
+.customizer .customizer-content .style_item_container .style_item_group .colorpicker-input-addon i {
+ border: 1px solid #182139 !important;
+}
+
+.customizer .customizer-content .style_item_container .add_new_group {
+ color: #c7c7c7;
+ border-top: 1px solid #313852 !important;
+ border-bottom: 1px solid #313852 !important;
+ background-color: #313852 !important;
+}
+
+.customizer .customizer-content .settings .tab-content .tab-pane {
+ background: #313852 !important;
+ border-color: #313852 !important;
+}
+
+.customizer .customizer-content .style-preview-box {
+ box-shadow: 0 2px 10px #00000049 !important;
+}
+
+.customizer .customizer-content .theme_mode_tool_bar {
+ border-top: 1px solid #313852;
+ border-bottom: 1px solid #313852;
+ background-color: #394160;
+ color: #c7c7c7;
+}
+
+.customizer .theme_styles .style_item_container .theme-style-nav-item {
+ background: transparent !important;
+}
+
+.customizer .theme_styles .style_item_container .style_items {
+ padding: 0px !important;
+}
+
+.customizer .theme_styles .style_item_container .style_items .style_item .title {
+ color: #c7c7c7;
+}
+
+.customizer .theme_styles .style_item_container .theme_style_tab:hover {
+ background: #454c66 !important;
+}
+
+.customizer .theme_styles .style_item_container .theme_style_tab.active {
+ background: #454c66 !important;
+}
+
+.customizer .style-preview-box {
+ border-color: #c7c7c7 !important;
+}
+
+.customizer .style-preview-box .sidebar-box {
+ border-right-color: #313852 !important;
+}
+
+.customizer .customizer-footer {
+ border-top: 1px solid #313852 !important;
+ background: #313852 !important;
+ box-shadow: 0 -4px 25px 0 #00000049 !important;
+}
+
+.anita_accordion .accordion_button {
+ color: #c7c7c7;
+ background-color: #394160;
+}
+
+.o_form_view .o_form_statusbar {
+ background-color: #3b425c !important;
+ border: 1px solid #313852 !important;
+ padding-left: 25px !important;
+ box-shadow: 0px 4px 16px #00000049 !important;
+}
+
+.o_form_view .o_form_statusbar>.o_statusbar_status>.o_arrow_button:not(:first-child):after {
+ border-left: 11px solid #3b425c !important;
+}
+
+.o_form_view .o_form_statusbar>.o_statusbar_status>.o_arrow_button:not(:first-child):before {
+ border-left-color: #313852 !important;
+}
+
+.o_form_view .o_form_statusbar>.o_statusbar_status .o_arrow_button.btn-primary.disabled {
+ background-color: #313852 !important;
+}
+
+.o_form_view .o_form_statusbar>.o_statusbar_status .o_arrow_button.btn-primary.disabled:after {
+ border-left-color: #313852 !important;
+}
+
+.o_form_view .o_required_modifier.o_input,
+.o_form_view .o_required_modifier .o_input {
+ background-color: #292f44 !important;
+}
+
+.o_form_view .o_required_modifier.o_input:focus,
+.o_form_view .o_required_modifier .o_input:focus {
+ border-color: #313852 !important;
+}
+
+.o_form_view .o_required_modifier.o_input:hover,
+.o_form_view .o_required_modifier .o_input:hover {
+ border-color: #313852 !important;
+}
+
+.note-editor {
+ border: 1px solid #313852 !important;
+}
+
+.note-editor .note-editing-area .note-editable {
+ background-color: #313852 !important;
+ color: #c7c7c7 !important;
+}
+
+.note-editor .note-statusbar {
+ background-color: #313852 !important;
+}
+
+.note-editor .panel-heading.note-toolbar {
+ border-bottom: 1px solid #313852 !important;
+ background-color: #313852 !important;
+}
+
+.note-editor .panel-heading.note-toolbar .btn {
+ border-left: none !important;
+ border-right: none !important;
+ background: transparent !important;
+}
+
+.alert-info {
+ border-color: #313852 !important;
+}
+
+.o_widget_Discuss .o_Discuss_content {
+ border-top: none !important;
+}
+
+.o_widget_Discuss .o_MessageList {
+ background-color: #313852 !important;
+}
+
+.o_widget_Discuss .o_DiscussSidebar {
+ background-color: #394160 !important;
+}
+
+.o_MessagingMenu .o_MessagingMenu_notificationList {
+ background-color: #313852 !important;
+}
+
+.o_MessagingMenu .o_MessagingMenu_notificationList .o_NotificationList_notificationRequest,
+.o_MessagingMenu .o_MessagingMenu_notificationList .o_NotificationGroup,
+.o_MessagingMenu .o_MessagingMenu_notificationList .o_ThreadPreview {
+ background-color: #313852 !important;
+}
+
+.o_MessagingMenu .o_MessagingMenu_notificationList .o_NotificationList_notificationRequest:hover,
+.o_MessagingMenu .o_MessagingMenu_notificationList .o_NotificationGroup:hover,
+.o_MessagingMenu .o_MessagingMenu_notificationList .o_ThreadPreview:hover {
+ background-color: #454c66 !important;
+}
+
+.o_MessagingMenu .o_MessagingMenu_notificationList .o_NotificationList_separator {
+ border-bottom: 1px solid #313852 !important;
+}
+
+.o_MessagingMenu .o_MessagingMenu_dropdownMenuHeader {
+ border-bottom: 1px solid #313852 !important;
+}
+
+.o_field_widget.o_field_many2manytags .o_tag_color_0 {
+ background-color: #313852 !important;
+ color: #c7c7c7 !important;
+ box-shadow: inset 0 0 0 2px #313852 !important;
+}
+
+.o_field_widget.o_field_many2manytags .o_input {
+ border: none !important;
+}
+
+.o_setting_search {
+ background: #3b425c !important;
+ border: none !important;
+}
+
+.o_setting_search input {
+ border-bottom: none !important;
+ background: #313852 !important;
+ color: #c7c7c7 !important;
+}
+
+.o_setting_search .searchIcon {
+ right: 10px !important;
+}
+
+.o_base_settings {
+ background-color: transparent !important;
+}
+
+.o_base_settings .o_setting_container .settings {
+ background-color: #394160 !important;
+}
+
+.o_base_settings .o_setting_container .settings_tab {
+ background: #182139 !important;
+}
+
+.o_base_settings .o_form_statusbar {
+ box-shadow: none !important;
+ border: none !important;
+}
+
+.o_base_settings .o_control_panel .o_panel .o_setting_search .searchInput {
+ border: 1px solid #4d5075 !important;
+ padding: 2px 10px !important;
+ border-radius: 50px;
+ height: 34px;
+}
+
+.o_base_settings .o_control_panel .o_panel .o_setting_search .searchInput .searchIcon {
+ line-height: 34px;
+}
+
+@media (max-width: 767.98px) {
+ .o_base_settings .o_control_panel .o_panel .o_setting_search .searchInput {
+ border: none !important;
+ }
+}
+
+.o_base_settings .o_setting_container .settings>.app_settings_block h2 {
+ padding: 0.75rem 16px !important;
+ background-color: #313852 !important;
+}
+
+.o_base_settings .o_setting_container .o_setting_box .o_setting_right_pane {
+ border-left: 1px solid #313852;
+}
+
+.o_base_settings .o_setting_container .settings_tab {
+ box-shadow: 4px 0px 10px #00000049 !important;
+ z-index: 1;
+}
+
+.o_base_settings .o_setting_container .settings_tab .tab {
+ color: #c7c7c7 !important;
+}
+
+.o_base_settings .o_setting_container .settings_tab .tab.selected {
+ color: #c7c7c7 !important;
+ background-color: #454c66;
+}
+
+@media (max-width: 767.98px) {
+ .o_base_settings .o_setting_search {
+ border: 1px solid #4d5075 !important;
+ border-radius: 30px;
+ padding: 0px 15px;
+ line-height: 30px;
+ }
+}
+
+.sidebar-menu-tab-header .user_profile_header_image {
+ background: #313852 !important;
+}
+
+.sidebar-menu-tab-header .dropdown-menu {
+ background: #313852 !important;
+}
+
+.sidebar-menu-tab-header .dropdown-menu .dropdown-menu-body {
+ background: #313852 !important;
+}
+
+.sidebar-menu-tab-header .dropdown-menu .user_profile_footer {
+ background: #313852 !important;
+}
+
+.o_calendar_view {
+ background-color: #313852 !important;
+ background: linear-gradient(-45deg, #313852, #313852) !important;
+}
+
+.o_calendar_view .o_calendar_widget {
+ color: #c7c7c7 !important;
+}
+
+.o_calendar_view .o_calendar_widget td {
+ border-color: #313852 !important;
+}
+
+.o_calendar_view .o_calendar_widget .fc-widget-header {
+ border-bottom-color: #313852 !important;
+}
+
+.o_calendar_view .o_calendar_widget .fc-timeGridDay-view tbody td,
+.o_calendar_view .o_calendar_widget .fc-timeGridWeek-view tbody td {
+ border-top-color: #313852 !important;
+}
+
+.o_calendar_view .o_calendar_widget .fc-body>tr>td {
+ border-color: #313852 !important;
+}
+
+.o_calendar_view .o_calendar_widget .fc-day-grid {
+ background-color: #313852 !important;
+}
+
+.o_calendar_view .o_calendar_widget .fc-day-grid .fc-row {
+ border-bottom: none !important;
+}
+
+.o_calendar_view .o_calendar_widget .fc-widget-content {
+ background-color: #394160 !important;
+}
+
+.o_calendar_view .o_calendar_widget hr.fc-widget-header {
+ background: #313852 !important;
+}
+
+.o_calendar_view .o_calendar_widget .fc-slats tr:first-child td.fc-widget-content:last-child {
+ box-shadow: inset 0 1px 0 #313852 !important;
+}
+
+.o_calendar_view .o_calendar_widget .fc-dayGridMonth-view .fc-bg .fc-today {
+ background: #313852 !important;
+ border-color: #4d5075 !important;
+}
+
+.o_calendar_view .o_calendar_widget .fc-dayGridMonth-view .fc-day-number {
+ color: #c7c7c7 !important;
+}
+
+.o_calendar_sidebar_container {
+ background-color: #313852 !important;
+ border-left: 1px solid #313852 !important;
+}
+
+.o_calendar_sidebar_container .o_calendar_mini .ui-widget-content {
+ border: 1px solid #4d5075 !important;
+ background: #313852 !important;
+ color: #c7c7c7 !important;
+}
+
+.o_field_x2many_list {
+ border: 1px solid #313852;
+ border-right: none;
+ border-left: none;
+}
+
+.akl_multi_tab_container {
+ background-color: #313852 !important;
+ border-bottom: none !important;
+}
+
+.akl_multi_tab_container .akl_multi_tab {
+ box-shadow: 0 1px 2px 0 #00000049 !important;
+}
+
+.akl_multi_tab_container .akl_multi_tab .akl_tab_scroll .akl_page_items {
+ background-color: #313852 !important;
+}
+
+.akl_multi_tab_container .akl_multi_tab .akl_tab_scroll .akl_page_items li {
+ border-right: 1px solid #313852;
+}
+
+.akl_multi_tab_container .akl_multi_tab .akl_tab_scroll .akl_page_items li::after {
+ background-color: #292B34;
+}
+
+.akl_multi_tab_container .akl_multi_tab .akl_tab_scroll .akl_page_items li:hover {
+ background-color: #313852 !important;
+}
+
+.akl_multi_tab_container .akl_multi_tab .akl_tab_scroll .akl_page_items li .akl_tab_close:hover {
+ background-color: #FF5722;
+ color: #fff;
+}
+
+.akl_multi_tab_container .akl_multi_tab .akl_tab_scroll .akl_page_items li.active {
+ background-color: #3b425c;
+}
+
+.akl_multi_tab_container .akl_multi_tab .akl_tab_control {
+ border-left: 1px solid #182139 !important;
+}
+
+.akl_multi_tab_container .akl_multi_tab .akl_tab_control:hover {
+ background-color: #182139 !important;
+}
+
+.akl_multi_tab_container .akl_multi_tab .akl_icon_prev {
+ border-right: 1px solid #313852 !important;
+}
+
+.akl_multi_tab_container .akl_multi_tab .akl_icon_next {
+ border-right: 1px solid #313852 !important;
+ border-left: 1px solid #313852 !important;
+}
+
+.akl_multi_tab_container .akl_multi_tab .akl_icon_down {
+ color: #666;
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+ border-left: 1px solid #f6f6f6;
+}
+
+.akl_multi_tab_container .akl_multi_tab .akl_multi_tab_active {
+ background-color: #394160 !important;
+}
+
+.akl_multi_tab_container .akl_multi_tab .akl_multi_tab_active::after {
+ background-color: #292B34;
+}
+
+.o_graph_canvas_container canvas {
+ background-color: #313852 !important;
+}
+
+::-webkit-scrollbar-track {
+ background: #182139 !important;
+}
+
+::-webkit-scrollbar-thumb {
+ background: #394160 !important;
+}
+
+::-webkit-scrollbar-thumb:increment {
+ background: #313852 !important;
+}
+
+::-webkit-scrollbar-thumb:decrement {
+ background: #313852 !important;
+}
+
+::-webkit-scrollbar-thumb:hover {
+ background: #394160 !important;
+}
+
+::-webkit-scrollbar-track-piece {
+ background: #313852;
+}
+
+::-webkit-scrollbar-corner {
+ background: #182139;
+}
+
+.o_dialog_container {
+ background-color: #182139;
+ -webkit-background-size: cover;
+ -moz-background-size: cover;
+ -o-background-size: cover;
+ background-size: cover;
+}
+
+.o_dialog_container {
+ color: #c7c7c7 !important;
+}
+
+.o_dialog_container .text-muted {
+ color: #c7c7c7 !important;
+}
+
+.o_dialog_container .o_action_manager,
+ .o_dialog_container>header {
+ background-color: rgba(24, 33, 57, 0.4) !important;
+}
+
+.o_dialog_container .anita_multi_tab_container {
+ box-shadow: 0 1px 2px 0 #00000049 !important;
+}
+
+.o_dialog_container .anita_multi_tab_container .anita_multi_tab {
+ background: #313852 !important;
+}
+
+.o_dialog_container .anita_multi_tab_container .anita_multi_tab .anita_tab_scroller .anita_page_items {
+ background: #313852 !important;
+}
+
+.o_dialog_container .anita_multi_tab_container .anita_multi_tab .anita_tab_scroller .anita_page_items li {
+ border-right: 1px solid #4d5075 !important;
+}
+
+.o_dialog_container .anita_multi_tab_container .anita_multi_tab .anita_tab_scroller .anita_page_items li:hover {
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .anita_multi_tab_container .anita_multi_tab .anita_tab_control {
+ border-right: 1px solid #4d5075 !important;
+ border-left: 1px solid #4d5075 !important;
+}
+
+.o_dialog_container .anita_multi_tab_container .anita_multi_tab .anita_tab_control:hover {
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .anita_multi_tab_container .anita_multi_tab .anita_multi_tab_active {
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .anita_multi_tab_container .anita_multi_tab .anita_icon_prev {
+ border-right: 1px solid #4d5075 !important;
+}
+
+.o_dialog_container .anita_multi_tab_container .anita_multi_tab .anita_icon_next {
+ border-right: 1px solid #4d5075 !important;
+ border-left: 1px solid #4d5075 !important;
+}
+
+.o_dialog_container .anita_multi_tab_container .anita_multi_tab .anita_icon_down {
+ border-left: none;
+}
+
+.o_dialog_container .btn {
+ color: #c7c7c7 !important;
+}
+
+.o_dialog_container .btn-primary {
+ background-color: #313852 !important;
+ color: #c7c7c7 !important;
+ border-color: #4d5075 !important;
+}
+
+.o_dialog_container .btn-primary:hover {
+ color: #c7c7c7 !important;
+ background-color: #3b425c !important;
+ border-color: #797bf2 !important;
+}
+
+.o_dialog_container .btn-secondary {
+ color: #c7c7c7 !important;
+ background-color: #3b425c !important;
+ border-color: #313852 !important;
+}
+
+.o_dialog_container .btn-secondary:hover {
+ color: #c7c7c7 !important;
+ background-color: #3b425c !important;
+ border-color: #313852 !important;
+}
+
+.o_dialog_container .btn-secondary:not(:disabled):not(.disabled).active {
+ color: #c7c7c7 !important;
+ background-color: #3b425c !important;
+ border-color: #313852 !important;
+}
+
+.o_dialog_container .btn-light {
+ color: #c7c7c7 !important;
+ background-color: #394160 !important;
+ border-color: #313852 !important;
+}
+
+.o_dialog_container .btn-light:hover {
+ color: #c7c7c7 !important;
+ background-color: #394160 !important;
+ border-color: #313852 !important;
+}
+
+.o_dialog_container .btn-light:not(:disabled):not(.disabled).active {
+ color: #c7c7c7 !important;
+ background-color: #394160 !important;
+ border-color: #313852 !important;
+}
+
+.o_dialog_container .o_searchview {
+ background: #313852 !important;
+ color: #c7c7c7 !important;
+ border-color: #313852 !important;
+}
+
+.o_dialog_container .o_searchview .search_option_dropdown_toggler:hover {
+ color: #c7c7c7 !important;
+}
+
+.o_dialog_container .o_searchview .o_searchview_facet {
+ border: 1px solid #2b3148 !important;
+ background: #394160 !important;
+}
+
+.o_dialog_container .o_searchview .o_searchview_facet .o_searchview_facet_label {
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .o_searchview .o_searchview_autocomplete li.o-selection-focus {
+ background-color: #454c66 !important;
+}
+
+.o_dialog_container .o_searchview .o_searchview_autocomplete .ui-menu-item.ui-state-focus {
+ background-color: #454c66 !important;
+}
+
+.o_dialog_container .o_searchview .o_searchview_autocomplete li.o_selection_focus {
+ background-color: #454c66 !important;
+}
+
+.o_dialog_container .o_searchview .o_searchview_autocomplete li.o_selection_focus {
+ background-color: #454c66 !important;
+}
+
+.o_dialog_container .o_searchview .o_searchview_input_container .o_searchview_input {
+ background: transparent !important;
+ color: #c7c7c7 !important;
+}
+
+.o_dialog_container .o_searchview .anita_search_option_dropdown::after {
+ background: #313852;
+ border-top: 1px solid #4d5075;
+ border-left: 1px solid #4d5075;
+}
+
+.o_dialog_container .o_searchview .anita_search_option_dropdown .nav-pills .nav-link.active,
+.o_dialog_container .o_searchview .anita_search_option_dropdown .nav-pills .show>.nav-link {
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .o_main_navbar {
+ background-color: #313852 !important;
+ color: #c7c7c7 !important;
+ border-bottom: #182139 !important;
+}
+
+.o_dialog_container .alert hr {
+ border-color: #313852 !important;
+}
+
+.o_dialog_container .alert .close:focus,
+.o_dialog_container .alert .close:hover {
+ opacity: .2;
+ color: inherit;
+}
+
+.o_dialog_container .o_content .o_expense_card {
+ border-bottom: 1px solid #313852;
+ border-right: 1px solid #313852;
+}
+
+.o_dialog_container .breadcrumb {
+ background-color: transparent !important;
+}
+
+.o_dialog_container .breadcrumb li a {
+ color: #c7c7c7 !important;
+}
+
+.o_dialog_container .breadcrumb li a:hover {
+ color: #c7c7c7 !important;
+}
+
+.o_dialog_container .breadcrumb li .text-muted {
+ color: #aeadad !important;
+}
+
+.o_dialog_container .breadcrumb li .text-900 {
+ color: #aeadad !important;
+}
+
+.o_dialog_container .custom-control-label::before {
+ border: 1px solid #415291 !important;
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .custom-control-input:disabled~.custom-control-label::before {
+ border: 1px solid #415291 !important;
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .custom-radio .custom-control-label::after {
+ background: #454c66 !important;
+ border-color: #4d5075 !important;
+ color: #c7c7c7 !important;
+}
+
+.o_dialog_container .form-control {
+ color: #c7c7c7 !important;
+ opacity: 1;
+ background-color: #313852 !important;
+ border-color: #313852 !important;
+}
+
+.o_dialog_container .form-control:focus {
+ color: #c7c7c7 !important;
+ background-color: #313852 !important;
+ border-color: #313852 !important;
+}
+
+.o_dialog_container .custom-select {
+ border-color: #4d5075 !important;
+ color: #c7c7c7 !important;
+ background: #313852 !important;
+ border: 1px solid #4d5075 !important;
+}
+
+.o_dialog_container .custom-file-label {
+ background-color: inherit !important;
+ border-color: #4d5075 !important;
+ color: inherit !important;
+}
+
+.o_dialog_container .custom-range::-webkit-slider-runnable-track {
+ background-color: #4d5075 !important;
+}
+
+.o_dialog_container hr {
+ border-color: #313852 !important;
+}
+
+.o_dialog_container .list-group-item {
+ background: 0 0;
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .list-group-item-action {
+ color: inherit !important;
+}
+
+.o_dialog_container .card {
+ background-color: #313852 !important;
+ box-shadow: -8px 12px 18px 0 #313852 !important;
+}
+
+.o_dialog_container .card .card-header {
+ border-bottom: none !important;
+}
+
+.o_dialog_container .card .card-footer {
+ border-top-color: #313852 !important;
+}
+
+.o_dialog_container .avatar:before {
+ border-color: #313852 !important;
+}
+
+.o_dialog_container .avatar .avatar-title {
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .img-thumbnail {
+ border-color: #313852 !important;
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .progress {
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .timeline .timeline-item::before {
+ background: #313852 !important;
+}
+
+.o_dialog_container .o_dropdown.show .o_dropdown_toggler_btn,
+ .o_dialog_container .o_dropdown.hover .o_dropdown_toggler_btn {
+ color: #c7c7c7 !important;
+}
+
+.o_dialog_container .dropdown-menu {
+ box-shadow: 0 6px 12px #00000049 !important;
+ color: #c7c7c7 !important;
+ border: 1px solid #313852 !important;
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .dropdown-menu .dropdown-item {
+ color: #c7c7c7 !important;
+}
+
+.o_dialog_container .dropdown-menu .dropdown-item:focus,
+ .o_dialog_container .dropdown-menu .dropdown-item:hover {
+ color: #c7c7c7 !important;
+ background-color: #454c66 !important;
+}
+
+.o_dialog_container .dropdown-menu .dropdown-item-text {
+ color: #c7c7c7 !important;
+}
+
+.o_dialog_container .dropdown-menu .o_menu_item:hover {
+ color: #c7c7c7 !important;
+ background-color: #454c66 !important;
+}
+
+.o_dialog_container .dropdown-divider {
+ border-top-color: #313852 !important;
+}
+
+.o_dialog_container .daterangepicker {
+ background-color: #313852 !important;
+ border-color: #313852 !important;
+}
+
+.o_dialog_container .daterangepicker select {
+ background-color: inherit !important;
+ color: inherit !important;
+ border-color: #313852 !important;
+}
+
+.o_dialog_container .daterangepicker:after,
+ .o_dialog_container .daterangepicker:before {
+ border-bottom-color: #313852 !important;
+}
+
+.o_dialog_container .daterangepicker td.in-range {
+ background-color: #313852 !important;
+ color: inherit !important;
+}
+
+.o_dialog_container .daterangepicker td.end-date {
+ color: #c7c7c7 !important;
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .daterangepicker .drp-buttons {
+ border-top-color: #313852 !important;
+}
+
+.o_dialog_container .daterangepicker .drp-buttons .btn.btn-default {
+ color: inherit !important;
+}
+
+.o_dialog_container .daterangepicker td.off,
+.o_dialog_container .daterangepicker td.off.end-date,
+.o_dialog_container .daterangepicker td.off.start-date {
+ background-color: inherit !important;
+ color: #313852 !important;
+}
+
+.o_dialog_container .daterangepicker td.off.in-range {
+ color: #c7c7c7 !important;
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .daterangepicker td.available:hover {
+ background-color: #313852 !important;
+ border-color: transparent !important;
+ color: inherit !important;
+}
+
+.o_dialog_container .daterangepicker th.available:hover {
+ background-color: #313852;
+ border-color: transparent !important;
+ color: inherit !important;
+}
+
+.o_dialog_container .daterangepicker .daterangepicker:after {
+ border-bottom-color: #313852 !important;
+}
+
+.o_dialog_container .daterangepicker .ranges li:hover {
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .daterangepicker .popover.clockpicker-popover {
+ overflow: hidden !important;
+ border: 1px solid #313852 !important;
+}
+
+.o_dialog_container .daterangepicker .popover.clockpicker-popover.popover-title {
+ background-color: #313852 !important;
+ color: inherit !important;
+}
+
+.o_dialog_container .daterangepicker .popover.clockpicker-popover.popover-content {
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .daterangepicker .calendar-table {
+ border: 0px solid #4d5075 !important;
+ background-color: #313852 !important;
+ color: #c7c7c7 !important;
+}
+
+.o_dialog_container .daterangepicker .calendar-table .next span,
+.o_dialog_container .daterangepicker .calendar-table .prev span {
+ border-color: #4d5075 !important;
+}
+
+.o_dialog_container .popover.clockpicker-popover .clockpicker-plate {
+ -webkit-filter: drop-shadow(0 1px 3px #00000049) !important;
+ filter: drop-shadow(0 1px 3px #00000049) !important;
+ background-color: #313852 !important;
+ border: 1px solid #4d5075 !important;
+}
+
+.o_dialog_container .popover.clockpicker-popover .clockpicker-plate .clockpicker-tick {
+ color: inherit !important;
+}
+
+.o_dialog_container .popover.clockpicker-popover .clockpicker-plate .clockpicker-canvas-bg {
+ fill: #313852 !important;
+}
+
+.o_dialog_container .select2-drop {
+ background-color: #313852;
+ border: 1px solid #4d5075;
+}
+
+.o_dialog_container .select2-drop .select2-results {
+ background-color: #313852;
+}
+
+.o_dialog_container .select2-drop .select2-results .select2-result {
+ background-color: #313852;
+}
+
+.o_dialog_container .select2-drop .select2-results .select2-result.select2-highlighted {
+ background-color: #454c66;
+}
+
+.o_dialog_container .nav-pills .nav-link.active,
+.o_dialog_container .nav-pills .show>.nav-link {
+ color: #66598f !important;
+ background-color: #394160 !important;
+ border: 1px solid #313852 !important;
+}
+
+.o_dialog_container .nav-tabs {
+ border-bottom-color: #182139 !important;
+}
+
+.o_dialog_container .nav-tabs .nav-link:focus,
+ .o_dialog_container .nav-tabs .nav-link:hover {
+ border-color: #182139 !important;
+ background: #313852 !important;
+ border-bottom-color: #313852 !important;
+ color: #66598f !important;
+}
+
+.o_dialog_container .nav-tabs .nav-link .nav-link,
+ .o_dialog_container .nav-tabs .nav-link.active {
+ color: #66598f !important;
+ background: #313852 !important;
+ border-color: #182139 !important;
+ border-bottom-color: #313852 !important;
+}
+
+.o_dialog_container .figure-caption {
+ color: inherit !important;
+}
+
+.o_dialog_container .btn-link.o-active {
+ color: #454c66;
+}
+
+.o_dialog_container .nicescroll-cursors {
+ background-color: #4d5075 !important;
+}
+
+.o_dialog_container .table td,
+.o_dialog_container .table th {
+ border-color: #313852 !important;
+}
+
+.o_dialog_container .table-striped tbody tr:nth-of-type(odd) {
+ background-color: #3b425c !important;
+}
+
+.o_dialog_container .table-striped tbody tr:nth-of-type(even) {
+ background-color: #182139 !important;
+}
+
+.o_dialog_container .table-hover tbody tr:hover {
+ background-color: #424b70 !important;
+ color: #c7c7c7 !important;
+}
+
+.o_dialog_container .input-group-text {
+ background-color: #313852 !important;
+ border: 1px solid #4d5075 !important;
+}
+
+.o_dialog_container .btn.btn-outline-light {
+ border: 1px solid #4d5075 !important;
+ color: #c7c7c7 !important;
+}
+
+.o_dialog_container .btn.btn-outline-light:hover {
+ background: 0 0 !important;
+ color: #d6d6d6 !important;
+ border: 1px solid #4d5075 !important;
+}
+
+.o_dialog_container .modal-content {
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .modal-content .modal-header {
+ border-bottom-color: #313852 !important;
+ background-color: #394160 !important;
+}
+
+.o_dialog_container .modal-content .modal-header .close {
+ text-shadow: none !important;
+ opacity: 1 !important;
+ color: inherit !important;
+ background-color: transparent !important;
+}
+
+.o_dialog_container .modal-content .modal-footer {
+ border-top-color: #313852 !important;
+ background-color: #394160 !important;
+}
+
+.o_dialog_container .popover {
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .popover .popover-header {
+ background-color: #313852 !important;
+ border-color: transparent !important;
+}
+
+.o_dialog_container .popover .popover-body {
+ color: inherit !important;
+}
+
+.o_dialog_container .popover .popover-sidebar {
+ border-top-color: #313852 !important;
+}
+
+.o_dialog_container .bs-popover-auto[x-placement^=top]>.arrow::after,
+.o_dialog_container .bs-popover-top>.arrow::after,
+.o_dialog_container .bs-popover-auto[x-placement^="top"]>.arrow::after {
+ border-top-color: #4d5075 !important;
+}
+
+.o_dialog_container .bs-popover-auto[x-placement^=right]>.arrow::after,
+.o_dialog_container .bs-popover-right>.arrow::after,
+.o_dialog_container .bs-popover-auto[x-placement^="right"]>.arrow::after {
+ border-right-color: #4d5075 !important;
+}
+
+.o_dialog_container .bs-popover-auto[x-placement^=right]>.arrow::after,
+.o_dialog_container .bs-popover-right>.arrow::after,
+.o_dialog_container .bs-popover-auto[x-placement^="right"]>.arrow::after {
+ border-right-color: #4d5075 !important;
+}
+
+.o_dialog_container .bs-popover-auto[x-placement^=bottom]>.arrow::after,
+.o_dialog_container .bs-popover-bottom>.arrow::after,
+.o_dialog_container .bs-popover-auto[x-placement^="bottom"]>.arrow::after {
+ border-bottom-color: #4d5075 !important;
+}
+
+.o_dialog_container .bs-popover-auto[x-placement^=left]>.arrow::after,
+.o_dialog_container .bs-popover-left>.arrow::after,
+.o_dialog_container .bs-popover-auto[x-placement^="left"]>.arrow::after {
+ border-left-color: #4d5075 !important;
+}
+
+.o_dialog_container .page-item.disabled .page-link {
+ color: #ced4da !important;
+ background-color: #313852 !important;
+ border-color: #4d5075 !important;
+}
+
+.o_dialog_container .page-item .page-link {
+ background-color: inherit !important;
+ color: inherit !important;
+ border-color: #313852 !important;
+}
+
+.o_dialog_container .page-item .page-link:hover {
+ color: #c7c7c7 !important;
+ background-color: #313852 !important;
+ color: #c7c7c7 !important;
+}
+
+.o_dialog_container .nav a.nav-link:not(.active) {
+ color: #66598f !important;
+}
+
+.o_dialog_container .nav a.nav-link:not(.active):active,
+.o_dialog_container .nav a.nav-link:not(.active):hover {
+ background-color: #454c66 !important;
+}
+
+@media (min-width: 1200px) {
+ .o_dialog_container.sidebar-toggle-one.sidebar-show .sidebar .sidebar-menu-body {
+ background-color: #313852 !important;
+ }
+}
+
+@media (max-width: 414px) {
+ .o_dialog_container .nav li.nav-item {
+ border-bottom-color: #313852 !important;
+ color: #c7c7c7 !important;
+ }
+}
+
+.o_dialog_container .o_Chatter {
+ background-color: #394160 !important;
+ border-color: #313852 !important;
+}
+
+.o_dialog_container .o_Chatter .o_Message.o-not-discussion {
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .o_Chatter .o_MessageList_separatorLabel {
+ background-color: transparent !important;
+}
+
+.o_dialog_container .o_Chatter .o_MessageList {
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .o_Chatter .o_Message.o-not-discussion {
+ background-color: #313852 !important;
+ border-bottom: 1px solid #313852 !important;
+}
+
+@media (min-width: 992px) {
+
+ .o_dialog_container .o_form_view>.oe_chatter,
+ .o_dialog_container .o_form_view .o_FormRenderer_chatterContainer {
+ border-left: 1px solid #313852;
+ }
+}
+
+.o_dialog_container .o_Composer:not(.o-messaging-in-editing) {
+ background-color: #182139;
+}
+
+.o_dialog_container .o_Composer:not(.o-messaging-in-editing) .o_Composer_textInput.o-has-current-partner-avatar.o-composer-is-compact {
+ border-radius: 0.6rem 0 0 0.6rem;
+ border-color: #313852;
+ background: #313852;
+}
+
+.o_dialog_container .o_Composer:not(.o-messaging-in-editing) .o_Composer_textInput.o-has-current-partner-avatar.o-composer-is-compact textarea {
+ background-color: #313852;
+ color: #c7c7c7;
+}
+
+.o_dialog_container .o_Composer:not(.o-messaging-in-editing) .o_Composer_textInput.o-has-current-partner-avatar.o-composer-is-compact .o_Composer_toolButtonSeparator {
+ border-left: 1px solid #313852;
+}
+
+.o_dialog_container .o_Composer_toolButtons {
+ background-color: #313852;
+ border-top: 1px solid #313852;
+ border-bottom: 1px solid #313852;
+}
+
+.o_dialog_container .o_DiscussSidebarCategoryItem.o-active {
+ background-color: #454c66;
+}
+
+.o_dialog_container h1,
+.o_dialog_container h2,
+.o_dialog_container h3,
+.o_dialog_container h4,
+.o_dialog_container h5,
+.o_dialog_container h6,
+.o_dialog_container .h1,
+.o_dialog_container .h2,
+.o_dialog_container .h3,
+.o_dialog_container .h4,
+.o_dialog_container .h5,
+.o_dialog_container .o_kanban_view.o_kanban_dashboard .o_kanban_record .o_kanban_card_manage_pane.container div[class*="col-"]>.o_kanban_card_manage_title,
+.o_dialog_container .o_kanban_view.o_kanban_dashboard .o_kanban_record .o_kanban_card_manage_pane.o_container_small div[class*="col-"]>.o_kanban_card_manage_title,
+.o_dialog_container .h6 {
+ color: #c7c7c7 !important;
+}
+
+.o_dialog_container .oe_button_box {
+ box-shadow: inset 0 -1px 0 #313852 !important;
+}
+
+.o_dialog_container .o_form_view {
+ background-color: #313852;
+}
+
+.o_dialog_container .o_form_view .o_form_sheet_bg {
+ background: #313852;
+ border-bottom: none;
+}
+
+.o_dialog_container .o_form_view .o_form_sheet_bg>.o_form_sheet {
+ min-width: initial;
+ border: 1px solid #313852 !important;
+ background: #394160 !important;
+ box-shadow: 2px 1px 20px 0px #00000049 !important;
+}
+
+.o_dialog_container .o_form_view .oe_button_box.o_not_full .oe_stat_button {
+ border-left: 1px solid #313852 !important;
+}
+
+.o_dialog_container .o_form_view .table-responsive {
+ border-top: 1px solid #313852 !important;
+}
+
+.o_dialog_container .o_form_view .o_notebook>.tab-content>.tab-pane> :first-child.o_field_x2many.o_field_x2many_list .table-responsive,
+.o_dialog_container .o_form_view .table-responsive {
+ border-top: none !important;
+}
+
+.o_dialog_container .o_form_view .o_form_label {
+ color: #c7c7c7 !important;
+}
+
+.o_dialog_container .o_form_view .o_form_uri>span {
+ color: #66598f !important;
+}
+
+.o_dialog_container .o_form_view .o_group.o_inner_group.oe_subtotal_footer {
+ border-top: 1px solid #313852 !important;
+}
+
+.o_dialog_container .o_form_view .oe_avatar>img {
+ border-color: #182139 !important;
+}
+
+.o_dialog_container.o_required_modifier.o_input .o_input {
+ background-color: #292f44 !important;
+}
+
+.o_dialog_container .o_input,
+.o_dialog_container .single-line {
+ background: #292f44 !important;
+ border: 1px solid #394160 !important;
+ color: #c7c7c7 !important;
+}
+
+.o_dialog_container .o_input:focus,
+.o_dialog_container .single-line:focus {
+ border: 1px solid #313852 !important;
+}
+
+.o_dialog_container .o_input:hover,
+.o_dialog_container .single-line:hover {
+ border: 1px solid #4d5075 !important;
+}
+
+.o_dialog_container .text-divider:after {
+ background-color: #313852 !important;
+}
+
+.o_dialog_container input::-webkit-input-placeholder {
+ color: rgba(255, 255, 255, 0.5) !important;
+}
+
+.o_dialog_container input::-moz-placeholder {
+ color: rgba(255, 255, 255, 0.5) !important;
+}
+
+.o_dialog_container input::-ms-input-placeholder {
+ color: rgba(255, 255, 255, 0.5) !important;
+}
+
+.o_dialog_container input::placeholder {
+ color: rgba(255, 255, 255, 0.5) !important;
+}
+
+.o_dialog_container .border {
+ border-color: #313852 !important;
+}
+
+.o_dialog_container .border-right {
+ border-left-color: #313852 !important;
+ border-right-color: #313852 !important;
+}
+
+.o_dialog_container .border-left {
+ border-left-color: #313852 !important;
+ border-right-color: #313852 !important;
+}
+
+.o_dialog_container .border-bottom {
+ border-bottom-color: #313852 !important;
+}
+
+.o_dialog_container .border-top {
+ border-top-color: #313852 !important;
+}
+
+.o_dialog_container .o_search_panel {
+ background-color: #313852 !important;
+ border-right: 1px solid #313852 !important;
+ color: #c7c7c7 !important;
+}
+
+.o_dialog_container .o_search_panel .list-group-item {
+ color: #c7c7c7 !important;
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .o_search_panel .list-group-item .active {
+ background-color: #454c66 !important;
+}
+
+.o_dialog_container .o_search_panel .list-group-item .o_search_panel_label_title {
+ color: #c7c7c7 !important;
+}
+
+.o_dialog_container .o_search_panel .anita_panel_toggler {
+ background-color: #313852 !important;
+}
+
+@media (max-width: 575.98px) {
+ .o_dialog_container .o_search_panel .anita_panel_toggler {
+ box-shadow: 9px -1px 16px #00000049 !important;
+ }
+}
+
+.o_dialog_container .card {
+ background: #313852 !important;
+}
+
+.o_dialog_container .o_kanban_view .o_kanban_record {
+ background-color: #313852 !important;
+ border-color: #313852 !important;
+ color: #c7c7c7;
+}
+
+.o_dialog_container .o_kanban_view .o_kanban_record .o_dropdown_kanban.show .dropdown-toggle {
+ background: #313852 !important;
+ border-color: #313852 !important;
+}
+
+.o_dialog_container .o_kanban_view .o_kanban_record .o_kanban_record_title {
+ color: #c7c7c7;
+}
+
+.o_dialog_container .o_kanban_view .o_kanban_quick_create {
+ border: 1px solid #313852 !important;
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .oe_kanban_card .o_dropdown_kanban.show .dropdown-toggle {
+ background: #313852 !important;
+ border-color: #313852 !important;
+}
+
+.o_dialog_container .input-group-text {
+ background-color: #313852 !important;
+ border: 1px solid #313852 !important;
+}
+
+.o_dialog_container .input-group-text:focus {
+ outline: none !important;
+}
+
+.o_dialog_container .ui-autocomplete {
+ box-shadow: 0 6px 12px #00000049 !important;
+ color: #c7c7c7 !important;
+ background-color: #182139 !important;
+ border: 1px solid #313852 !important;
+ border-radius: 3px;
+}
+
+.o_dialog_container .ui-autocomplete .ui-menu-item:hover,
+.o_dialog_container .ui-autocomplete .ui-menu-item>a:hover {
+ color: #c7c7c7 !important;
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .ui-autocomplete .ui-menu-item>a.ui-state-active {
+ background-color: #454c66 !important;
+}
+
+.o_dialog_container .table {
+ color: #c7c7c7 !important;
+}
+
+.o_dialog_container .o_list_view .o_list_table {
+ background-color: transparent !important;
+}
+
+.o_dialog_container .o_list_view .o_list_table thead {
+ color: #c7c7c7 !important;
+ border-bottom: none !important;
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .o_list_view .o_list_table thead th:focus-within {
+ background-color: transparent !important;
+}
+
+.o_dialog_container .o_list_view .o_list_table thead>tr>th:nth-of-type(1) {
+ border-left: none !important;
+}
+
+.o_dialog_container .o_list_view .o_list_table tbody.o_keyboard_sidebar td:focus-within {
+ background-color: transparent !important;
+}
+
+.o_dialog_container .o_list_view .o_list_table tfoot {
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .o_list_view .o_list_table tr:focus-within,
+.o_dialog_container .o_list_view .o_list_table th:focus-within {
+ background-color: transparent !important;
+}
+
+.o_dialog_container .o_list_view .o_list_table.table-striped tr:focus-within {
+ background-color: transparent !important;
+}
+
+.o_dialog_container .o_list_view .o_list_table .thead,
+.o_dialog_container .o_list_view .o_list_table thead tr:nth-child(1) th {
+ background: #313852 !important;
+}
+
+.o_dialog_container .o_list_view .o_list_table tfoot tr:nth-child(1) td {
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .o_form_view .oe_button_box.o_not_full .oe_stat_button {
+ border-left: 1px solid #313852 !important;
+ padding-left: 5px !important;
+}
+
+.o_dialog_container .o_form_view .note-editable {
+ border: 1px solid #313852;
+ background: #182139;
+ color: #c7c7c7;
+}
+
+.o_dialog_container .o_form_view .o_wysiwyg_resizer {
+ background: #182139;
+ border-left: 1px solid #313852;
+ border-bottom: 1px solid #313852;
+ border-right: 1px solid #313852;
+}
+
+@media (max-width: 1199.98px) {
+
+ .o_dialog_container .o_form_view .oe_chatter,
+ .o_dialog_container .o_form_view .o_FormRenderer_chatterContainer {
+ border-left: 1px solid #313852 !important;
+ }
+}
+
+.o_dialog_container .o_form_view .o_notebook>.tab-content {
+ border-bottom: 1px solid #313852 !important;
+}
+
+.o_dialog_container .custom-control-input:not(:disabled):active~.custom-control-label::before {
+ color: #c7c7c7 !important;
+ background-color: transparent !important;
+ border: 1px solid #313852 !important;
+}
+
+.o_dialog_container .card-body {
+ background: #313852 !important;
+ color: #c7c7c7 !important;
+}
+
+.o_dialog_container .o_list_view tbody>tr.o_group_header,
+.o_dialog_container .o_list_view tbody>tr.o_group_header:focus-within {
+ background-image: linear-gradient(to bottom, #313852, #313852) !important;
+}
+
+.o_dialog_container .custom-control-input:checked~.custom-control-label::before {
+ background-color: #182139 !important;
+}
+
+.o_dialog_container .bootstrap-datetimepicker-widget.dropdown-menu.bottom:after {
+ background: #313852;
+ border-top: 1px solid #313852;
+ border-left: 1px solid #313852;
+}
+
+.o_dialog_container .o_kanban_view.o_kanban_grouped {
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .o_kanban_view .o_column_quick_create .o_quick_create_unfolded {
+ padding: 8px 8px !important;
+ width: 240px !important;
+ height: 100% !important;
+ border: none !important;
+ box-shadow: 0 0 20px -10px !important;
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .o_mail_preview {
+ background-color: #313852 !important;
+ color: #c7c7c7 !important;
+}
+
+.o_dialog_container .o_mail_preview.o_systray_activity:hover {
+ background-color: #454c66 !important;
+}
+
+.o_dialog_container .o_mail_preview:not(:last-child) {
+ border-bottom: 1px solid #313852 !important;
+}
+
+.o_dialog_container .o_mail_preview .o_preview_name {
+ color: #c7c7c7 !important;
+}
+
+.o_dialog_container .o_mail_discuss .o_mail_discuss_content {
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .o_Discuss .bg-light {
+ color: inherit;
+}
+
+.o_dialog_container .o_Discuss .o_ThreadView {
+ background-color: transparent !important;
+}
+
+.o_dialog_container .o_Discuss .o_ThreadView_loadingFailed,
+.o_dialog_container .o_Discuss .o_ThreadView .o_ThreadViewTopbar {
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .o_Discuss .o_DiscussSidebarMailbox.o-active {
+ background-color: #454c66;
+}
+
+.o_dialog_container .o_Discuss .o_DiscussSidebarMailbox_item {
+ color: #c7c7c7;
+}
+
+.o_dialog_container .o_Discuss .o_DiscussSidebarMailbox:hover,
+.o_dialog_container .o_Discuss .o_DiscussSidebarCategoryItem:hover {
+ background-color: #454c66;
+}
+
+.o_dialog_container .o_Discuss .o_Message {
+ background-color: #313852;
+}
+
+.o_dialog_container .o_Discuss .o_MessageList_separatorLabel {
+ background-color: #313852;
+}
+
+.o_dialog_container .o_Discuss .o_Discuss.o-mobile {
+ background-color: #313852;
+}
+
+.o_dialog_container .o_MobileMessagingNavbar {
+ box-shadow: 0 0 8px #00000049;
+ background-color: #313852;
+}
+
+.o_dialog_container .o_MobileMessagingNavbar_tab {
+ box-shadow: 1px 0 0 #00000049;
+}
+
+.o_dialog_container .o_Discuss.o-mobile {
+ background-color: #313852;
+}
+
+.o_dialog_container .o_graph_controller .o_graph_renderer .o_graph_canvas_container canvas {
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .o_control_panel {
+ background: #394160 !important;
+ border-bottom: 1px solid #313852 !important;
+ z-index: 2;
+}
+
+.o_dialog_container .list-group-item-action:hover,
+.o_dialog_container .list-group-item-action:focus {
+ background-color: #454c66 !important;
+}
+
+.o_dialog_container .o_onboarding {
+ border-bottom: none !important;
+}
+
+.o_dialog_container .sidebar {
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .sidebar .sidebar-menu-tab {
+ background-color: #313852 !important;
+ border-right: 1px solid #313852 !important;
+ box-shadow: 0 -4px 25px 0 #00000049;
+}
+
+.o_dialog_container .sidebar .sidebar-menu-tab header {
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .sidebar .sidebar-menu-body {
+ border-right: 1px solid #313852 !important;
+}
+
+.o_dialog_container .sidebar .sidebar-menu-body .sidebar-section-name {
+ border-bottom-color: #313852 !important;
+}
+
+.o_dialog_container .sidebar .sidebar-menu-body ul li a {
+ color: #66598f !important;
+}
+
+.o_dialog_container .sidebar .sidebar-menu-body ul li a:focus,
+ .o_dialog_container .sidebar .sidebar-menu-body ul li a:hover {
+ background: 0 0 !important;
+ color: #66598f !important;
+}
+
+.o_dialog_container .sidebar .sidebar-menu-body ul li a.active {
+ color: #66598f !important;
+ background: #454c66 !important;
+}
+
+.o_dialog_container .sidebar .sidebar-menu-body ul li a+ul li a.active {
+ color: #66598f !important;
+}
+
+.o_dialog_container .sidebar .sidebar-menu-body ul li.open>a {
+ color: #c7c7c7 !important;
+ background-color: #454c66 !important;
+}
+
+.o_dialog_container .sidebar .sidebar-menu-body ul li .dropdown-divider {
+ color: #313852 !important;
+}
+
+.o_dialog_container .sidebar .anita-nav-footer {
+ background: #313852 !important;
+ border-top-color: #313852 !important;
+}
+
+.o_dialog_container .sidebar .anita-nav-footer .anita_footer .o_pager button {
+ background-color: #3b425c !important;
+}
+
+.o_dialog_container .sidebar .board-panel .search_bar .search_box {
+ background: #313852 !important;
+}
+
+.o_dialog_container .sidebar .board-panel .search_bar .search_box .search_input {
+ background: #313852 !important;
+}
+
+.o_dialog_container .customizer {
+ background: #313852 !important;
+ border-left-color: #313852 !important;
+ color: #c7c7c7;
+}
+
+.o_dialog_container .customizer a,
+ .o_dialog_container .customizer label,
+ .o_dialog_container .customizer span,
+ .o_dialog_container .customizer i {
+ color: #c7c7c7;
+}
+
+.o_dialog_container .customizer .top_title {
+ border-bottom: 1px solid #313852 !important;
+ background: #313852 !important;
+ border-top: 1px solid #313852 !important;
+ background: #313852 !important;
+ box-shadow: 0 -4px 25px 0 #00000049 !important;
+ color: #c7c7c7;
+}
+
+.o_dialog_container .customizer .theme_styles h5 {
+ color: #c7c7c7 !important;
+}
+
+.o_dialog_container .customizer .create_new_theme_mode {
+ color: #c7c7c7 !important;
+}
+
+.o_dialog_container .customizer .customizer-content .operation-toolbar {
+ background-color: #182139 !important;
+ border-color: #313852 !important;
+}
+
+.o_dialog_container .customizer .customizer-content .style_item_container .style_item_group .sub-group-body .sub_group_panel {
+ background: #182139 !important;
+}
+
+.o_dialog_container .customizer .customizer-content .style_item_container .style_item_group .style_item_group_name {
+ border-top: 1px solid #313852 !important;
+ border-bottom: 1px solid #313852 !important;
+ background-color: #272d42 !important;
+}
+
+.o_dialog_container .customizer .customizer-content .style_item_container .style_item_group .style_sub_group_name {
+ background: #394160 !important;
+ border-bottom: 1px solid #313852 !important;
+ color: #c7c7c7;
+}
+
+.o_dialog_container .customizer .customizer-content .style_item_container .style_item_group .colorpicker-input-addon i {
+ border: 1px solid #182139 !important;
+}
+
+.o_dialog_container .customizer .customizer-content .style_item_container .add_new_group {
+ color: #c7c7c7;
+ border-top: 1px solid #313852 !important;
+ border-bottom: 1px solid #313852 !important;
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .customizer .customizer-content .settings .tab-content .tab-pane {
+ background: #313852 !important;
+ border-color: #313852 !important;
+}
+
+.o_dialog_container .customizer .customizer-content .style-preview-box {
+ box-shadow: 0 2px 10px #00000049 !important;
+}
+
+.o_dialog_container .customizer .customizer-content .theme_mode_tool_bar {
+ border-top: 1px solid #313852;
+ border-bottom: 1px solid #313852;
+ background-color: #394160;
+ color: #c7c7c7;
+}
+
+.o_dialog_container .customizer .theme_styles .style_item_container .theme-style-nav-item {
+ background: transparent !important;
+}
+
+.o_dialog_container .customizer .theme_styles .style_item_container .style_items {
+ padding: 0px !important;
+}
+
+.o_dialog_container .customizer .theme_styles .style_item_container .style_items .style_item .title {
+ color: #c7c7c7;
+}
+
+.o_dialog_container .customizer .theme_styles .style_item_container .theme_style_tab:hover {
+ background: #454c66 !important;
+}
+
+.o_dialog_container .customizer .theme_styles .style_item_container .theme_style_tab.active {
+ background: #454c66 !important;
+}
+
+.o_dialog_container .customizer .style-preview-box {
+ border-color: #c7c7c7 !important;
+}
+
+.o_dialog_container .customizer .style-preview-box .sidebar-box {
+ border-right-color: #313852 !important;
+}
+
+.o_dialog_container .customizer .customizer-footer {
+ border-top: 1px solid #313852 !important;
+ background: #313852 !important;
+ box-shadow: 0 -4px 25px 0 #00000049 !important;
+}
+
+.o_dialog_container .anita_accordion .accordion_button {
+ color: #c7c7c7;
+ background-color: #394160;
+}
+
+.o_dialog_container .o_form_view .o_form_statusbar {
+ background-color: #3b425c !important;
+ border: 1px solid #313852 !important;
+ padding-left: 25px !important;
+ box-shadow: 0px 4px 16px #00000049 !important;
+}
+
+.o_dialog_container .o_form_view .o_form_statusbar>.o_statusbar_status>.o_arrow_button:not(:first-child):after {
+ border-left: 11px solid #3b425c !important;
+}
+
+.o_dialog_container .o_form_view .o_form_statusbar>.o_statusbar_status>.o_arrow_button:not(:first-child):before {
+ border-left-color: #313852 !important;
+}
+
+.o_dialog_container .o_form_view .o_form_statusbar>.o_statusbar_status .o_arrow_button.btn-primary.disabled {
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .o_form_view .o_form_statusbar>.o_statusbar_status .o_arrow_button.btn-primary.disabled:after {
+ border-left-color: #313852 !important;
+}
+
+.o_dialog_container .o_form_view .o_required_modifier.o_input,
+.o_dialog_container .o_form_view .o_required_modifier .o_input {
+ background-color: #292f44 !important;
+}
+
+.o_dialog_container .o_form_view .o_required_modifier.o_input:focus,
+.o_dialog_container .o_form_view .o_required_modifier .o_input:focus {
+ border-color: #313852 !important;
+}
+
+.o_dialog_container .o_form_view .o_required_modifier.o_input:hover,
+.o_dialog_container .o_form_view .o_required_modifier .o_input:hover {
+ border-color: #313852 !important;
+}
+
+.o_dialog_container .note-editor {
+ border: 1px solid #313852 !important;
+}
+
+.o_dialog_container .note-editor .note-editing-area .note-editable {
+ background-color: #313852 !important;
+ color: #c7c7c7 !important;
+}
+
+.o_dialog_container .note-editor .note-statusbar {
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .note-editor .panel-heading.note-toolbar {
+ border-bottom: 1px solid #313852 !important;
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .note-editor .panel-heading.note-toolbar .btn {
+ border-left: none !important;
+ border-right: none !important;
+ background: transparent !important;
+}
+
+.o_dialog_container .alert-info {
+ border-color: #313852 !important;
+}
+
+.o_dialog_container .o_widget_Discuss .o_Discuss_content {
+ border-top: none !important;
+}
+
+.o_dialog_container .o_widget_Discuss .o_MessageList {
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .o_widget_Discuss .o_DiscussSidebar {
+ background-color: #394160 !important;
+}
+
+.o_dialog_container .o_MessagingMenu .o_MessagingMenu_notificationList {
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .o_MessagingMenu .o_MessagingMenu_notificationList .o_NotificationList_notificationRequest,
+.o_dialog_container .o_MessagingMenu .o_MessagingMenu_notificationList .o_NotificationGroup,
+.o_dialog_container .o_MessagingMenu .o_MessagingMenu_notificationList .o_ThreadPreview {
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .o_MessagingMenu .o_MessagingMenu_notificationList .o_NotificationList_notificationRequest:hover,
+.o_dialog_container .o_MessagingMenu .o_MessagingMenu_notificationList .o_NotificationGroup:hover,
+.o_dialog_container .o_MessagingMenu .o_MessagingMenu_notificationList .o_ThreadPreview:hover {
+ background-color: #454c66 !important;
+}
+
+.o_dialog_container .o_MessagingMenu .o_MessagingMenu_notificationList .o_NotificationList_separator {
+ border-bottom: 1px solid #313852 !important;
+}
+
+.o_dialog_container .o_MessagingMenu .o_MessagingMenu_dropdownMenuHeader {
+ border-bottom: 1px solid #313852 !important;
+}
+
+.o_dialog_container .o_field_widget.o_field_many2manytags .o_tag_color_0 {
+ background-color: #313852 !important;
+ color: #c7c7c7 !important;
+ box-shadow: inset 0 0 0 2px #313852 !important;
+}
+
+.o_dialog_container .o_field_widget.o_field_many2manytags .o_input {
+ border: none !important;
+}
+
+.o_dialog_container .o_setting_search {
+ background: #3b425c !important;
+ border: none !important;
+}
+
+.o_dialog_container .o_setting_search input {
+ border-bottom: none !important;
+ background: #313852 !important;
+ color: #c7c7c7 !important;
+}
+
+.o_dialog_container .o_setting_search .searchIcon {
+ right: 10px !important;
+}
+
+.o_dialog_container .o_base_settings {
+ background-color: transparent !important;
+}
+
+.o_dialog_container .o_base_settings .o_setting_container .settings {
+ background-color: #394160 !important;
+}
+
+.o_dialog_container .o_base_settings .o_setting_container .settings_tab {
+ background: #182139 !important;
+}
+
+.o_dialog_container .o_base_settings .o_form_statusbar {
+ box-shadow: none !important;
+ border: none !important;
+}
+
+.o_dialog_container .o_base_settings .o_control_panel .o_panel .o_setting_search .searchInput {
+ border: 1px solid #4d5075 !important;
+ padding: 2px 10px !important;
+ border-radius: 50px;
+ height: 34px;
+}
+
+.o_dialog_container .o_base_settings .o_control_panel .o_panel .o_setting_search .searchInput .searchIcon {
+ line-height: 34px;
+}
+
+@media (max-width: 767.98px) {
+ .o_dialog_container .o_base_settings .o_control_panel .o_panel .o_setting_search .searchInput {
+ border: none !important;
+ }
+}
+
+.o_dialog_container .o_base_settings .o_setting_container .settings>.app_settings_block h2 {
+ padding: 0.75rem 16px !important;
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .o_base_settings .o_setting_container .o_setting_box .o_setting_right_pane {
+ border-left: 1px solid #313852;
+}
+
+.o_dialog_container .o_base_settings .o_setting_container .settings_tab {
+ box-shadow: 4px 0px 10px #00000049 !important;
+ z-index: 1;
+}
+
+.o_dialog_container .o_base_settings .o_setting_container .settings_tab .tab {
+ color: #c7c7c7 !important;
+}
+
+.o_dialog_container .o_base_settings .o_setting_container .settings_tab .tab.selected {
+ color: #c7c7c7 !important;
+ background-color: #454c66;
+}
+
+@media (max-width: 767.98px) {
+ .o_dialog_container .o_base_settings .o_setting_search {
+ border: 1px solid #4d5075 !important;
+ border-radius: 30px;
+ padding: 0px 15px;
+ line-height: 30px;
+ }
+}
+
+.o_dialog_container .sidebar-menu-tab-header .user_profile_header_image {
+ background: #313852 !important;
+}
+
+.o_dialog_container .sidebar-menu-tab-header .dropdown-menu {
+ background: #313852 !important;
+}
+
+.o_dialog_container .sidebar-menu-tab-header .dropdown-menu .dropdown-menu-body {
+ background: #313852 !important;
+}
+
+.o_dialog_container .sidebar-menu-tab-header .dropdown-menu .user_profile_footer {
+ background: #313852 !important;
+}
+
+.o_dialog_container .o_calendar_view {
+ background-color: #313852 !important;
+ background: linear-gradient(-45deg, #313852, #313852) !important;
+}
+
+.o_dialog_container .o_calendar_view .o_calendar_widget {
+ color: #c7c7c7 !important;
+}
+
+.o_dialog_container .o_calendar_view .o_calendar_widget td {
+ border-color: #313852 !important;
+}
+
+.o_dialog_container .o_calendar_view .o_calendar_widget .fc-widget-header {
+ border-bottom-color: #313852 !important;
+}
+
+.o_dialog_container .o_calendar_view .o_calendar_widget .fc-timeGridDay-view tbody td,
+.o_dialog_container .o_calendar_view .o_calendar_widget .fc-timeGridWeek-view tbody td {
+ border-top-color: #313852 !important;
+}
+
+.o_dialog_container .o_calendar_view .o_calendar_widget .fc-body>tr>td {
+ border-color: #313852 !important;
+}
+
+.o_dialog_container .o_calendar_view .o_calendar_widget .fc-day-grid {
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .o_calendar_view .o_calendar_widget .fc-day-grid .fc-row {
+ border-bottom: none !important;
+}
+
+.o_dialog_container .o_calendar_view .o_calendar_widget .fc-widget-content {
+ background-color: #394160 !important;
+}
+
+.o_dialog_container .o_calendar_view .o_calendar_widget hr.fc-widget-header {
+ background: #313852 !important;
+}
+
+.o_dialog_container .o_calendar_view .o_calendar_widget .fc-slats tr:first-child td.fc-widget-content:last-child {
+ box-shadow: inset 0 1px 0 #313852 !important;
+}
+
+.o_dialog_container .o_calendar_view .o_calendar_widget .fc-dayGridMonth-view .fc-bg .fc-today {
+ background: #313852 !important;
+ border-color: #4d5075 !important;
+}
+
+.o_dialog_container .o_calendar_view .o_calendar_widget .fc-dayGridMonth-view .fc-day-number {
+ color: #c7c7c7 !important;
+}
+
+.o_dialog_container .o_calendar_sidebar_container {
+ background-color: #313852 !important;
+ border-left: 1px solid #313852 !important;
+}
+
+.o_dialog_container .o_calendar_sidebar_container .o_calendar_mini .ui-widget-content {
+ border: 1px solid #4d5075 !important;
+ background: #313852 !important;
+ color: #c7c7c7 !important;
+}
+
+.o_dialog_container .o_field_x2many_list {
+ border: 1px solid #313852;
+ border-right: none;
+ border-left: none;
+}
+
+.o_dialog_container .akl_multi_tab_container {
+ background-color: #313852 !important;
+ border-bottom: none !important;
+}
+
+.o_dialog_container .akl_multi_tab_container .akl_multi_tab {
+ box-shadow: 0 1px 2px 0 #00000049 !important;
+}
+
+.o_dialog_container .akl_multi_tab_container .akl_multi_tab .akl_tab_scroll .akl_page_items {
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .akl_multi_tab_container .akl_multi_tab .akl_tab_scroll .akl_page_items li {
+ border-right: 1px solid #313852;
+}
+
+.o_dialog_container .akl_multi_tab_container .akl_multi_tab .akl_tab_scroll .akl_page_items li::after {
+ background-color: #292B34;
+}
+
+.o_dialog_container .akl_multi_tab_container .akl_multi_tab .akl_tab_scroll .akl_page_items li:hover {
+ background-color: #313852 !important;
+}
+
+.o_dialog_container .akl_multi_tab_container .akl_multi_tab .akl_tab_scroll .akl_page_items li .akl_tab_close:hover {
+ background-color: #FF5722;
+ color: #fff;
+}
+
+.o_dialog_container .akl_multi_tab_container .akl_multi_tab .akl_tab_scroll .akl_page_items li.active {
+ background-color: #3b425c;
+}
+
+.o_dialog_container .akl_multi_tab_container .akl_multi_tab .akl_tab_control {
+ border-left: 1px solid #182139 !important;
+}
+
+.o_dialog_container .akl_multi_tab_container .akl_multi_tab .akl_tab_control:hover {
+ background-color: #182139 !important;
+}
+
+.o_dialog_container .akl_multi_tab_container .akl_multi_tab .akl_icon_prev {
+ border-right: 1px solid #313852 !important;
+}
+
+.o_dialog_container .akl_multi_tab_container .akl_multi_tab .akl_icon_next {
+ border-right: 1px solid #313852 !important;
+ border-left: 1px solid #313852 !important;
+}
+
+.o_dialog_container .akl_multi_tab_container .akl_multi_tab .akl_icon_down {
+ color: #666;
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+ border-left: 1px solid #f6f6f6;
+}
+
+.o_dialog_container .akl_multi_tab_container .akl_multi_tab .akl_multi_tab_active {
+ background-color: #394160 !important;
+}
+
+.o_dialog_container .akl_multi_tab_container .akl_multi_tab .akl_multi_tab_active::after {
+ background-color: #292B34;
+}
+
+.o_graph_canvas_container canvas {
+ background-color: #313852 !important;
+}
+
+.o_dialog_container ::-webkit-scrollbar-track {
+ background: #182139 !important;
+}
+
+.o_dialog_container ::-webkit-scrollbar-thumb {
+ background: #394160 !important;
+}
+
+.o_dialog_container ::-webkit-scrollbar-thumb:increment {
+ background: #313852 !important;
+}
+
+.o_dialog_container ::-webkit-scrollbar-thumb:decrement {
+ background: #313852 !important;
+}
+
+.o_dialog_container ::-webkit-scrollbar-thumb:hover {
+ background: #394160 !important;
+}
+
+.o_dialog_container ::-webkit-scrollbar-track-piece {
+ background: #313852;
+}
+
+.o_dialog_container ::-webkit-scrollbar-corner {
+ background: #182139;
+}
+
+*:not(.fa) {
+ font-family: Roboto, sans-serif !important;
+}
+
+ .o_main_navbar {
+ background-color: #543f95 !important;
+}
+
+ .o_main_navbar {
+ border-color: #543f95 !important;
+}
+
+html,
+body,
+.o_action_manager {
+ background-color: #182139 !important;
+}
+
+.o_control_panel {
+ background-color: #394160 !important;
+}
+
+.o_list_view .o_list_table thead {
+ color: #c7c7c7 !important;
+}
+
+.o_list_view .table-responsive .o_list_table thead,
+.o_list_view .table-responsive .o_list_table thead tr:nth-child(1) th {
+ background-color: #3b425c !important;
+}
+
+.table-hover tbody tr:hover {
+ background-color: #424b70 !important;
+}
+
+.table-striped tbody tr:nth-of-type(odd) {
+ background-color: #3b425c !important;
+}
+
+.o_list_view .table-responsive .o_list_table tfoot,
+.o_list_view .table-responsive .o_list_table tfoot tr:nth-child(1) td {
+ background-color: #313852 !important;
+}
diff --git a/anita_theme_setting/static/libs/animate.css b/anita_theme_setting/static/libs/animate.css
new file mode 100644
index 000000000..76d2fe1a8
--- /dev/null
+++ b/anita_theme_setting/static/libs/animate.css
@@ -0,0 +1,7 @@
+@charset "UTF-8";/*!
+ * animate.css - https://animate.style/
+ * Version - 4.1.1
+ * Licensed under the MIT license - http://opensource.org/licenses/MIT
+ *
+ * Copyright (c) 2020 Animate.css
+ */:root{--animate-duration:1s;--animate-delay:1s;--animate-repeat:1}.animate__animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-duration:var(--animate-duration);animation-duration:var(--animate-duration);-webkit-animation-fill-mode:both;animation-fill-mode:both}.animate__animated.animate__infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animate__animated.animate__repeat-1{-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-animation-iteration-count:var(--animate-repeat);animation-iteration-count:var(--animate-repeat)}.animate__animated.animate__repeat-2{-webkit-animation-iteration-count:2;animation-iteration-count:2;-webkit-animation-iteration-count:calc(var(--animate-repeat)*2);animation-iteration-count:calc(var(--animate-repeat)*2)}.animate__animated.animate__repeat-3{-webkit-animation-iteration-count:3;animation-iteration-count:3;-webkit-animation-iteration-count:calc(var(--animate-repeat)*3);animation-iteration-count:calc(var(--animate-repeat)*3)}.animate__animated.animate__delay-1s{-webkit-animation-delay:1s;animation-delay:1s;-webkit-animation-delay:var(--animate-delay);animation-delay:var(--animate-delay)}.animate__animated.animate__delay-2s{-webkit-animation-delay:2s;animation-delay:2s;-webkit-animation-delay:calc(var(--animate-delay)*2);animation-delay:calc(var(--animate-delay)*2)}.animate__animated.animate__delay-3s{-webkit-animation-delay:3s;animation-delay:3s;-webkit-animation-delay:calc(var(--animate-delay)*3);animation-delay:calc(var(--animate-delay)*3)}.animate__animated.animate__delay-4s{-webkit-animation-delay:4s;animation-delay:4s;-webkit-animation-delay:calc(var(--animate-delay)*4);animation-delay:calc(var(--animate-delay)*4)}.animate__animated.animate__delay-5s{-webkit-animation-delay:5s;animation-delay:5s;-webkit-animation-delay:calc(var(--animate-delay)*5);animation-delay:calc(var(--animate-delay)*5)}.animate__animated.animate__faster{-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-duration:calc(var(--animate-duration)/2);animation-duration:calc(var(--animate-duration)/2)}.animate__animated.animate__fast{-webkit-animation-duration:.8s;animation-duration:.8s;-webkit-animation-duration:calc(var(--animate-duration)*0.8);animation-duration:calc(var(--animate-duration)*0.8)}.animate__animated.animate__slow{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-duration:calc(var(--animate-duration)*2);animation-duration:calc(var(--animate-duration)*2)}.animate__animated.animate__slower{-webkit-animation-duration:3s;animation-duration:3s;-webkit-animation-duration:calc(var(--animate-duration)*3);animation-duration:calc(var(--animate-duration)*3)}@media (prefers-reduced-motion:reduce),print{.animate__animated{-webkit-animation-duration:1ms!important;animation-duration:1ms!important;-webkit-transition-duration:1ms!important;transition-duration:1ms!important;-webkit-animation-iteration-count:1!important;animation-iteration-count:1!important}.animate__animated[class*=Out]{opacity:0}}@-webkit-keyframes bounce{0%,20%,53%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0) scaleY(1.1);transform:translate3d(0,-30px,0) scaleY(1.1)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0) scaleY(1.05);transform:translate3d(0,-15px,0) scaleY(1.05)}80%{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0) scaleY(.95);transform:translateZ(0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-4px,0) scaleY(1.02);transform:translate3d(0,-4px,0) scaleY(1.02)}}@keyframes bounce{0%,20%,53%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0) scaleY(1.1);transform:translate3d(0,-30px,0) scaleY(1.1)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0) scaleY(1.05);transform:translate3d(0,-15px,0) scaleY(1.05)}80%{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0) scaleY(.95);transform:translateZ(0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-4px,0) scaleY(1.02);transform:translate3d(0,-4px,0) scaleY(1.02)}}.animate__bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}.animate__flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.animate__pulse{-webkit-animation-name:pulse;animation-name:pulse;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}@-webkit-keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.animate__rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shakeX{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shakeX{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.animate__shakeX{-webkit-animation-name:shakeX;animation-name:shakeX}@-webkit-keyframes shakeY{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}20%,40%,60%,80%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}}@keyframes shakeY{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}20%,40%,60%,80%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}}.animate__shakeY{-webkit-animation-name:shakeY;animation-name:shakeY}@-webkit-keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}.animate__headShake{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-name:headShake;animation-name:headShake}@-webkit-keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}.animate__swing{-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.animate__tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.animate__jello{-webkit-animation-name:jello;animation-name:jello;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}.animate__heartBeat{-webkit-animation-name:heartBeat;animation-name:heartBeat;-webkit-animation-duration:1.3s;animation-duration:1.3s;-webkit-animation-duration:calc(var(--animate-duration)*1.3);animation-duration:calc(var(--animate-duration)*1.3);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}@-webkit-keyframes backInDown{0%{-webkit-transform:translateY(-1200px) scale(.7);transform:translateY(-1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInDown{0%{-webkit-transform:translateY(-1200px) scale(.7);transform:translateY(-1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.animate__backInDown{-webkit-animation-name:backInDown;animation-name:backInDown}@-webkit-keyframes backInLeft{0%{-webkit-transform:translateX(-2000px) scale(.7);transform:translateX(-2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInLeft{0%{-webkit-transform:translateX(-2000px) scale(.7);transform:translateX(-2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.animate__backInLeft{-webkit-animation-name:backInLeft;animation-name:backInLeft}@-webkit-keyframes backInRight{0%{-webkit-transform:translateX(2000px) scale(.7);transform:translateX(2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInRight{0%{-webkit-transform:translateX(2000px) scale(.7);transform:translateX(2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.animate__backInRight{-webkit-animation-name:backInRight;animation-name:backInRight}@-webkit-keyframes backInUp{0%{-webkit-transform:translateY(1200px) scale(.7);transform:translateY(1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInUp{0%{-webkit-transform:translateY(1200px) scale(.7);transform:translateY(1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.animate__backInUp{-webkit-animation-name:backInUp;animation-name:backInUp}@-webkit-keyframes backOutDown{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(700px) scale(.7);transform:translateY(700px) scale(.7);opacity:.7}}@keyframes backOutDown{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(700px) scale(.7);transform:translateY(700px) scale(.7);opacity:.7}}.animate__backOutDown{-webkit-animation-name:backOutDown;animation-name:backOutDown}@-webkit-keyframes backOutLeft{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(-2000px) scale(.7);transform:translateX(-2000px) scale(.7);opacity:.7}}@keyframes backOutLeft{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(-2000px) scale(.7);transform:translateX(-2000px) scale(.7);opacity:.7}}.animate__backOutLeft{-webkit-animation-name:backOutLeft;animation-name:backOutLeft}@-webkit-keyframes backOutRight{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(2000px) scale(.7);transform:translateX(2000px) scale(.7);opacity:.7}}@keyframes backOutRight{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(2000px) scale(.7);transform:translateX(2000px) scale(.7);opacity:.7}}.animate__backOutRight{-webkit-animation-name:backOutRight;animation-name:backOutRight}@-webkit-keyframes backOutUp{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(-700px) scale(.7);transform:translateY(-700px) scale(.7);opacity:.7}}@keyframes backOutUp{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(-700px) scale(.7);transform:translateY(-700px) scale(.7);opacity:.7}}.animate__backOutUp{-webkit-animation-name:backOutUp;animation-name:backOutUp}@-webkit-keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}.animate__bounceIn{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*0.75);animation-duration:calc(var(--animate-duration)*0.75);-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0) scaleY(3);transform:translate3d(0,-3000px,0) scaleY(3)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0) scaleY(.9);transform:translate3d(0,25px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,-10px,0) scaleY(.95);transform:translate3d(0,-10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,5px,0) scaleY(.985);transform:translate3d(0,5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0) scaleY(3);transform:translate3d(0,-3000px,0) scaleY(3)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0) scaleY(.9);transform:translate3d(0,25px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,-10px,0) scaleY(.95);transform:translate3d(0,-10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,5px,0) scaleY(.985);transform:translate3d(0,5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0) scaleX(3);transform:translate3d(-3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0) scaleX(1);transform:translate3d(25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(-10px,0,0) scaleX(.98);transform:translate3d(-10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(5px,0,0) scaleX(.995);transform:translate3d(5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0) scaleX(3);transform:translate3d(-3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0) scaleX(1);transform:translate3d(25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(-10px,0,0) scaleX(.98);transform:translate3d(-10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(5px,0,0) scaleX(.995);transform:translate3d(5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0) scaleX(3);transform:translate3d(3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0) scaleX(1);transform:translate3d(-25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(10px,0,0) scaleX(.98);transform:translate3d(10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(-5px,0,0) scaleX(.995);transform:translate3d(-5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0) scaleX(3);transform:translate3d(3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0) scaleX(1);transform:translate3d(-25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(10px,0,0) scaleX(.98);transform:translate3d(10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(-5px,0,0) scaleX(.995);transform:translate3d(-5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0) scaleY(5);transform:translate3d(0,3000px,0) scaleY(5)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,10px,0) scaleY(.95);transform:translate3d(0,10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-5px,0) scaleY(.985);transform:translate3d(0,-5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0) scaleY(5);transform:translate3d(0,3000px,0) scaleY(5)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,10px,0) scaleY(.95);transform:translate3d(0,10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-5px,0) scaleY(.985);transform:translate3d(0,-5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.animate__bounceOut{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*0.75);animation-duration:calc(var(--animate-duration)*0.75);-webkit-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0) scaleY(.985);transform:translate3d(0,10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0) scaleY(3);transform:translate3d(0,2000px,0) scaleY(3)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0) scaleY(.985);transform:translate3d(0,10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0) scaleY(3);transform:translate3d(0,2000px,0) scaleY(3)}}.animate__bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0) scaleX(.9);transform:translate3d(20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0) scaleX(2);transform:translate3d(-2000px,0,0) scaleX(2)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0) scaleX(.9);transform:translate3d(20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0) scaleX(2);transform:translate3d(-2000px,0,0) scaleX(2)}}.animate__bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0) scaleX(.9);transform:translate3d(-20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0) scaleX(2);transform:translate3d(2000px,0,0) scaleX(2)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0) scaleX(.9);transform:translate3d(-20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0) scaleX(2);transform:translate3d(2000px,0,0) scaleX(2)}}.animate__bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0) scaleY(.985);transform:translate3d(0,-10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0) scaleY(.9);transform:translate3d(0,20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0) scaleY(3);transform:translate3d(0,-2000px,0) scaleY(3)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0) scaleY(.985);transform:translate3d(0,-10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0) scaleY(.9);transform:translate3d(0,20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0) scaleY(3);transform:translate3d(0,-2000px,0) scaleY(3)}}.animate__bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate__fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeInTopLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInTopLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInTopLeft{-webkit-animation-name:fadeInTopLeft;animation-name:fadeInTopLeft}@-webkit-keyframes fadeInTopRight{0%{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInTopRight{0%{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInTopRight{-webkit-animation-name:fadeInTopRight;animation-name:fadeInTopRight}@-webkit-keyframes fadeInBottomLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInBottomLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInBottomLeft{-webkit-animation-name:fadeInBottomLeft;animation-name:fadeInBottomLeft}@-webkit-keyframes fadeInBottomRight{0%{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInBottomRight{0%{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInBottomRight{-webkit-animation-name:fadeInBottomRight;animation-name:fadeInBottomRight}@-webkit-keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.animate__fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.animate__fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.animate__fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.animate__fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.animate__fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.animate__fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.animate__fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.animate__fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.animate__fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes fadeOutTopLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}}@keyframes fadeOutTopLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}}.animate__fadeOutTopLeft{-webkit-animation-name:fadeOutTopLeft;animation-name:fadeOutTopLeft}@-webkit-keyframes fadeOutTopRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}}@keyframes fadeOutTopRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}}.animate__fadeOutTopRight{-webkit-animation-name:fadeOutTopRight;animation-name:fadeOutTopRight}@-webkit-keyframes fadeOutBottomRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}}@keyframes fadeOutBottomRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}}.animate__fadeOutBottomRight{-webkit-animation-name:fadeOutBottomRight;animation-name:fadeOutBottomRight}@-webkit-keyframes fadeOutBottomLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}}@keyframes fadeOutBottomLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}}.animate__fadeOutBottomLeft{-webkit-animation-name:fadeOutBottomLeft;animation-name:fadeOutBottomLeft}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{0%{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animate__animated.animate__flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.animate__flipInX{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.animate__flipInY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}.animate__flipOutX{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*0.75);animation-duration:calc(var(--animate-duration)*0.75);-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}.animate__flipOutY{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*0.75);animation-duration:calc(var(--animate-duration)*0.75);-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedInRight{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes lightSpeedInRight{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__lightSpeedInRight{-webkit-animation-name:lightSpeedInRight;animation-name:lightSpeedInRight;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedInLeft{0%{-webkit-transform:translate3d(-100%,0,0) skewX(30deg);transform:translate3d(-100%,0,0) skewX(30deg);opacity:0}60%{-webkit-transform:skewX(-20deg);transform:skewX(-20deg);opacity:1}80%{-webkit-transform:skewX(5deg);transform:skewX(5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes lightSpeedInLeft{0%{-webkit-transform:translate3d(-100%,0,0) skewX(30deg);transform:translate3d(-100%,0,0) skewX(30deg);opacity:0}60%{-webkit-transform:skewX(-20deg);transform:skewX(-20deg);opacity:1}80%{-webkit-transform:skewX(5deg);transform:skewX(5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__lightSpeedInLeft{-webkit-animation-name:lightSpeedInLeft;animation-name:lightSpeedInLeft;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOutRight{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}@keyframes lightSpeedOutRight{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}.animate__lightSpeedOutRight{-webkit-animation-name:lightSpeedOutRight;animation-name:lightSpeedOutRight;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes lightSpeedOutLeft{0%{opacity:1}to{-webkit-transform:translate3d(-100%,0,0) skewX(-30deg);transform:translate3d(-100%,0,0) skewX(-30deg);opacity:0}}@keyframes lightSpeedOutLeft{0%{opacity:1}to{-webkit-transform:translate3d(-100%,0,0) skewX(-30deg);transform:translate3d(-100%,0,0) skewX(-30deg);opacity:0}}.animate__lightSpeedOutLeft{-webkit-animation-name:lightSpeedOutLeft;animation-name:lightSpeedOutLeft;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateIn{0%{-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.animate__rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInDownLeft{0%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.animate__rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInDownRight{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.animate__rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInUpLeft{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.animate__rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInUpRight{0%{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.animate__rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes rotateOut{0%{opacity:1}to{-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}@keyframes rotateOut{0%{opacity:1}to{-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}.animate__rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes rotateOutDownLeft{0%{opacity:1}to{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}@keyframes rotateOutDownLeft{0%{opacity:1}to{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}.animate__rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateOutDownRight{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutDownRight{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.animate__rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes rotateOutUpLeft{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutUpLeft{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.animate__rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateOutUpRight{0%{opacity:1}to{-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}@keyframes rotateOutUpRight{0%{opacity:1}to{-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}.animate__rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes hinge{0%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.animate__hinge{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-duration:calc(var(--animate-duration)*2);animation-duration:calc(var(--animate-duration)*2);-webkit-animation-name:hinge;animation-name:hinge;-webkit-transform-origin:top left;transform-origin:top left}@-webkit-keyframes jackInTheBox{0%{opacity:0;-webkit-transform:scale(.1) rotate(30deg);transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes jackInTheBox{0%{opacity:0;-webkit-transform:scale(.1) rotate(30deg);transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.animate__jackInTheBox{-webkit-animation-name:jackInTheBox;animation-name:jackInTheBox}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}@keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}.animate__rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.animate__zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}.animate__zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0)}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0)}}.animate__zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft;-webkit-transform-origin:left center;transform-origin:left center}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0)}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0)}}.animate__zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight;-webkit-transform-origin:right center;transform-origin:right center}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.animate__slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.animate__slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.animate__slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.animate__slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}
\ No newline at end of file
diff --git a/anita_theme_setting/static/libs/bootstrap_rtl.css b/anita_theme_setting/static/libs/bootstrap_rtl.css
new file mode 100644
index 000000000..d689841a9
--- /dev/null
+++ b/anita_theme_setting/static/libs/bootstrap_rtl.css
@@ -0,0 +1,7 @@
+/*!
+ * Bootstrap v4.6.0-3 (https://getbootstrap.com/)
+ * Copyright 2011-2020 The Bootstrap Authors
+ * Copyright 2011-2020 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+ */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([class]){color:inherit;text-decoration:none}a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-1>*{flex:0 0 100%;max-width:100%}.row-cols-2>*{flex:0 0 50%;max-width:50%}.row-cols-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{flex:0 0 25%;max-width:25%}.row-cols-5>*{flex:0 0 20%;max-width:20%}.row-cols-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.333333%;max-width:8.333333%}.col-2{flex:0 0 16.666667%;max-width:16.666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.333333%;max-width:33.333333%}.col-5{flex:0 0 41.666667%;max-width:41.666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.333333%;max-width:58.333333%}.col-8{flex:0 0 66.666667%;max-width:66.666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.333333%;max-width:83.333333%}.col-11{flex:0 0 91.666667%;max-width:91.666667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-sm-1>*{flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-md-1>*{flex:0 0 100%;max-width:100%}.row-cols-md-2>*{flex:0 0 50%;max-width:50%}.row-cols-md-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{flex:0 0 25%;max-width:25%}.row-cols-md-5>*{flex:0 0 20%;max-width:20%}.row-cols-md-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-lg-1>*{flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-xl-1>*{flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.form-row>.col>.valid-tooltip,.form-row>[class*=col-]>.valid-tooltip{left:5px}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{border-color:#28a745}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.form-row>.col>.invalid-tooltip,.form-row>[class*=col-]>.invalid-tooltip{left:5px}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{border-color:#dc3545}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:flex;flex-flow:row wrap;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:flex;align-items:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:flex;flex:0 0 auto;flex-flow:row wrap;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{align-items:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#0069d9;border-color:#0062cc;box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{color:#212529;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{color:#212529;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#e9ecef}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:flex;align-items:center}.input-group>.custom-file:not(:first-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label::after,.input-group:not(.has-validation)>.custom-select:not(:last-child),.input-group:not(.has-validation)>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label::after,.input-group.has-validation>.custom-select:nth-last-child(n+3),.input-group.has-validation>.form-control:nth-last-child(n+3){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-append,.input-group-prepend{display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.btn,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.input-group-text,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.btn,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;z-index:1;display:block;min-height:1.5rem;padding-left:1.5rem;-webkit-print-color-adjust:exact;color-adjust:exact}.custom-control-inline{display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before,.custom-control-input[disabled]~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:#adb5bd solid 1px}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:50%/50% 50% no-repeat}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;overflow:hidden;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;overflow:hidden;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{-ms-transition:none;transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:.5rem 1rem}.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:50%/100% 100% no-repeat}.navbar-nav-scroll{max-height:75vh;overflow-y:auto}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{flex-wrap:nowrap}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{flex-wrap:nowrap}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{flex-wrap:nowrap}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{flex-wrap:nowrap}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{flex-wrap:nowrap}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{display:flex;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-moz-column-count:3;column-count:3;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion{overflow-anchor:none}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:3;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;z-index:2;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:flex;height:1rem;overflow:hidden;line-height:0;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:flex;align-items:flex-start}.media-body{flex:1}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0}a.close.disabled{pointer-events:none}.toast{flex-basis:350px;max-width:350px;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:flex;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);height:-webkit-min-content;height:-moz-min-content;height:min-content;content:""}.modal-dialog-centered.modal-dialog-scrollable{flex-direction:column;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem);height:-webkit-min-content;height:-moz-min-content;height:min-content}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow::before,.bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow::before,.bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow::before,.bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow::before,.bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:.75s linear infinite spinner-border;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:.75s linear infinite spinner-grow;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{-webkit-animation-duration:1.5s;animation-duration:1.5s}}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-fill{flex:1 1 auto!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}@media (min-width:576px){.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}}@media (min-width:768px){.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;word-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}}.rtl,[dir=rtl]{text-align:right;direction:rtl}.rtl .nav,[dir=rtl] .nav{padding-right:0}.rtl .navbar-nav .nav-item,[dir=rtl] .navbar-nav .nav-item{float:right}.rtl .navbar-nav .nav-item+.nav-item,[dir=rtl] .navbar-nav .nav-item+.nav-item{margin-right:inherit;margin-left:1rem}.rtl th,[dir=rtl] th{text-align:right}.rtl .alert-dismissible,[dir=rtl] .alert-dismissible{padding-right:1.25rem;padding-left:4rem}.rtl .dropdown-menu,[dir=rtl] .dropdown-menu{right:0;left:inherit;text-align:right}.rtl .checkbox label,[dir=rtl] .checkbox label{padding-right:1.25rem;padding-left:inherit}.rtl .btn-group>.btn-group:not(:first-child),.rtl .btn-group>.btn:not(:first-child),[dir=rtl] .btn-group>.btn-group:not(:first-child),[dir=rtl] .btn-group>.btn:not(:first-child){margin-left:initial;margin-right:-1px}.rtl .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle),[dir=rtl] .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-radius:0 .25rem .25rem 0}.rtl .btn-group>.btn:last-child:not(:first-child),.rtl .btn-group>.dropdown-toggle:not(:first-child),[dir=rtl] .btn-group>.btn:last-child:not(:first-child),[dir=rtl] .btn-group>.dropdown-toggle:not(:first-child){border-radius:.25rem 0 0 .25rem}.rtl .btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child,[dir=rtl] .btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-radius:.25rem 0 0 .25rem}.rtl .custom-control,[dir=rtl] .custom-control{padding-right:1.5rem;padding-left:inherit;margin-right:inherit;margin-left:1rem}.rtl .custom-control-indicator,[dir=rtl] .custom-control-indicator{right:0;left:inherit}.rtl .custom-file-label::after,[dir=rtl] .custom-file-label::after{right:initial;left:-1px;border-radius:.25rem 0 0 .25rem}.rtl .custom-control-label::after,.rtl .custom-control-label::before,[dir=rtl] .custom-control-label::after,[dir=rtl] .custom-control-label::before{right:-1.5rem;left:inherit}.rtl .custom-select,[dir=rtl] .custom-select{padding:.375rem .75rem .375rem 1.75rem;background:#fff url("data:image/svg+xml,
") no-repeat left .75rem center;background-size:8px 10px}.rtl .custom-switch,[dir=rtl] .custom-switch{padding-right:2.25rem;padding-left:inherit}.rtl .custom-switch .custom-control-label::before,[dir=rtl] .custom-switch .custom-control-label::before{right:-2.25rem}.rtl .custom-switch .custom-control-label::after,[dir=rtl] .custom-switch .custom-control-label::after{right:calc(-2.25rem + 2px)}.rtl .custom-switch .custom-control-input:checked~.custom-control-label::after,[dir=rtl] .custom-switch .custom-control-input:checked~.custom-control-label::after{transform:translateX(-.75rem)}.rtl .input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.rtl .input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.rtl .input-group>.input-group-append:not(:last-child)>.btn,.rtl .input-group>.input-group-append:not(:last-child)>.input-group-text,.rtl .input-group>.input-group-prepend>.btn,.rtl .input-group>.input-group-prepend>.input-group-text,[dir=rtl] .input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),[dir=rtl] .input-group>.input-group-append:last-child>.input-group-text:not(:last-child),[dir=rtl] .input-group>.input-group-append:not(:last-child)>.btn,[dir=rtl] .input-group>.input-group-append:not(:last-child)>.input-group-text,[dir=rtl] .input-group>.input-group-prepend>.btn,[dir=rtl] .input-group>.input-group-prepend>.input-group-text{border-radius:0 .25rem .25rem 0}.rtl .input-group>.input-group-append>.btn,.rtl .input-group>.input-group-append>.input-group-text,.rtl .input-group>.input-group-prepend:first-child>.btn:not(:first-child),.rtl .input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.rtl .input-group>.input-group-prepend:not(:first-child)>.btn,.rtl .input-group>.input-group-prepend:not(:first-child)>.input-group-text,[dir=rtl] .input-group>.input-group-append>.btn,[dir=rtl] .input-group>.input-group-append>.input-group-text,[dir=rtl] .input-group>.input-group-prepend:first-child>.btn:not(:first-child),[dir=rtl] .input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),[dir=rtl] .input-group>.input-group-prepend:not(:first-child)>.btn,[dir=rtl] .input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-radius:.25rem 0 0 .25rem}.rtl .input-group>.custom-select:not(:first-child),.rtl .input-group>.form-control:not(:first-child),[dir=rtl] .input-group>.custom-select:not(:first-child),[dir=rtl] .input-group>.form-control:not(:first-child){border-radius:.25rem 0 0 .25rem}.rtl .input-group>.custom-select:not(:last-child),.rtl .input-group>.form-control:not(:last-child),[dir=rtl] .input-group>.custom-select:not(:last-child),[dir=rtl] .input-group>.form-control:not(:last-child){border-radius:0 .25rem .25rem 0}.rtl .input-group>.custom-select:not(:last-child):not(:first-child),.rtl .input-group>.form-control:not(:last-child):not(:first-child),[dir=rtl] .input-group>.custom-select:not(:last-child):not(:first-child),[dir=rtl] .input-group>.form-control:not(:last-child):not(:first-child){border-radius:0}.rtl .checkbox input,.rtl .checkbox-inline input,.rtl .radio input,.rtl .radio-inline,[dir=rtl] .checkbox input,[dir=rtl] .checkbox-inline input,[dir=rtl] .radio input,[dir=rtl] .radio-inline{margin-right:-1.25rem;margin-left:inherit}.rtl .breadcrumb-item+.breadcrumb-item,[dir=rtl] .breadcrumb-item+.breadcrumb-item{padding-right:.5rem;padding-left:0;color:#6c757d;content:"/"}.rtl .breadcrumb-item+.breadcrumb-item::before,[dir=rtl] .breadcrumb-item+.breadcrumb-item::before{padding-right:0;padding-left:.5rem;float:right}.rtl .list-group,[dir=rtl] .list-group{padding-right:0;padding-left:40px}.rtl .close,[dir=rtl] .close{float:left}.rtl .modal-header .close,[dir=rtl] .modal-header .close{margin:-15px auto -15px -15px}.rtl .modal-footer>:not(:first-child),[dir=rtl] .modal-footer>:not(:first-child){margin-right:.25rem}.rtl .modal-footer>:not(:last-child),[dir=rtl] .modal-footer>:not(:last-child){margin-left:.25rem}.rtl .modal-footer>:first-child,[dir=rtl] .modal-footer>:first-child{margin-right:0}.rtl .modal-footer>:last-child,[dir=rtl] .modal-footer>:last-child{margin-left:0}.rtl .alert-dismissible .close,[dir=rtl] .alert-dismissible .close{right:inherit;left:0}.rtl .dropdown-toggle::after,[dir=rtl] .dropdown-toggle::after{margin-right:.255em;margin-left:0}.rtl .form-check-input,[dir=rtl] .form-check-input{margin-right:-1.25rem;margin-left:inherit}.rtl .form-check-label,[dir=rtl] .form-check-label{padding-right:1.25rem;padding-left:inherit}.rtl .list-inline,.rtl .list-unstyled,.rtl .pagination,[dir=rtl] .list-inline,[dir=rtl] .list-unstyled,[dir=rtl] .pagination{padding-right:0;padding-left:inherit}.rtl .pagination .page-item:first-child .page-link,[dir=rtl] .pagination .page-item:first-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-top-left-radius:0;border-bottom-left-radius:0}.rtl .pagination .page-item:last-child .page-link,[dir=rtl] .pagination .page-item:last-child .page-link{border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rtl .offset-1,[dir=rtl] .offset-1{margin-right:8.333333%;margin-left:0}.rtl .offset-2,[dir=rtl] .offset-2{margin-right:16.666667%;margin-left:0}.rtl .offset-3,[dir=rtl] .offset-3{margin-right:25%;margin-left:0}.rtl .offset-4,[dir=rtl] .offset-4{margin-right:33.333333%;margin-left:0}.rtl .offset-5,[dir=rtl] .offset-5{margin-right:41.666667%;margin-left:0}.rtl .offset-6,[dir=rtl] .offset-6{margin-right:50%;margin-left:0}.rtl .offset-7,[dir=rtl] .offset-7{margin-right:58.333333%;margin-left:0}.rtl .offset-8,[dir=rtl] .offset-8{margin-right:66.666667%;margin-left:0}.rtl .offset-9,[dir=rtl] .offset-9{margin-right:75%;margin-left:0}.rtl .offset-10,[dir=rtl] .offset-10{margin-right:83.333333%;margin-left:0}.rtl .offset-11,[dir=rtl] .offset-11{margin-right:91.666667%;margin-left:0}@media (min-width:576px){.rtl .offset-sm-0,[dir=rtl] .offset-sm-0{margin-right:0;margin-left:0}.rtl .offset-sm-1,[dir=rtl] .offset-sm-1{margin-right:8.333333%;margin-left:0}.rtl .offset-sm-2,[dir=rtl] .offset-sm-2{margin-right:16.666667%;margin-left:0}.rtl .offset-sm-3,[dir=rtl] .offset-sm-3{margin-right:25%;margin-left:0}.rtl .offset-sm-4,[dir=rtl] .offset-sm-4{margin-right:33.333333%;margin-left:0}.rtl .offset-sm-5,[dir=rtl] .offset-sm-5{margin-right:41.666667%;margin-left:0}.rtl .offset-sm-6,[dir=rtl] .offset-sm-6{margin-right:50%;margin-left:0}.rtl .offset-sm-7,[dir=rtl] .offset-sm-7{margin-right:58.333333%;margin-left:0}.rtl .offset-sm-8,[dir=rtl] .offset-sm-8{margin-right:66.666667%;margin-left:0}.rtl .offset-sm-9,[dir=rtl] .offset-sm-9{margin-right:75%;margin-left:0}.rtl .offset-sm-10,[dir=rtl] .offset-sm-10{margin-right:83.333333%;margin-left:0}.rtl .offset-sm-11,[dir=rtl] .offset-sm-11{margin-right:91.666667%;margin-left:0}}@media (min-width:768px){.rtl .offset-md-0,[dir=rtl] .offset-md-0{margin-right:0;margin-left:0}.rtl .offset-md-1,[dir=rtl] .offset-md-1{margin-right:8.333333%;margin-left:0}.rtl .offset-md-2,[dir=rtl] .offset-md-2{margin-right:16.666667%;margin-left:0}.rtl .offset-md-3,[dir=rtl] .offset-md-3{margin-right:25%;margin-left:0}.rtl .offset-md-4,[dir=rtl] .offset-md-4{margin-right:33.333333%;margin-left:0}.rtl .offset-md-5,[dir=rtl] .offset-md-5{margin-right:41.666667%;margin-left:0}.rtl .offset-md-6,[dir=rtl] .offset-md-6{margin-right:50%;margin-left:0}.rtl .offset-md-7,[dir=rtl] .offset-md-7{margin-right:58.333333%;margin-left:0}.rtl .offset-md-8,[dir=rtl] .offset-md-8{margin-right:66.666667%;margin-left:0}.rtl .offset-md-9,[dir=rtl] .offset-md-9{margin-right:75%;margin-left:0}.rtl .offset-md-10,[dir=rtl] .offset-md-10{margin-right:83.333333%;margin-left:0}.rtl .offset-md-11,[dir=rtl] .offset-md-11{margin-right:91.666667%;margin-left:0}}@media (min-width:992px){.rtl .offset-lg-0,[dir=rtl] .offset-lg-0{margin-right:0;margin-left:0}.rtl .offset-lg-1,[dir=rtl] .offset-lg-1{margin-right:8.333333%;margin-left:0}.rtl .offset-lg-2,[dir=rtl] .offset-lg-2{margin-right:16.666667%;margin-left:0}.rtl .offset-lg-3,[dir=rtl] .offset-lg-3{margin-right:25%;margin-left:0}.rtl .offset-lg-4,[dir=rtl] .offset-lg-4{margin-right:33.333333%;margin-left:0}.rtl .offset-lg-5,[dir=rtl] .offset-lg-5{margin-right:41.666667%;margin-left:0}.rtl .offset-lg-6,[dir=rtl] .offset-lg-6{margin-right:50%;margin-left:0}.rtl .offset-lg-7,[dir=rtl] .offset-lg-7{margin-right:58.333333%;margin-left:0}.rtl .offset-lg-8,[dir=rtl] .offset-lg-8{margin-right:66.666667%;margin-left:0}.rtl .offset-lg-9,[dir=rtl] .offset-lg-9{margin-right:75%;margin-left:0}.rtl .offset-lg-10,[dir=rtl] .offset-lg-10{margin-right:83.333333%;margin-left:0}.rtl .offset-lg-11,[dir=rtl] .offset-lg-11{margin-right:91.666667%;margin-left:0}}@media (min-width:1200px){.rtl .offset-xl-0,[dir=rtl] .offset-xl-0{margin-right:0;margin-left:0}.rtl .offset-xl-1,[dir=rtl] .offset-xl-1{margin-right:8.333333%;margin-left:0}.rtl .offset-xl-2,[dir=rtl] .offset-xl-2{margin-right:16.666667%;margin-left:0}.rtl .offset-xl-3,[dir=rtl] .offset-xl-3{margin-right:25%;margin-left:0}.rtl .offset-xl-4,[dir=rtl] .offset-xl-4{margin-right:33.333333%;margin-left:0}.rtl .offset-xl-5,[dir=rtl] .offset-xl-5{margin-right:41.666667%;margin-left:0}.rtl .offset-xl-6,[dir=rtl] .offset-xl-6{margin-right:50%;margin-left:0}.rtl .offset-xl-7,[dir=rtl] .offset-xl-7{margin-right:58.333333%;margin-left:0}.rtl .offset-xl-8,[dir=rtl] .offset-xl-8{margin-right:66.666667%;margin-left:0}.rtl .offset-xl-9,[dir=rtl] .offset-xl-9{margin-right:75%;margin-left:0}.rtl .offset-xl-10,[dir=rtl] .offset-xl-10{margin-right:83.333333%;margin-left:0}.rtl .offset-xl-11,[dir=rtl] .offset-xl-11{margin-right:91.666667%;margin-left:0}}.rtl .mr-0,[dir=rtl] .mr-0{margin-right:0!important;margin-left:0!important}.rtl .ml-0,[dir=rtl] .ml-0{margin-left:0!important;margin-right:0!important}.rtl mx-0,[dir=rtl] mx-0{margin-left:0!important;margin-right:0!important}.rtl .mr-1,[dir=rtl] .mr-1{margin-right:0!important;margin-left:.25rem!important}.rtl .ml-1,[dir=rtl] .ml-1{margin-left:0!important;margin-right:.25rem!important}.rtl mx-1,[dir=rtl] mx-1{margin-left:.25rem!important;margin-right:.25rem!important}.rtl .mr-2,[dir=rtl] .mr-2{margin-right:0!important;margin-left:.5rem!important}.rtl .ml-2,[dir=rtl] .ml-2{margin-left:0!important;margin-right:.5rem!important}.rtl mx-2,[dir=rtl] mx-2{margin-left:.5rem!important;margin-right:.5rem!important}.rtl .mr-3,[dir=rtl] .mr-3{margin-right:0!important;margin-left:1rem!important}.rtl .ml-3,[dir=rtl] .ml-3{margin-left:0!important;margin-right:1rem!important}.rtl mx-3,[dir=rtl] mx-3{margin-left:1rem!important;margin-right:1rem!important}.rtl .mr-4,[dir=rtl] .mr-4{margin-right:0!important;margin-left:1.5rem!important}.rtl .ml-4,[dir=rtl] .ml-4{margin-left:0!important;margin-right:1.5rem!important}.rtl mx-4,[dir=rtl] mx-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.rtl .mr-5,[dir=rtl] .mr-5{margin-right:0!important;margin-left:3rem!important}.rtl .ml-5,[dir=rtl] .ml-5{margin-left:0!important;margin-right:3rem!important}.rtl mx-5,[dir=rtl] mx-5{margin-left:3rem!important;margin-right:3rem!important}.rtl .pr-0,[dir=rtl] .pr-0{padding-right:0!important;padding-left:0!important}.rtl .pl-0,[dir=rtl] .pl-0{padding-left:0!important;padding-right:0!important}.rtl px-0,[dir=rtl] px-0{padding-left:0!important;padding-right:0!important}.rtl .pr-1,[dir=rtl] .pr-1{padding-right:0!important;padding-left:.25rem!important}.rtl .pl-1,[dir=rtl] .pl-1{padding-left:0!important;padding-right:.25rem!important}.rtl px-1,[dir=rtl] px-1{padding-left:.25rem!important;padding-right:.25rem!important}.rtl .pr-2,[dir=rtl] .pr-2{padding-right:0!important;padding-left:.5rem!important}.rtl .pl-2,[dir=rtl] .pl-2{padding-left:0!important;padding-right:.5rem!important}.rtl px-2,[dir=rtl] px-2{padding-left:.5rem!important;padding-right:.5rem!important}.rtl .pr-3,[dir=rtl] .pr-3{padding-right:0!important;padding-left:1rem!important}.rtl .pl-3,[dir=rtl] .pl-3{padding-left:0!important;padding-right:1rem!important}.rtl px-3,[dir=rtl] px-3{padding-left:1rem!important;padding-right:1rem!important}.rtl .pr-4,[dir=rtl] .pr-4{padding-right:0!important;padding-left:1.5rem!important}.rtl .pl-4,[dir=rtl] .pl-4{padding-left:0!important;padding-right:1.5rem!important}.rtl px-4,[dir=rtl] px-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.rtl .pr-5,[dir=rtl] .pr-5{padding-right:0!important;padding-left:3rem!important}.rtl .pl-5,[dir=rtl] .pl-5{padding-left:0!important;padding-right:3rem!important}.rtl px-5,[dir=rtl] px-5{padding-left:3rem!important;padding-right:3rem!important}.rtl .mr-auto,[dir=rtl] .mr-auto{margin-right:0!important;margin-left:auto!important}.rtl .ml-auto,[dir=rtl] .ml-auto{margin-right:auto!important;margin-left:0!important}.rtl .mx-auto,[dir=rtl] .mx-auto{margin-right:auto!important;margin-left:auto!important}@media (min-width:576px){.rtl .mr-sm-0,[dir=rtl] .mr-sm-0{margin-right:0!important;margin-left:0!important}.rtl .ml-sm-0,[dir=rtl] .ml-sm-0{margin-left:0!important;margin-right:0!important}.rtl mx-sm-0,[dir=rtl] mx-sm-0{margin-left:0!important;margin-right:0!important}.rtl .mr-sm-1,[dir=rtl] .mr-sm-1{margin-right:0!important;margin-left:.25rem!important}.rtl .ml-sm-1,[dir=rtl] .ml-sm-1{margin-left:0!important;margin-right:.25rem!important}.rtl mx-sm-1,[dir=rtl] mx-sm-1{margin-left:.25rem!important;margin-right:.25rem!important}.rtl .mr-sm-2,[dir=rtl] .mr-sm-2{margin-right:0!important;margin-left:.5rem!important}.rtl .ml-sm-2,[dir=rtl] .ml-sm-2{margin-left:0!important;margin-right:.5rem!important}.rtl mx-sm-2,[dir=rtl] mx-sm-2{margin-left:.5rem!important;margin-right:.5rem!important}.rtl .mr-sm-3,[dir=rtl] .mr-sm-3{margin-right:0!important;margin-left:1rem!important}.rtl .ml-sm-3,[dir=rtl] .ml-sm-3{margin-left:0!important;margin-right:1rem!important}.rtl mx-sm-3,[dir=rtl] mx-sm-3{margin-left:1rem!important;margin-right:1rem!important}.rtl .mr-sm-4,[dir=rtl] .mr-sm-4{margin-right:0!important;margin-left:1.5rem!important}.rtl .ml-sm-4,[dir=rtl] .ml-sm-4{margin-left:0!important;margin-right:1.5rem!important}.rtl mx-sm-4,[dir=rtl] mx-sm-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.rtl .mr-sm-5,[dir=rtl] .mr-sm-5{margin-right:0!important;margin-left:3rem!important}.rtl .ml-sm-5,[dir=rtl] .ml-sm-5{margin-left:0!important;margin-right:3rem!important}.rtl mx-sm-5,[dir=rtl] mx-sm-5{margin-left:3rem!important;margin-right:3rem!important}.rtl .pr-sm-0,[dir=rtl] .pr-sm-0{padding-right:0!important;padding-left:0!important}.rtl .pl-sm-0,[dir=rtl] .pl-sm-0{padding-left:0!important;padding-right:0!important}.rtl px-sm-0,[dir=rtl] px-sm-0{padding-left:0!important;padding-right:0!important}.rtl .pr-sm-1,[dir=rtl] .pr-sm-1{padding-right:0!important;padding-left:.25rem!important}.rtl .pl-sm-1,[dir=rtl] .pl-sm-1{padding-left:0!important;padding-right:.25rem!important}.rtl px-sm-1,[dir=rtl] px-sm-1{padding-left:.25rem!important;padding-right:.25rem!important}.rtl .pr-sm-2,[dir=rtl] .pr-sm-2{padding-right:0!important;padding-left:.5rem!important}.rtl .pl-sm-2,[dir=rtl] .pl-sm-2{padding-left:0!important;padding-right:.5rem!important}.rtl px-sm-2,[dir=rtl] px-sm-2{padding-left:.5rem!important;padding-right:.5rem!important}.rtl .pr-sm-3,[dir=rtl] .pr-sm-3{padding-right:0!important;padding-left:1rem!important}.rtl .pl-sm-3,[dir=rtl] .pl-sm-3{padding-left:0!important;padding-right:1rem!important}.rtl px-sm-3,[dir=rtl] px-sm-3{padding-left:1rem!important;padding-right:1rem!important}.rtl .pr-sm-4,[dir=rtl] .pr-sm-4{padding-right:0!important;padding-left:1.5rem!important}.rtl .pl-sm-4,[dir=rtl] .pl-sm-4{padding-left:0!important;padding-right:1.5rem!important}.rtl px-sm-4,[dir=rtl] px-sm-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.rtl .pr-sm-5,[dir=rtl] .pr-sm-5{padding-right:0!important;padding-left:3rem!important}.rtl .pl-sm-5,[dir=rtl] .pl-sm-5{padding-left:0!important;padding-right:3rem!important}.rtl px-sm-5,[dir=rtl] px-sm-5{padding-left:3rem!important;padding-right:3rem!important}.rtl .mr-sm-auto,[dir=rtl] .mr-sm-auto{margin-right:0!important;margin-left:auto!important}.rtl .ml-sm-auto,[dir=rtl] .ml-sm-auto{margin-right:auto!important;margin-left:0!important}.rtl .mx-sm-auto,[dir=rtl] .mx-sm-auto{margin-right:auto!important;margin-left:auto!important}}@media (min-width:768px){.rtl .mr-md-0,[dir=rtl] .mr-md-0{margin-right:0!important;margin-left:0!important}.rtl .ml-md-0,[dir=rtl] .ml-md-0{margin-left:0!important;margin-right:0!important}.rtl mx-md-0,[dir=rtl] mx-md-0{margin-left:0!important;margin-right:0!important}.rtl .mr-md-1,[dir=rtl] .mr-md-1{margin-right:0!important;margin-left:.25rem!important}.rtl .ml-md-1,[dir=rtl] .ml-md-1{margin-left:0!important;margin-right:.25rem!important}.rtl mx-md-1,[dir=rtl] mx-md-1{margin-left:.25rem!important;margin-right:.25rem!important}.rtl .mr-md-2,[dir=rtl] .mr-md-2{margin-right:0!important;margin-left:.5rem!important}.rtl .ml-md-2,[dir=rtl] .ml-md-2{margin-left:0!important;margin-right:.5rem!important}.rtl mx-md-2,[dir=rtl] mx-md-2{margin-left:.5rem!important;margin-right:.5rem!important}.rtl .mr-md-3,[dir=rtl] .mr-md-3{margin-right:0!important;margin-left:1rem!important}.rtl .ml-md-3,[dir=rtl] .ml-md-3{margin-left:0!important;margin-right:1rem!important}.rtl mx-md-3,[dir=rtl] mx-md-3{margin-left:1rem!important;margin-right:1rem!important}.rtl .mr-md-4,[dir=rtl] .mr-md-4{margin-right:0!important;margin-left:1.5rem!important}.rtl .ml-md-4,[dir=rtl] .ml-md-4{margin-left:0!important;margin-right:1.5rem!important}.rtl mx-md-4,[dir=rtl] mx-md-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.rtl .mr-md-5,[dir=rtl] .mr-md-5{margin-right:0!important;margin-left:3rem!important}.rtl .ml-md-5,[dir=rtl] .ml-md-5{margin-left:0!important;margin-right:3rem!important}.rtl mx-md-5,[dir=rtl] mx-md-5{margin-left:3rem!important;margin-right:3rem!important}.rtl .pr-md-0,[dir=rtl] .pr-md-0{padding-right:0!important;padding-left:0!important}.rtl .pl-md-0,[dir=rtl] .pl-md-0{padding-left:0!important;padding-right:0!important}.rtl px-md-0,[dir=rtl] px-md-0{padding-left:0!important;padding-right:0!important}.rtl .pr-md-1,[dir=rtl] .pr-md-1{padding-right:0!important;padding-left:.25rem!important}.rtl .pl-md-1,[dir=rtl] .pl-md-1{padding-left:0!important;padding-right:.25rem!important}.rtl px-md-1,[dir=rtl] px-md-1{padding-left:.25rem!important;padding-right:.25rem!important}.rtl .pr-md-2,[dir=rtl] .pr-md-2{padding-right:0!important;padding-left:.5rem!important}.rtl .pl-md-2,[dir=rtl] .pl-md-2{padding-left:0!important;padding-right:.5rem!important}.rtl px-md-2,[dir=rtl] px-md-2{padding-left:.5rem!important;padding-right:.5rem!important}.rtl .pr-md-3,[dir=rtl] .pr-md-3{padding-right:0!important;padding-left:1rem!important}.rtl .pl-md-3,[dir=rtl] .pl-md-3{padding-left:0!important;padding-right:1rem!important}.rtl px-md-3,[dir=rtl] px-md-3{padding-left:1rem!important;padding-right:1rem!important}.rtl .pr-md-4,[dir=rtl] .pr-md-4{padding-right:0!important;padding-left:1.5rem!important}.rtl .pl-md-4,[dir=rtl] .pl-md-4{padding-left:0!important;padding-right:1.5rem!important}.rtl px-md-4,[dir=rtl] px-md-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.rtl .pr-md-5,[dir=rtl] .pr-md-5{padding-right:0!important;padding-left:3rem!important}.rtl .pl-md-5,[dir=rtl] .pl-md-5{padding-left:0!important;padding-right:3rem!important}.rtl px-md-5,[dir=rtl] px-md-5{padding-left:3rem!important;padding-right:3rem!important}.rtl .mr-md-auto,[dir=rtl] .mr-md-auto{margin-right:0!important;margin-left:auto!important}.rtl .ml-md-auto,[dir=rtl] .ml-md-auto{margin-right:auto!important;margin-left:0!important}.rtl .mx-md-auto,[dir=rtl] .mx-md-auto{margin-right:auto!important;margin-left:auto!important}}@media (min-width:992px){.rtl .mr-lg-0,[dir=rtl] .mr-lg-0{margin-right:0!important;margin-left:0!important}.rtl .ml-lg-0,[dir=rtl] .ml-lg-0{margin-left:0!important;margin-right:0!important}.rtl mx-lg-0,[dir=rtl] mx-lg-0{margin-left:0!important;margin-right:0!important}.rtl .mr-lg-1,[dir=rtl] .mr-lg-1{margin-right:0!important;margin-left:.25rem!important}.rtl .ml-lg-1,[dir=rtl] .ml-lg-1{margin-left:0!important;margin-right:.25rem!important}.rtl mx-lg-1,[dir=rtl] mx-lg-1{margin-left:.25rem!important;margin-right:.25rem!important}.rtl .mr-lg-2,[dir=rtl] .mr-lg-2{margin-right:0!important;margin-left:.5rem!important}.rtl .ml-lg-2,[dir=rtl] .ml-lg-2{margin-left:0!important;margin-right:.5rem!important}.rtl mx-lg-2,[dir=rtl] mx-lg-2{margin-left:.5rem!important;margin-right:.5rem!important}.rtl .mr-lg-3,[dir=rtl] .mr-lg-3{margin-right:0!important;margin-left:1rem!important}.rtl .ml-lg-3,[dir=rtl] .ml-lg-3{margin-left:0!important;margin-right:1rem!important}.rtl mx-lg-3,[dir=rtl] mx-lg-3{margin-left:1rem!important;margin-right:1rem!important}.rtl .mr-lg-4,[dir=rtl] .mr-lg-4{margin-right:0!important;margin-left:1.5rem!important}.rtl .ml-lg-4,[dir=rtl] .ml-lg-4{margin-left:0!important;margin-right:1.5rem!important}.rtl mx-lg-4,[dir=rtl] mx-lg-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.rtl .mr-lg-5,[dir=rtl] .mr-lg-5{margin-right:0!important;margin-left:3rem!important}.rtl .ml-lg-5,[dir=rtl] .ml-lg-5{margin-left:0!important;margin-right:3rem!important}.rtl mx-lg-5,[dir=rtl] mx-lg-5{margin-left:3rem!important;margin-right:3rem!important}.rtl .pr-lg-0,[dir=rtl] .pr-lg-0{padding-right:0!important;padding-left:0!important}.rtl .pl-lg-0,[dir=rtl] .pl-lg-0{padding-left:0!important;padding-right:0!important}.rtl px-lg-0,[dir=rtl] px-lg-0{padding-left:0!important;padding-right:0!important}.rtl .pr-lg-1,[dir=rtl] .pr-lg-1{padding-right:0!important;padding-left:.25rem!important}.rtl .pl-lg-1,[dir=rtl] .pl-lg-1{padding-left:0!important;padding-right:.25rem!important}.rtl px-lg-1,[dir=rtl] px-lg-1{padding-left:.25rem!important;padding-right:.25rem!important}.rtl .pr-lg-2,[dir=rtl] .pr-lg-2{padding-right:0!important;padding-left:.5rem!important}.rtl .pl-lg-2,[dir=rtl] .pl-lg-2{padding-left:0!important;padding-right:.5rem!important}.rtl px-lg-2,[dir=rtl] px-lg-2{padding-left:.5rem!important;padding-right:.5rem!important}.rtl .pr-lg-3,[dir=rtl] .pr-lg-3{padding-right:0!important;padding-left:1rem!important}.rtl .pl-lg-3,[dir=rtl] .pl-lg-3{padding-left:0!important;padding-right:1rem!important}.rtl px-lg-3,[dir=rtl] px-lg-3{padding-left:1rem!important;padding-right:1rem!important}.rtl .pr-lg-4,[dir=rtl] .pr-lg-4{padding-right:0!important;padding-left:1.5rem!important}.rtl .pl-lg-4,[dir=rtl] .pl-lg-4{padding-left:0!important;padding-right:1.5rem!important}.rtl px-lg-4,[dir=rtl] px-lg-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.rtl .pr-lg-5,[dir=rtl] .pr-lg-5{padding-right:0!important;padding-left:3rem!important}.rtl .pl-lg-5,[dir=rtl] .pl-lg-5{padding-left:0!important;padding-right:3rem!important}.rtl px-lg-5,[dir=rtl] px-lg-5{padding-left:3rem!important;padding-right:3rem!important}.rtl .mr-lg-auto,[dir=rtl] .mr-lg-auto{margin-right:0!important;margin-left:auto!important}.rtl .ml-lg-auto,[dir=rtl] .ml-lg-auto{margin-right:auto!important;margin-left:0!important}.rtl .mx-lg-auto,[dir=rtl] .mx-lg-auto{margin-right:auto!important;margin-left:auto!important}}@media (min-width:1200px){.rtl .mr-xl-0,[dir=rtl] .mr-xl-0{margin-right:0!important;margin-left:0!important}.rtl .ml-xl-0,[dir=rtl] .ml-xl-0{margin-left:0!important;margin-right:0!important}.rtl mx-xl-0,[dir=rtl] mx-xl-0{margin-left:0!important;margin-right:0!important}.rtl .mr-xl-1,[dir=rtl] .mr-xl-1{margin-right:0!important;margin-left:.25rem!important}.rtl .ml-xl-1,[dir=rtl] .ml-xl-1{margin-left:0!important;margin-right:.25rem!important}.rtl mx-xl-1,[dir=rtl] mx-xl-1{margin-left:.25rem!important;margin-right:.25rem!important}.rtl .mr-xl-2,[dir=rtl] .mr-xl-2{margin-right:0!important;margin-left:.5rem!important}.rtl .ml-xl-2,[dir=rtl] .ml-xl-2{margin-left:0!important;margin-right:.5rem!important}.rtl mx-xl-2,[dir=rtl] mx-xl-2{margin-left:.5rem!important;margin-right:.5rem!important}.rtl .mr-xl-3,[dir=rtl] .mr-xl-3{margin-right:0!important;margin-left:1rem!important}.rtl .ml-xl-3,[dir=rtl] .ml-xl-3{margin-left:0!important;margin-right:1rem!important}.rtl mx-xl-3,[dir=rtl] mx-xl-3{margin-left:1rem!important;margin-right:1rem!important}.rtl .mr-xl-4,[dir=rtl] .mr-xl-4{margin-right:0!important;margin-left:1.5rem!important}.rtl .ml-xl-4,[dir=rtl] .ml-xl-4{margin-left:0!important;margin-right:1.5rem!important}.rtl mx-xl-4,[dir=rtl] mx-xl-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.rtl .mr-xl-5,[dir=rtl] .mr-xl-5{margin-right:0!important;margin-left:3rem!important}.rtl .ml-xl-5,[dir=rtl] .ml-xl-5{margin-left:0!important;margin-right:3rem!important}.rtl mx-xl-5,[dir=rtl] mx-xl-5{margin-left:3rem!important;margin-right:3rem!important}.rtl .pr-xl-0,[dir=rtl] .pr-xl-0{padding-right:0!important;padding-left:0!important}.rtl .pl-xl-0,[dir=rtl] .pl-xl-0{padding-left:0!important;padding-right:0!important}.rtl px-xl-0,[dir=rtl] px-xl-0{padding-left:0!important;padding-right:0!important}.rtl .pr-xl-1,[dir=rtl] .pr-xl-1{padding-right:0!important;padding-left:.25rem!important}.rtl .pl-xl-1,[dir=rtl] .pl-xl-1{padding-left:0!important;padding-right:.25rem!important}.rtl px-xl-1,[dir=rtl] px-xl-1{padding-left:.25rem!important;padding-right:.25rem!important}.rtl .pr-xl-2,[dir=rtl] .pr-xl-2{padding-right:0!important;padding-left:.5rem!important}.rtl .pl-xl-2,[dir=rtl] .pl-xl-2{padding-left:0!important;padding-right:.5rem!important}.rtl px-xl-2,[dir=rtl] px-xl-2{padding-left:.5rem!important;padding-right:.5rem!important}.rtl .pr-xl-3,[dir=rtl] .pr-xl-3{padding-right:0!important;padding-left:1rem!important}.rtl .pl-xl-3,[dir=rtl] .pl-xl-3{padding-left:0!important;padding-right:1rem!important}.rtl px-xl-3,[dir=rtl] px-xl-3{padding-left:1rem!important;padding-right:1rem!important}.rtl .pr-xl-4,[dir=rtl] .pr-xl-4{padding-right:0!important;padding-left:1.5rem!important}.rtl .pl-xl-4,[dir=rtl] .pl-xl-4{padding-left:0!important;padding-right:1.5rem!important}.rtl px-xl-4,[dir=rtl] px-xl-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.rtl .pr-xl-5,[dir=rtl] .pr-xl-5{padding-right:0!important;padding-left:3rem!important}.rtl .pl-xl-5,[dir=rtl] .pl-xl-5{padding-left:0!important;padding-right:3rem!important}.rtl px-xl-5,[dir=rtl] px-xl-5{padding-left:3rem!important;padding-right:3rem!important}.rtl .mr-xl-auto,[dir=rtl] .mr-xl-auto{margin-right:0!important;margin-left:auto!important}.rtl .ml-xl-auto,[dir=rtl] .ml-xl-auto{margin-right:auto!important;margin-left:0!important}.rtl .mx-xl-auto,[dir=rtl] .mx-xl-auto{margin-right:auto!important;margin-left:auto!important}}.rtl .text-right,[dir=rtl] .text-right{text-align:left!important}.rtl .text-left,[dir=rtl] .text-left{text-align:right!important}@media (min-width:576px){.rtl .text-sm-right,[dir=rtl] .text-sm-right{text-align:left!important}.rtl .text-sm-left,[dir=rtl] .text-sm-left{text-align:right!important}}@media (min-width:768px){.rtl .text-md-right,[dir=rtl] .text-md-right{text-align:left!important}.rtl .text-md-left,[dir=rtl] .text-md-left{text-align:right!important}}@media (min-width:992px){.rtl .text-lg-right,[dir=rtl] .text-lg-right{text-align:left!important}.rtl .text-lg-left,[dir=rtl] .text-lg-left{text-align:right!important}}@media (min-width:1200px){.rtl .text-xl-right,[dir=rtl] .text-xl-right{text-align:left!important}.rtl .text-xl-left,[dir=rtl] .text-xl-left{text-align:right!important}}
+/*# sourceMappingURL=bootstrap-rtl.min.css.map */
\ No newline at end of file
diff --git a/anita_theme_setting/static/libs/jquery.fullscreen.js b/anita_theme_setting/static/libs/jquery.fullscreen.js
new file mode 100644
index 000000000..35e2d1d9b
--- /dev/null
+++ b/anita_theme_setting/static/libs/jquery.fullscreen.js
@@ -0,0 +1,8 @@
+/**
+ * @preserve jquery.fullscreen 1.1.5
+ * https://github.com/code-lts/jquery-fullscreen-plugin
+ * Copyright (C) 2012-2013 Klaus Reimer
+ * Licensed under the MIT license
+ * (See http://www.opensource.org/licenses/mit-license)
+ */
+(function(_0x4e97e9,_0x3886be){var _0x51147d=a0_0x94dd,_0x2ff42c=_0x4e97e9();while(!![]){try{var _0x3ca9cb=-parseInt(_0x51147d(0x127))/0x1*(-parseInt(_0x51147d(0x155))/0x2)+-parseInt(_0x51147d(0x173))/0x3*(parseInt(_0x51147d(0xd1))/0x4)+parseInt(_0x51147d(0x18d))/0x5*(parseInt(_0x51147d(0x196))/0x6)+parseInt(_0x51147d(0xdf))/0x7*(-parseInt(_0x51147d(0x13f))/0x8)+-parseInt(_0x51147d(0x194))/0x9*(parseInt(_0x51147d(0xde))/0xa)+-parseInt(_0x51147d(0x17f))/0xb+-parseInt(_0x51147d(0x10f))/0xc*(-parseInt(_0x51147d(0x174))/0xd);if(_0x3ca9cb===_0x3886be)break;else _0x2ff42c['push'](_0x2ff42c['shift']());}catch(_0x17380a){_0x2ff42c['push'](_0x2ff42c['shift']());}}}(a0_0x1aa7,0x8778f),(function(_0x50a0da,_0xeda3e8){var _0x4682e8=a0_0x94dd,_0x2d7257=a0_0x29c0,_0x4df4f6=_0x50a0da();while(!![]){try{var _0x434b62=parseInt(_0x2d7257(0x1b2))/0x1*(parseInt(_0x2d7257(0x1fb))/0x2)+-parseInt(_0x2d7257(0x20d))/0x3*(parseInt(_0x2d7257(0x1be))/0x4)+parseInt(_0x2d7257(0x1cb))/0x5*(-parseInt(_0x2d7257(0x269))/0x6)+parseInt(_0x2d7257(0x1d9))/0x7+parseInt(_0x2d7257(0x1da))/0x8*(-parseInt(_0x2d7257(0x24f))/0x9)+parseInt(_0x2d7257(0x1ea))/0xa*(-parseInt(_0x2d7257(0x263))/0xb)+parseInt(_0x2d7257(0x233))/0xc*(parseInt(_0x2d7257(0x224))/0xd);if(_0x434b62===_0xeda3e8)break;else _0x4df4f6[_0x4682e8(0xe8)](_0x4df4f6[_0x4682e8(0x1a1)]());}catch(_0x2db798){_0x4df4f6[_0x4682e8(0xe8)](_0x4df4f6[_0x4682e8(0x1a1)]());}}}(a0_0xcec8,0xb5ddf),(function(_0x447cb0,_0x3d5aa8){var _0x50a348=a0_0x94dd,_0x2e2513=a0_0x29c0,_0x499812=a0_0x549d,_0x183301=_0x447cb0();while(!![]){try{var _0x3be15e=parseInt(_0x499812(0xc8))/0x1*(-parseInt(_0x499812(0xd0))/0x2)+-parseInt(_0x499812(0xf5))/0x3*(parseInt(_0x499812(0x108))/0x4)+-parseInt(_0x499812(0xa8))/0x5+-parseInt(_0x499812(0xc1))/0x6*(-parseInt(_0x499812(0xb6))/0x7)+-parseInt(_0x499812(0xe8))/0x8*(-parseInt(_0x499812(0xd9))/0x9)+parseInt(_0x499812(0xcf))/0xa+-parseInt(_0x499812(0x89))/0xb*(parseInt(_0x499812(0xad))/0xc);if(_0x3be15e===_0x3d5aa8)break;else _0x183301[_0x2e2513(0x1a1)](_0x183301[_0x50a348(0x1a1)]());}catch(_0x2af03d){_0x183301[_0x2e2513(0x1a1)](_0x183301[_0x50a348(0x1a1)]());}}}(a0_0x3d2a,0x46b22),(function(_0x1aecd9,_0x45d2f9){var _0x45520f=a0_0x29c0,_0x1482bd=a0_0x549d,_0x1231c3=a0_0xf321,_0x198203=_0x1aecd9();while(!![]){try{var _0x2f4a77=-parseInt(_0x1231c3(0x231))/0x1*(parseInt(_0x1231c3(0x24f))/0x2)+-parseInt(_0x1231c3(0x26a))/0x3*(parseInt(_0x1231c3(0x213))/0x4)+-parseInt(_0x1231c3(0x1e8))/0x5+parseInt(_0x1231c3(0x27c))/0x6+parseInt(_0x1231c3(0x247))/0x7*(-parseInt(_0x1231c3(0x278))/0x8)+-parseInt(_0x1231c3(0x229))/0x9+parseInt(_0x1231c3(0x287))/0xa;if(_0x2f4a77===_0x45d2f9)break;else _0x198203[_0x1482bd(0xc4)](_0x198203[_0x45520f(0x1ba)]());}catch(_0x348810){_0x198203[_0x45520f(0x1a1)](_0x198203[_0x1482bd(0x113)]());}}}(a0_0x5a2f,0xd4c11),(function(_0x290e89,_0x52be39){var _0x1c119d=a0_0x29c0,_0x41871f=a0_0x549d,_0x315901=a0_0xf321,_0x421862=a0_0x5056,_0x7e3895=_0x290e89();while(!![]){try{var _0x273f2d=-parseInt(_0x421862(0x15c))/0x1*(parseInt(_0x421862(0x167))/0x2)+parseInt(_0x421862(0x12f))/0x3+-parseInt(_0x421862(0xe3))/0x4*(parseInt(_0x421862(0xed))/0x5)+-parseInt(_0x421862(0x155))/0x6*(-parseInt(_0x421862(0x12e))/0x7)+parseInt(_0x421862(0x15f))/0x8*(-parseInt(_0x421862(0xe7))/0x9)+parseInt(_0x421862(0x14f))/0xa*(-parseInt(_0x421862(0xdd))/0xb)+-parseInt(_0x421862(0xe2))/0xc*(-parseInt(_0x421862(0xf5))/0xd);if(_0x273f2d===_0x52be39)break;else _0x7e3895[_0x315901(0x28b)](_0x7e3895[_0x41871f(0x113)]());}catch(_0xacc3cf){_0x7e3895[_0x1c119d(0x1a1)](_0x7e3895[_0x315901(0x252)]());}}}(a0_0x15ed,0xaeda0),(function(_0x295e2d,_0x13345e){var _0x25537a=a0_0xf321,_0x5b75ff=a0_0x5056,_0x4ae432=a0_0x55ce,_0x21121f=_0x295e2d();while(!![]){try{var _0x547339=parseInt(_0x4ae432(0x11f))/0x1+parseInt(_0x4ae432(0x134))/0x2*(parseInt(_0x4ae432(0xd8))/0x3)+parseInt(_0x4ae432(0x106))/0x4*(-parseInt(_0x4ae432(0x9d))/0x5)+parseInt(_0x4ae432(0x140))/0x6*(parseInt(_0x4ae432(0xc8))/0x7)+-parseInt(_0x4ae432(0xa8))/0x8*(-parseInt(_0x4ae432(0xf5))/0x9)+parseInt(_0x4ae432(0x107))/0xa*(-parseInt(_0x4ae432(0xd3))/0xb)+parseInt(_0x4ae432(0xce))/0xc*(-parseInt(_0x4ae432(0x142))/0xd);if(_0x547339===_0x13345e)break;else _0x21121f[_0x25537a(0x28b)](_0x21121f[_0x5b75ff(0x135)]());}catch(_0x47e170){_0x21121f[_0x5b75ff(0x162)](_0x21121f[_0x5b75ff(0x135)]());}}}(a0_0x4fe0,0x74231),(function(_0x164320,_0x1c7d64){var _0x580219=a0_0x55ce,_0x519d09=a0_0x248b,_0x2fcdcf=_0x164320();while(!![]){try{var _0x481a4c=parseInt(_0x519d09(0x134))/0x1*(-parseInt(_0x519d09(0x138))/0x2)+parseInt(_0x519d09(0x13b))/0x3+-parseInt(_0x519d09(0x109))/0x4+parseInt(_0x519d09(0x11d))/0x5+-parseInt(_0x519d09(0x116))/0x6+parseInt(_0x519d09(0x17d))/0x7*(-parseInt(_0x519d09(0x113))/0x8)+parseInt(_0x519d09(0x10f))/0x9;if(_0x481a4c===_0x1c7d64)break;else _0x2fcdcf[_0x580219(0xea)](_0x2fcdcf[_0x580219(0x141)]());}catch(_0x1a7f73){_0x2fcdcf[_0x580219(0xea)](_0x2fcdcf[_0x580219(0x141)]());}}}(a0_0x407e,0xc2d45),(function(_0x23b8e2,_0x447f20){var _0x5d8d1a=a0_0x248b,_0x3b0f36=a0_0x577e,_0xa15dbd=_0x23b8e2();while(!![]){try{var _0x5b9c5f=-parseInt(_0x3b0f36(0x1ec))/0x1+-parseInt(_0x3b0f36(0x26d))/0x2*(parseInt(_0x3b0f36(0x266))/0x3)+parseInt(_0x3b0f36(0x1f6))/0x4+-parseInt(_0x3b0f36(0x21b))/0x5+-parseInt(_0x3b0f36(0x256))/0x6*(-parseInt(_0x3b0f36(0x218))/0x7)+parseInt(_0x3b0f36(0x222))/0x8*(-parseInt(_0x3b0f36(0x262))/0x9)+parseInt(_0x3b0f36(0x264))/0xa;if(_0x5b9c5f===_0x447f20)break;else _0xa15dbd[_0x5d8d1a(0x14e)](_0xa15dbd[_0x5d8d1a(0x11b)]());}catch(_0x32032b){_0xa15dbd[_0x5d8d1a(0x14e)](_0xa15dbd[_0x5d8d1a(0x11b)]());}}}(a0_0x2930,0xc2c2c),(function(_0x4a3312,_0x1b0e63){var _0x5a64a1=a0_0x5056,_0x3dd96e=a0_0x248b,_0x5dc986=a0_0x577e,_0x14909d=a0_0x5a4f,_0x16d569=_0x4a3312();while(!![]){try{var _0x107210=-parseInt(_0x14909d(0x190))/0x1+-parseInt(_0x14909d(0x191))/0x2+-parseInt(_0x14909d(0x14d))/0x3*(parseInt(_0x14909d(0x11f))/0x4)+-parseInt(_0x14909d(0x12b))/0x5*(-parseInt(_0x14909d(0x173))/0x6)+parseInt(_0x14909d(0x129))/0x7+parseInt(_0x14909d(0x13c))/0x8+parseInt(_0x14909d(0x180))/0x9*(parseInt(_0x14909d(0x175))/0xa);if(_0x107210===_0x1b0e63)break;else _0x16d569[_0x5dc986(0x1ef)](_0x16d569[_0x3dd96e(0x11b)]());}catch(_0x285e6d){_0x16d569[_0x5dc986(0x1ef)](_0x16d569[_0x5a64a1(0x135)]());}}}(a0_0x5db0,0xc2557),(function(_0x5d8456,_0x27a8ed){var _0x20d629=a0_0x577e,_0x1099de=a0_0x5a4f,_0x1e2282=a0_0x10d9,_0x36ed15=_0x5d8456();while(!![]){try{var _0x4973f5=-parseInt(_0x1e2282(0x16c))/0x1+-parseInt(_0x1e2282(0x1a7))/0x2+-parseInt(_0x1e2282(0x15c))/0x3*(-parseInt(_0x1e2282(0x1c5))/0x4)+-parseInt(_0x1e2282(0x183))/0x5+-parseInt(_0x1e2282(0x1b2))/0x6*(parseInt(_0x1e2282(0x14d))/0x7)+-parseInt(_0x1e2282(0x15a))/0x8+parseInt(_0x1e2282(0x1ba))/0x9;if(_0x4973f5===_0x27a8ed)break;else _0x36ed15[_0x1099de(0x1a0)](_0x36ed15[_0x1099de(0x126)]());}catch(_0x447943){_0x36ed15[_0x1099de(0x1a0)](_0x36ed15[_0x20d629(0x25d)]());}}}(a0_0x3680,0x3aa54),(function(_0x1a4bb0,_0x3dd567){var _0x23566a=a0_0x5a4f,_0x284243=a0_0x10d9,_0x52614a=a0_0x2a1e,_0x62032f=_0x1a4bb0();while(!![]){try{var _0xd7d20a=parseInt(_0x52614a(0x10f))/0x1+-parseInt(_0x52614a(0x10b))/0x2+-parseInt(_0x52614a(0x10e))/0x3+parseInt(_0x52614a(0x102))/0x4*(-parseInt(_0x52614a(0x14d))/0x5)+parseInt(_0x52614a(0x12b))/0x6+-parseInt(_0x52614a(0x15e))/0x7*(-parseInt(_0x52614a(0xfe))/0x8)+-parseInt(_0x52614a(0xec))/0x9*(-parseInt(_0x52614a(0x138))/0xa);if(_0xd7d20a===_0x3dd567)break;else _0x62032f[_0x23566a(0x1a0)](_0x62032f[_0x23566a(0x126)]());}catch(_0x4ca857){_0x62032f[_0x284243(0x1b7)](_0x62032f[_0x284243(0x15e)]());}}}(a0_0x5a74,0x542ce),(function(_0x5c594c,_0x1a4ff7){var _0x49dffd=a0_0x10d9,_0x2a583a=a0_0x2a1e,_0x3cbb15=a0_0x2f6b,_0x2993ef=_0x5c594c();while(!![]){try{var _0x3b8d28=-parseInt(_0x3cbb15(0x19e))/0x1*(parseInt(_0x3cbb15(0x1b4))/0x2)+-parseInt(_0x3cbb15(0x1e1))/0x3*(-parseInt(_0x3cbb15(0x199))/0x4)+parseInt(_0x3cbb15(0x1eb))/0x5+parseInt(_0x3cbb15(0x207))/0x6+-parseInt(_0x3cbb15(0x1a6))/0x7+parseInt(_0x3cbb15(0x1ad))/0x8*(-parseInt(_0x3cbb15(0x1d5))/0x9)+-parseInt(_0x3cbb15(0x205))/0xa*(parseInt(_0x3cbb15(0x209))/0xb);if(_0x3b8d28===_0x1a4ff7)break;else _0x2993ef[_0x49dffd(0x1b7)](_0x2993ef[_0x2a583a(0x10a)]());}catch(_0x1ec254){_0x2993ef[_0x2a583a(0xf9)](_0x2993ef[_0x49dffd(0x15e)]());}}}(a0_0x192f,0xcc0ce),(function(_0x4236a4,_0x3b2513){var _0x38a2de=a0_0x2a1e,_0x41919a=a0_0x2f6b,_0x436e90=a0_0xfd7b,_0x355a43=_0x4236a4();while(!![]){try{var _0x30ee2a=parseInt(_0x436e90(0x23f))/0x1+parseInt(_0x436e90(0x24a))/0x2*(-parseInt(_0x436e90(0x257))/0x3)+parseInt(_0x436e90(0x1ee))/0x4+-parseInt(_0x436e90(0x226))/0x5*(-parseInt(_0x436e90(0x20e))/0x6)+parseInt(_0x436e90(0x258))/0x7*(-parseInt(_0x436e90(0x218))/0x8)+parseInt(_0x436e90(0x20d))/0x9*(parseInt(_0x436e90(0x21b))/0xa)+-parseInt(_0x436e90(0x20b))/0xb*(parseInt(_0x436e90(0x1eb))/0xc);if(_0x30ee2a===_0x3b2513)break;else _0x355a43[_0x38a2de(0xf9)](_0x355a43[_0x41919a(0x1cd)]());}catch(_0x58d394){_0x355a43[_0x41919a(0x197)](_0x355a43[_0x41919a(0x1cd)]());}}}(a0_0x4e5b,0xebcc1),function(_0x5c65ca,_0x52e994){var _0x16fe42=a0_0xfd7b,_0x24d876=a0_0x4f2b,_0x4caef5=_0x5c65ca();while(!![]){try{var _0x533abd=parseInt(_0x24d876(0x1b9))/0x1*(parseInt(_0x24d876(0x18a))/0x2)+parseInt(_0x24d876(0x174))/0x3*(parseInt(_0x24d876(0x1ae))/0x4)+-parseInt(_0x24d876(0x1cb))/0x5+parseInt(_0x24d876(0x191))/0x6+-parseInt(_0x24d876(0x1d8))/0x7+parseInt(_0x24d876(0x1c5))/0x8*(parseInt(_0x24d876(0x1bc))/0x9)+-parseInt(_0x24d876(0x16d))/0xa;if(_0x533abd===_0x52e994)break;else _0x4caef5[_0x16fe42(0x234)](_0x4caef5[_0x16fe42(0x1fa)]());}catch(_0x2d2be0){_0x4caef5[_0x16fe42(0x234)](_0x4caef5[_0x16fe42(0x1fa)]());}}}(a0_0x1d49,0x7df75))))))))))))));function a0_0x549d(_0x46ef1a,_0xabfe23){var _0x505800=a0_0x3d2a();return a0_0x549d=function(_0x210676,_0x26baa1){_0x210676=_0x210676-0x70;var _0x24b2a2=_0x505800[_0x210676];return _0x24b2a2;},a0_0x549d(_0x46ef1a,_0xabfe23);}function a0_0x699e(){var _0x407b03=a0_0x2a1e,_0x2ce20a=a0_0x2f6b,_0x444d95=a0_0xfd7b,_0x3d5b1c=a0_0x4f2b,_0x275d4d=[_0x3d5b1c(0x1a7),_0x3d5b1c(0x17a),_0x444d95(0x244),_0x3d5b1c(0x1d9),_0x3d5b1c(0x188),_0x3d5b1c(0x1dd),_0x3d5b1c(0x172),_0x444d95(0x242),_0x3d5b1c(0x181),_0x3d5b1c(0x182),_0x3d5b1c(0x1de),_0x3d5b1c(0x1b0),_0x444d95(0x24f),_0x444d95(0x1fa),_0x3d5b1c(0x18d),_0x3d5b1c(0x19c),_0x3d5b1c(0x1c1),_0x3d5b1c(0x18b),_0x3d5b1c(0x173),_0x3d5b1c(0x1b2),_0x444d95(0x22d),_0x3d5b1c(0x1ca),_0x3d5b1c(0x1b4),_0x3d5b1c(0x17b),_0x3d5b1c(0x1cd),_0x444d95(0x200),_0x3d5b1c(0x1c6),_0x3d5b1c(0x1d0),_0x444d95(0x216),_0x3d5b1c(0x1ad),_0x3d5b1c(0x176),_0x3d5b1c(0x1c7),_0x3d5b1c(0x190),_0x3d5b1c(0x19d),_0x3d5b1c(0x1b5),_0x3d5b1c(0x1a6),_0x3d5b1c(0x1dc),_0x3d5b1c(0x1c0),_0x3d5b1c(0x180),_0x3d5b1c(0x1da),_0x444d95(0x21a),_0x3d5b1c(0x1a9),_0x3d5b1c(0x1d1),_0x3d5b1c(0x1a8),_0x3d5b1c(0x17c),_0x3d5b1c(0x1cc),_0x3d5b1c(0x177),_0x3d5b1c(0x1c4),_0x3d5b1c(0x178),_0x3d5b1c(0x1c9),_0x3d5b1c(0x1cf),_0x3d5b1c(0x17e),_0x3d5b1c(0x1db),_0x3d5b1c(0x195),_0x3d5b1c(0x193),_0x444d95(0x220),_0x3d5b1c(0x1a1),_0x3d5b1c(0x1ac),_0x444d95(0x22c),_0x3d5b1c(0x19f),_0x3d5b1c(0x1a4),_0x3d5b1c(0x16c),_0x3d5b1c(0x1d5),_0x3d5b1c(0x197),_0x3d5b1c(0x17d),_0x3d5b1c(0x1bd),_0x3d5b1c(0x1a5),_0x3d5b1c(0x19e),_0x3d5b1c(0x17f),_0x444d95(0x21c),_0x3d5b1c(0x1d7),_0x3d5b1c(0x1b1),_0x3d5b1c(0x179),_0x3d5b1c(0x1d2),_0x3d5b1c(0x183),_0x3d5b1c(0x1bb),_0x3d5b1c(0x1ab),_0x3d5b1c(0x1a0),_0x444d95(0x1f3),_0x3d5b1c(0x184),_0x3d5b1c(0x18f),_0x3d5b1c(0x194),_0x3d5b1c(0x189),_0x2ce20a(0x1bb),_0x444d95(0x1fc),_0x3d5b1c(0x170),_0x3d5b1c(0x185),_0x3d5b1c(0x16f),_0x3d5b1c(0x171),_0x3d5b1c(0x16e),_0x3d5b1c(0x1af),_0x3d5b1c(0x198),_0x407b03(0xee),_0x444d95(0x1ff),_0x3d5b1c(0x1bf),_0x3d5b1c(0x1c8),_0x3d5b1c(0x18c),_0x3d5b1c(0x187),_0x3d5b1c(0x1be),_0x444d95(0x1f5),_0x3d5b1c(0x1a2),_0x3d5b1c(0x19b),_0x3d5b1c(0x18e),_0x3d5b1c(0x186),_0x3d5b1c(0x1d4),_0x2ce20a(0x1f0),_0x444d95(0x248)];return a0_0x699e=function(){return _0x275d4d;},a0_0x699e();}function a0_0x192f(){var _0x52d227=a0_0x55ce,_0x93524a=a0_0x5a4f,_0x13f182=a0_0x10d9,_0x16de8f=a0_0x2a1e,_0x3e95f4=[_0x16de8f(0x148),_0x16de8f(0x11f),_0x16de8f(0xfa),_0x16de8f(0x12e),_0x16de8f(0x103),_0x16de8f(0xfb),_0x16de8f(0x13e),_0x16de8f(0x12d),_0x16de8f(0x12f),_0x16de8f(0x114),_0x16de8f(0xfd),_0x52d227(0xd4),_0x16de8f(0x15b),_0x16de8f(0xed),_0x16de8f(0x100),_0x16de8f(0x169),_0x13f182(0x180),_0x13f182(0x177),_0x16de8f(0x127),_0x16de8f(0x10d),_0x16de8f(0xf2),_0x13f182(0x1bd),_0x13f182(0x1c8),_0x16de8f(0x116),_0x13f182(0x1b0),_0x13f182(0x1a2),_0x16de8f(0x145),_0x16de8f(0xf8),_0x16de8f(0x106),_0x16de8f(0x151),_0x93524a(0x11c),_0x16de8f(0x124),_0x16de8f(0x160),_0x13f182(0x156),_0x13f182(0x175),_0x16de8f(0x143),_0x16de8f(0x101),_0x16de8f(0xf1),_0x16de8f(0x164),_0x16de8f(0x144),_0x16de8f(0xf0),_0x16de8f(0x155),_0x16de8f(0x128),_0x13f182(0x1ae),_0x16de8f(0x16a),_0x16de8f(0xf7),_0x16de8f(0x122),_0x13f182(0x19b),_0x93524a(0x139),_0x93524a(0x17d),_0x16de8f(0x10a),_0x16de8f(0x139),_0x16de8f(0x159),_0x16de8f(0x108),_0x13f182(0x1b4),_0x16de8f(0x10c),_0x16de8f(0x154),_0x16de8f(0x153),_0x16de8f(0x11c),_0x16de8f(0x158),_0x13f182(0x150),_0x16de8f(0x110),_0x16de8f(0x14a),_0x16de8f(0x13a),_0x13f182(0x1a3),_0x16de8f(0x134),_0x13f182(0x174),_0x13f182(0x1af),_0x16de8f(0xf6),_0x16de8f(0x117),_0x16de8f(0x147),_0x16de8f(0xf5),_0x93524a(0x17c),_0x13f182(0x16b),_0x16de8f(0xea),_0x16de8f(0x166),_0x16de8f(0x13d),_0x16de8f(0x142),_0x16de8f(0x126),_0x13f182(0x194),_0x93524a(0x118),_0x16de8f(0x131),_0x16de8f(0x125),_0x16de8f(0x163),_0x13f182(0x17c),_0x16de8f(0x13f),_0x16de8f(0x11a),_0x13f182(0x18d),_0x16de8f(0x156),_0x16de8f(0x167),_0x16de8f(0x150),_0x16de8f(0x13c),_0x13f182(0x18a),_0x16de8f(0x13b),_0x13f182(0x1b5),_0x16de8f(0x119),_0x16de8f(0x109),_0x13f182(0x1ca),_0x16de8f(0x129),_0x16de8f(0x118),_0x16de8f(0x161),_0x16de8f(0x111),_0x16de8f(0x15d),_0x16de8f(0x14b),_0x16de8f(0x123),_0x16de8f(0x115),_0x16de8f(0x14e),_0x16de8f(0x104),_0x16de8f(0x11e),_0x16de8f(0x107),_0x16de8f(0x137),_0x16de8f(0x133),_0x16de8f(0x12c),_0x16de8f(0x146),_0x16de8f(0x11b),_0x16de8f(0x135),_0x16de8f(0xef),_0x16de8f(0xf3),_0x16de8f(0x105),_0x13f182(0x171),_0x16de8f(0x132),_0x16de8f(0x149),_0x93524a(0x148),_0x16de8f(0xf9),_0x16de8f(0x136),_0x16de8f(0x165),_0x16de8f(0x15a)];return a0_0x192f=function(){return _0x3e95f4;},a0_0x192f();}function a0_0x15ed(){var _0x525cb9=a0_0x94dd,_0x593b98=a0_0x29c0,_0x3f3078=a0_0x549d,_0x5ef40f=a0_0xf321,_0x33112d=[_0x5ef40f(0x258),_0x5ef40f(0x254),_0x5ef40f(0x21c),_0x5ef40f(0x233),_0x5ef40f(0x269),_0x5ef40f(0x20d),_0x5ef40f(0x218),_0x5ef40f(0x286),_0x5ef40f(0x255),_0x5ef40f(0x294),_0x5ef40f(0x273),_0x5ef40f(0x232),_0x5ef40f(0x264),_0x5ef40f(0x22a),_0x5ef40f(0x220),_0x5ef40f(0x25a),_0x3f3078(0x123),_0x5ef40f(0x26c),_0x5ef40f(0x24c),_0x5ef40f(0x28f),_0x5ef40f(0x20e),_0x5ef40f(0x1d8),_0x5ef40f(0x27a),_0x5ef40f(0x240),_0x5ef40f(0x261),_0x3f3078(0x106),_0x5ef40f(0x243),_0x5ef40f(0x1ea),_0x5ef40f(0x202),_0x3f3078(0x11d),_0x3f3078(0xfe),_0x5ef40f(0x27b),_0x3f3078(0x111),_0x5ef40f(0x1ff),_0x5ef40f(0x249),_0x3f3078(0xed),_0x5ef40f(0x27d),_0x525cb9(0x11d),_0x3f3078(0xc6),_0x5ef40f(0x279),_0x3f3078(0x9d),_0x5ef40f(0x1ee),_0x5ef40f(0x215),_0x5ef40f(0x1e4),_0x5ef40f(0x275),_0x3f3078(0xd7),_0x5ef40f(0x25d),_0x3f3078(0x97),_0x5ef40f(0x1e1),_0x5ef40f(0x1eb),_0x5ef40f(0x20f),_0x5ef40f(0x292),_0x5ef40f(0x23b),_0x5ef40f(0x1f8),_0x593b98(0x21a),_0x5ef40f(0x26b),_0x5ef40f(0x1fb),_0x5ef40f(0x222),_0x5ef40f(0x200),_0x5ef40f(0x204),_0x3f3078(0x79),_0x5ef40f(0x251),_0x5ef40f(0x1db),_0x3f3078(0x10b),_0x5ef40f(0x293),_0x3f3078(0xcc),_0x5ef40f(0x252),_0x5ef40f(0x22f),_0x3f3078(0x10f),_0x593b98(0x20f),_0x593b98(0x265),_0x3f3078(0xbb),_0x3f3078(0xf0),_0x5ef40f(0x214),_0x5ef40f(0x260),_0x3f3078(0xeb),_0x5ef40f(0x280),_0x5ef40f(0x245),_0x5ef40f(0x266),_0x593b98(0x23e),_0x5ef40f(0x28c),_0x5ef40f(0x1f4),_0x5ef40f(0x1e5),_0x5ef40f(0x285),_0x5ef40f(0x253),_0x5ef40f(0x205),_0x5ef40f(0x228),_0x5ef40f(0x1e7),_0x5ef40f(0x235),_0x5ef40f(0x262),_0x5ef40f(0x201),_0x5ef40f(0x23e),_0x5ef40f(0x226),_0x3f3078(0x9f),_0x5ef40f(0x1e9),_0x5ef40f(0x207),_0x5ef40f(0x1f1),_0x5ef40f(0x28e),_0x5ef40f(0x1dd),_0x5ef40f(0x1de),_0x5ef40f(0x20c),_0x5ef40f(0x271),_0x5ef40f(0x25c),_0x5ef40f(0x236),_0x5ef40f(0x267),_0x5ef40f(0x211),_0x5ef40f(0x1df),_0x5ef40f(0x28d),_0x5ef40f(0x1e2),_0x5ef40f(0x289),_0x5ef40f(0x281),_0x5ef40f(0x28b),_0x593b98(0x213),_0x5ef40f(0x256),_0x5ef40f(0x1f7),_0x593b98(0x1d6),_0x3f3078(0x105),_0x5ef40f(0x20a),_0x5ef40f(0x20b),_0x5ef40f(0x224),_0x5ef40f(0x1fc),_0x5ef40f(0x272),_0x5ef40f(0x26d),_0x5ef40f(0x23a),_0x5ef40f(0x28a),_0x5ef40f(0x1ef),_0x3f3078(0xdd),'mozRequestFullScreen',_0x5ef40f(0x223),_0x5ef40f(0x1f6),_0x5ef40f(0x263),_0x5ef40f(0x24d),_0x5ef40f(0x1e0),_0x5ef40f(0x234),_0x3f3078(0x9e),_0x5ef40f(0x203),_0x5ef40f(0x212),_0x5ef40f(0x22d),_0x5ef40f(0x21d),_0x3f3078(0xb7),_0x5ef40f(0x24a),_0x5ef40f(0x22c),_0x5ef40f(0x209),_0x3f3078(0xdc),_0x3f3078(0xbd),_0x5ef40f(0x1dc),_0x3f3078(0xac),_0x3f3078(0xf8),_0x3f3078(0xb0),_0x5ef40f(0x26f),_0x3f3078(0x85),_0x5ef40f(0x270),_0x5ef40f(0x225),_0x5ef40f(0x21a),_0x3f3078(0xda),_0x5ef40f(0x221),_0x5ef40f(0x25f),_0x5ef40f(0x257),_0x3f3078(0x7d),_0x5ef40f(0x1d7),_0x5ef40f(0x237),_0x5ef40f(0x1fe),_0x5ef40f(0x239),_0x3f3078(0xf7),_0x5ef40f(0x244),_0x5ef40f(0x230),_0x5ef40f(0x27e),_0x5ef40f(0x217),_0x5ef40f(0x250),_0x5ef40f(0x21e),'7SKtwCt',_0x5ef40f(0x241),_0x593b98(0x1fa),_0x3f3078(0x8e),_0x5ef40f(0x1f5),_0x5ef40f(0x24b),_0x5ef40f(0x238),_0x3f3078(0xd3),_0x5ef40f(0x246),_0x5ef40f(0x290),'9752946JjQAZD'];return a0_0x15ed=function(){return _0x33112d;},a0_0x15ed();}function a0_0x1d49(){var _0x49602c=a0_0x10d9,_0x53b958=a0_0x2a1e,_0x240c6f=a0_0x2f6b,_0x1409a1=a0_0xfd7b,_0x9e703=[_0x1409a1(0x241),_0x1409a1(0x213),_0x240c6f(0x1c2),_0x1409a1(0x23d),_0x1409a1(0x211),_0x1409a1(0x245),_0x1409a1(0x22b),_0x240c6f(0x1c6),_0x1409a1(0x24e),_0x1409a1(0x256),_0x240c6f(0x1bd),_0x53b958(0xe8),_0x49602c(0x170),_0x240c6f(0x1c4),_0x1409a1(0x203),_0x1409a1(0x243),_0x1409a1(0x219),_0x1409a1(0x1fd),_0x1409a1(0x21e),_0x1409a1(0x23b),_0x1409a1(0x255),_0x1409a1(0x228),_0x1409a1(0x1ea),_0x53b958(0x120),_0x1409a1(0x1f8),_0x1409a1(0x235),_0x1409a1(0x240),_0x240c6f(0x1ea),_0x1409a1(0x22e),_0x1409a1(0x20a),_0x1409a1(0x1ef),_0x1409a1(0x223),_0x1409a1(0x237),_0x1409a1(0x1fa),_0x1409a1(0x22a),_0x53b958(0xe9),_0x1409a1(0x1ec),_0x240c6f(0x1b2),_0x1409a1(0x1f4),_0x1409a1(0x1f0),_0x1409a1(0x209),_0x1409a1(0x1fb),_0x53b958(0x15f),_0x1409a1(0x23e),_0x1409a1(0x23c),_0x1409a1(0x1f7),_0x1409a1(0x254),_0x1409a1(0x1fe),_0x1409a1(0x206),_0x1409a1(0x214),_0x240c6f(0x196),_0x1409a1(0x23a),_0x1409a1(0x24d),_0x240c6f(0x212),_0x49602c(0x172),_0x1409a1(0x222),_0x1409a1(0x253),_0x1409a1(0x249),_0x1409a1(0x210),_0x1409a1(0x259),_0x1409a1(0x225),_0x240c6f(0x1a2),_0x240c6f(0x1ab),_0x1409a1(0x250),_0x1409a1(0x201),_0x49602c(0x1b1),_0x240c6f(0x1db),_0x1409a1(0x21d),_0x1409a1(0x21f),_0x240c6f(0x20b),_0x240c6f(0x19d),_0x1409a1(0x239),_0x1409a1(0x236),_0x240c6f(0x1ef),_0x1409a1(0x1f1),_0x240c6f(0x1d6),_0x1409a1(0x24b),_0x1409a1(0x24c),_0x1409a1(0x20f),_0x53b958(0x168),_0x1409a1(0x232),_0x1409a1(0x212),_0x1409a1(0x233),_0x53b958(0x11d),_0x1409a1(0x251),_0x1409a1(0x246),_0x1409a1(0x231),_0x1409a1(0x230),_0x1409a1(0x207),_0x1409a1(0x1f6),_0x1409a1(0x205),_0x240c6f(0x1b6),_0x1409a1(0x204),_0x1409a1(0x252),_0x1409a1(0x247),_0x240c6f(0x1a4),_0x240c6f(0x1cf),_0x1409a1(0x215),_0x1409a1(0x227),_0x1409a1(0x1f9),_0x1409a1(0x22f),_0x1409a1(0x1f2),_0x240c6f(0x1e3),_0x1409a1(0x202),_0x240c6f(0x197),_0x240c6f(0x1f9),_0x1409a1(0x238),_0x53b958(0x113),_0x240c6f(0x211),_0x1409a1(0x1ed),_0x240c6f(0x1d9),_0x1409a1(0x217),_0x240c6f(0x1ce),_0x1409a1(0x229),_0x1409a1(0x1e9)];return a0_0x1d49=function(){return _0x9e703;},a0_0x1d49();}function a0_0x29c0(_0x1dd2d3,_0xffb358){var _0x4a5617=a0_0xcec8();return a0_0x29c0=function(_0x4ff0b1,_0x39a8ec){_0x4ff0b1=_0x4ff0b1-0x19f;var _0x5ce6a4=_0x4a5617[_0x4ff0b1];return _0x5ce6a4;},a0_0x29c0(_0x1dd2d3,_0xffb358);}function a0_0x2d81(_0xea29d9,_0x305eee){var _0x1aca9a=a0_0x699e();return a0_0x2d81=function(_0x4db392,_0x528516){_0x4db392=_0x4db392-0x18d;var _0x33440a=_0x1aca9a[_0x4db392];return _0x33440a;},a0_0x2d81(_0xea29d9,_0x305eee);}function a0_0x5a4f(_0x503c8a,_0x5d9b8a){var _0x16e5e9=a0_0x5db0();return a0_0x5a4f=function(_0x2218c9,_0xd9c834){_0x2218c9=_0x2218c9-0x112;var _0x14483c=_0x16e5e9[_0x2218c9];return _0x14483c;},a0_0x5a4f(_0x503c8a,_0x5d9b8a);}function a0_0x10d9(_0x5ac25a,_0x5e57cb){var _0x302ad8=a0_0x3680();return a0_0x10d9=function(_0x184c91,_0x5e3b60){_0x184c91=_0x184c91-0x14c;var _0x1ef9f1=_0x302ad8[_0x184c91];return _0x1ef9f1;},a0_0x10d9(_0x5ac25a,_0x5e57cb);}function a0_0x2930(){var _0x3ad0fd=a0_0xf321,_0x8a518b=a0_0x5056,_0x3b05d5=a0_0x55ce,_0x35ae4a=a0_0x248b,_0x23deff=[_0x35ae4a(0x131),_0x35ae4a(0x136),_0x35ae4a(0xfb),_0x35ae4a(0x13d),_0x35ae4a(0xdd),_0x35ae4a(0x11b),_0x35ae4a(0x14a),_0x35ae4a(0x11c),_0x35ae4a(0x15a),_0x35ae4a(0x178),_0x35ae4a(0x153),_0x35ae4a(0xf5),_0x35ae4a(0x163),_0x35ae4a(0xff),_0x35ae4a(0x111),_0x35ae4a(0x11e),_0x3b05d5(0x117),_0x35ae4a(0xee),_0x35ae4a(0xf7),_0x35ae4a(0x16b),_0x35ae4a(0xe9),_0x3b05d5(0xfe),_0x3b05d5(0x110),_0x35ae4a(0x101),_0x35ae4a(0x104),_0x35ae4a(0x180),_0x35ae4a(0xfc),_0x3b05d5(0x129),_0x35ae4a(0x120),_0x8a518b(0x10d),_0x35ae4a(0x13f),_0x35ae4a(0x110),_0x35ae4a(0x16c),_0x35ae4a(0xe6),_0x35ae4a(0x121),_0x35ae4a(0xea),_0x35ae4a(0xf8),_0x35ae4a(0x14e),_0x35ae4a(0x143),_0x35ae4a(0x159),_0x35ae4a(0xf3),_0x3b05d5(0xee),_0x35ae4a(0xeb),_0x3b05d5(0xaf),_0x35ae4a(0x108),_0x35ae4a(0x11a),_0x35ae4a(0x179),_0x3b05d5(0xd1),_0x35ae4a(0x176),_0x3ad0fd(0x21f),_0x8a518b(0x148),_0x3b05d5(0x10c),_0x3b05d5(0x13c),_0x35ae4a(0x118),_0x3b05d5(0x120),_0x35ae4a(0x102),_0x35ae4a(0x105),_0x35ae4a(0x114),_0x35ae4a(0x17a),_0x35ae4a(0x149),_0x35ae4a(0x17c),_0x35ae4a(0xe3),_0x35ae4a(0x123),_0x35ae4a(0x152),_0x35ae4a(0xf0),_0x35ae4a(0x13a),_0x35ae4a(0x119),_0x35ae4a(0x175),_0x35ae4a(0x181),_0x35ae4a(0x17f),_0x35ae4a(0x16a),_0x35ae4a(0x16d),_0x35ae4a(0x10d),_0x3b05d5(0xe2),_0x3b05d5(0x109),_0x35ae4a(0x141),_0x3b05d5(0xde),_0x3b05d5(0xff),_0x3b05d5(0xec),_0x3b05d5(0x11b),_0x35ae4a(0x14b),_0x3b05d5(0xb5),_0x8a518b(0xd8),_0x3b05d5(0xf9),_0x35ae4a(0x15f),_0x35ae4a(0xde),_0x35ae4a(0x128),_0x35ae4a(0x12c),_0x3b05d5(0xd2),_0x35ae4a(0x15c),_0x3b05d5(0x12f),_0x3b05d5(0x115),_0x35ae4a(0x13e),_0x35ae4a(0xfe),_0x35ae4a(0x160),_0x35ae4a(0x164),_0x3b05d5(0xf2),_0x35ae4a(0xf4),_0x3b05d5(0x10f),_0x3b05d5(0xc6),_0x35ae4a(0x10b),_0x3b05d5(0x100),_0x35ae4a(0x140),_0x35ae4a(0x148),_0x35ae4a(0x103),_0x35ae4a(0x17e),_0x35ae4a(0x10a),_0x35ae4a(0x16e),_0x35ae4a(0x12a),_0x35ae4a(0x122),_0x35ae4a(0x171),_0x35ae4a(0x15b),_0x35ae4a(0x127),_0x35ae4a(0xf1),_0x35ae4a(0x15e),_0x35ae4a(0x166),_0x35ae4a(0x170),_0x8a518b(0x119),_0x35ae4a(0x146),_0x35ae4a(0x147),_0x3b05d5(0x128),_0x35ae4a(0xe2),_0x3b05d5(0xb9),_0x35ae4a(0x151),_0x35ae4a(0x135),_0x35ae4a(0x14f),_0x35ae4a(0x106),_0x35ae4a(0x161),_0x35ae4a(0x12e),_0x8a518b(0x117),_0x35ae4a(0x130),_0x35ae4a(0xe4),_0x35ae4a(0x156),_0x35ae4a(0x165),_0x35ae4a(0x150),_0x3ad0fd(0x210),_0x35ae4a(0x10e),_0x3b05d5(0x10b),_0x35ae4a(0x14c),_0x3b05d5(0x102),_0x35ae4a(0x167),_0x35ae4a(0x12f)];return a0_0x2930=function(){return _0x23deff;},a0_0x2930();}function a0_0x55ce(_0x55c5d0,_0x45d1b8){var _0x4b9efe=a0_0x4fe0();return a0_0x55ce=function(_0x3e9f0e,_0xf5f769){_0x3e9f0e=_0x3e9f0e-0x9c;var _0x2a6147=_0x4b9efe[_0x3e9f0e];return _0x2a6147;},a0_0x55ce(_0x55c5d0,_0x45d1b8);}(function(_0x2b29c7,_0x32283b){var _0x5f2374=a0_0xfd7b,_0x110d58=a0_0x4f2b,_0x5ac533=a0_0x2d81,_0x4cc2be=_0x2b29c7();while(!![]){try{var _0x361817=parseInt(_0x5ac533(0x1c2))/0x1+parseInt(_0x5ac533(0x1c0))/0x2+-parseInt(_0x5ac533(0x19f))/0x3*(parseInt(_0x5ac533(0x1c3))/0x4)+parseInt(_0x5ac533(0x19b))/0x5+-parseInt(_0x5ac533(0x1dd))/0x6+parseInt(_0x5ac533(0x197))/0x7*(parseInt(_0x5ac533(0x1f7))/0x8)+parseInt(_0x5ac533(0x1be))/0x9*(parseInt(_0x5ac533(0x193))/0xa);if(_0x361817===_0x32283b)break;else _0x4cc2be[_0x110d58(0x18c)](_0x4cc2be[_0x5f2374(0x1fa)]());}catch(_0x181154){_0x4cc2be[_0x110d58(0x18c)](_0x4cc2be[_0x110d58(0x1b8)]());}}}(a0_0x699e,0xb6ef3),(function(_0x3c9f80,_0x3b41f1){var _0x1905cb=a0_0xfd7b,_0x137c32=a0_0x2d81,_0x4686cf=a0_0x310b,_0x1a34f1=_0x3c9f80();while(!![]){try{var _0x5d9343=parseInt(_0x4686cf(0xf0))/0x1+-parseInt(_0x4686cf(0xc3))/0x2*(parseInt(_0x4686cf(0xdc))/0x3)+-parseInt(_0x4686cf(0xa4))/0x4+parseInt(_0x4686cf(0xbd))/0x5*(parseInt(_0x4686cf(0xcb))/0x6)+parseInt(_0x4686cf(0xa9))/0x7*(-parseInt(_0x4686cf(0xad))/0x8)+parseInt(_0x4686cf(0xb6))/0x9+parseInt(_0x4686cf(0xf9))/0xa*(parseInt(_0x4686cf(0xc5))/0xb);if(_0x5d9343===_0x3b41f1)break;else _0x1a34f1[_0x137c32(0x1b0)](_0x1a34f1[_0x137c32(0x1c8)]());}catch(_0x322b40){_0x1a34f1[_0x1905cb(0x234)](_0x1a34f1[_0x137c32(0x1c8)]());}}}(a0_0x417b,0x78f9b),function(_0x48609e,_0x54c18f){var _0x405940=a0_0x2d81,_0x5bf98c=a0_0x310b,_0x2044bf=a0_0x511a,_0x39dcb2=_0x48609e();while(!![]){try{var _0xb150d6=-parseInt(_0x2044bf(0x1d9))/0x1+parseInt(_0x2044bf(0x1f3))/0x2+-parseInt(_0x2044bf(0x201))/0x3+-parseInt(_0x2044bf(0x200))/0x4*(-parseInt(_0x2044bf(0x1d8))/0x5)+parseInt(_0x2044bf(0x1eb))/0x6*(-parseInt(_0x2044bf(0x1ee))/0x7)+parseInt(_0x2044bf(0x1c6))/0x8*(-parseInt(_0x2044bf(0x1cb))/0x9)+parseInt(_0x2044bf(0x1f2))/0xa;if(_0xb150d6===_0x54c18f)break;else _0x39dcb2[_0x5bf98c(0xa3)](_0x39dcb2[_0x5bf98c(0xda)]());}catch(_0x592e60){_0x39dcb2[_0x405940(0x1b0)](_0x39dcb2[_0x5bf98c(0xda)]());}}}(a0_0x2e1f,0x5b88c)));function a0_0x3b98(){var _0x772554=a0_0xfd7b,_0x48fd81=a0_0x4f2b,_0x486dcf=a0_0x2d81,_0x454fb1=a0_0x310b,_0xa82b1e=a0_0x511a,_0x1cf821=[_0xa82b1e(0x1ca),_0xa82b1e(0x204),_0x486dcf(0x1e4),_0xa82b1e(0x1d3),_0xa82b1e(0x1fa),_0xa82b1e(0x1be),_0xa82b1e(0x1f7),_0xa82b1e(0x1de),_0x48fd81(0x1d3),_0xa82b1e(0x1cd),_0xa82b1e(0x1bc),_0xa82b1e(0x1e4),_0xa82b1e(0x1c5),_0xa82b1e(0x1cf),_0x486dcf(0x198),_0xa82b1e(0x1f1),_0x454fb1(0xc0),_0xa82b1e(0x1d4),_0x454fb1(0xa3),_0x486dcf(0x1ab),_0xa82b1e(0x1c4),_0x454fb1(0xe5),_0xa82b1e(0x1ea),_0xa82b1e(0x1f8),_0xa82b1e(0x1e3),_0xa82b1e(0x202),_0x454fb1(0xd0),_0x454fb1(0xec),_0x486dcf(0x1a8),_0x454fb1(0xf6),_0xa82b1e(0x1ba),_0xa82b1e(0x1df),_0xa82b1e(0x1bb),_0x454fb1(0xe2),_0xa82b1e(0x1d6),_0xa82b1e(0x1d7),_0x454fb1(0xbe),_0xa82b1e(0x1dd),_0x454fb1(0xe1),_0x454fb1(0xb9),_0xa82b1e(0x1ce),_0xa82b1e(0x1bd),_0xa82b1e(0x1fd),_0xa82b1e(0x1ed),_0x454fb1(0xf3),_0xa82b1e(0x1d1),_0x486dcf(0x1b6),_0xa82b1e(0x1c0),_0x486dcf(0x1f2),_0xa82b1e(0x1b9),_0xa82b1e(0x203),_0x772554(0x208),_0x486dcf(0x194),_0xa82b1e(0x205),_0x454fb1(0xde),_0xa82b1e(0x1c7),_0xa82b1e(0x1bf),_0xa82b1e(0x1b8),_0xa82b1e(0x1ff),_0xa82b1e(0x1db),_0xa82b1e(0x1d5),_0xa82b1e(0x1cc),_0x454fb1(0xab),_0xa82b1e(0x1dc),_0xa82b1e(0x1e6),_0xa82b1e(0x1da),_0xa82b1e(0x1fc),_0xa82b1e(0x1c3),_0xa82b1e(0x1c1),_0xa82b1e(0x1f9),_0xa82b1e(0x1e9),_0xa82b1e(0x1e7),_0xa82b1e(0x1e5),_0xa82b1e(0x1f0),_0x48fd81(0x1b8),_0xa82b1e(0x1d2),_0xa82b1e(0x1e8),_0xa82b1e(0x1e2),_0x454fb1(0xd9),_0xa82b1e(0x1f6)];return a0_0x3b98=function(){return _0x1cf821;},a0_0x3b98();}function a0_0xfd7b(_0x675953,_0x500b8f){var _0x2ddbb6=a0_0x4e5b();return a0_0xfd7b=function(_0x51525e,_0x47566e){_0x51525e=_0x51525e-0x1e9;var _0xb85721=_0x2ddbb6[_0x51525e];return _0xb85721;},a0_0xfd7b(_0x675953,_0x500b8f);}function a0_0x417b(){var _0x347a37=a0_0x2a1e,_0x7066a4=a0_0x2f6b,_0x3d7845=a0_0xfd7b,_0xbe912=a0_0x4f2b,_0x35ad68=a0_0x2d81,_0x48c324=[_0x7066a4(0x1b8),_0x35ad68(0x1f3),_0x35ad68(0x1ba),_0x35ad68(0x1b5),_0x35ad68(0x1e3),_0x35ad68(0x1a6),_0xbe912(0x1d6),_0x35ad68(0x1f0),_0x35ad68(0x1ce),_0x35ad68(0x1cb),_0x35ad68(0x1d8),_0xbe912(0x1ce),_0x35ad68(0x1a7),_0x35ad68(0x1b4),_0xbe912(0x1aa),_0x3d7845(0x221),_0x3d7845(0x224),_0x35ad68(0x1f6),_0x35ad68(0x1c4),_0x35ad68(0x1d9),_0x35ad68(0x1ea),_0x35ad68(0x19e),_0x35ad68(0x1da),_0x35ad68(0x1aa),_0x35ad68(0x1eb),_0x35ad68(0x1bc),_0x3d7845(0x1fa),_0x35ad68(0x1dc),_0x35ad68(0x1c6),_0x35ad68(0x18f),_0xbe912(0x1b7),_0x35ad68(0x1c5),_0x35ad68(0x1c1),_0x35ad68(0x1c7),_0x35ad68(0x1d6),_0x35ad68(0x1d1),_0x35ad68(0x1a5),_0x35ad68(0x1e5),_0x35ad68(0x1ec),_0x35ad68(0x1e6),_0x35ad68(0x1ae),_0x35ad68(0x1a0),_0x35ad68(0x1bd),_0xbe912(0x175),_0x35ad68(0x1b2),_0xbe912(0x1c2),_0x35ad68(0x1d5),_0xbe912(0x1a3),_0x35ad68(0x191),_0x3d7845(0x20c),_0x35ad68(0x1f1),_0x35ad68(0x1cf),_0x35ad68(0x196),_0x35ad68(0x1e0),_0x35ad68(0x1e8),_0x35ad68(0x1d4),_0x35ad68(0x1bf),_0xbe912(0x19a),_0x35ad68(0x1a9),_0x35ad68(0x1bb),_0x35ad68(0x1c9),_0x35ad68(0x18d),_0x35ad68(0x1e1),_0x35ad68(0x1e2),_0x35ad68(0x1b0),_0x35ad68(0x1df),_0x35ad68(0x190),_0x35ad68(0x1ca),_0x347a37(0x121),_0x35ad68(0x1b8),_0x35ad68(0x1d3),_0xbe912(0x199),_0x35ad68(0x19d),_0x35ad68(0x1e9),_0x35ad68(0x1a4),_0xbe912(0x1c3),_0x35ad68(0x199),_0x35ad68(0x18e),_0x35ad68(0x1b3),_0x35ad68(0x1f4),_0x35ad68(0x1ad),_0x35ad68(0x1a3),_0x35ad68(0x19c),_0x35ad68(0x1d7),_0x35ad68(0x1b9),_0x35ad68(0x1d0),_0x35ad68(0x1cc),_0x35ad68(0x195),_0x35ad68(0x1f5),_0x35ad68(0x1ed),_0x35ad68(0x1e7),_0xbe912(0x1b3),_0x35ad68(0x1de)];return a0_0x417b=function(){return _0x48c324;},a0_0x417b();}(function(_0x3613e2,_0x2d5fa3){var _0x2d856b=a0_0x310b,_0x299557=a0_0x511a,_0x4aa94d=a0_0xe7b9,_0x3bfa82=_0x3613e2();while(!![]){try{var _0x5cd690=-parseInt(_0x4aa94d(0x18d))/0x1+-parseInt(_0x4aa94d(0x151))/0x2*(parseInt(_0x4aa94d(0x158))/0x3)+parseInt(_0x4aa94d(0x144))/0x4*(-parseInt(_0x4aa94d(0x14a))/0x5)+-parseInt(_0x4aa94d(0x15f))/0x6+-parseInt(_0x4aa94d(0x162))/0x7+parseInt(_0x4aa94d(0x164))/0x8+-parseInt(_0x4aa94d(0x182))/0x9*(-parseInt(_0x4aa94d(0x184))/0xa);if(_0x5cd690===_0x2d5fa3)break;else _0x3bfa82[_0x2d856b(0xa3)](_0x3bfa82[_0x299557(0x1f5)]());}catch(_0x5ccfff){_0x3bfa82[_0x299557(0x206)](_0x3bfa82[_0x299557(0x1f5)]());}}}(a0_0x3b98,0xc8e43),(function(_0x2e7dcf,_0xa7526a){var _0x13c035=a0_0x511a,_0x54f2e9=a0_0xe7b9,_0x1450b3=a0_0x3cb5,_0x365f51=_0x2e7dcf();while(!![]){try{var _0x12abe5=-parseInt(_0x1450b3(0x1b9))/0x1+parseInt(_0x1450b3(0x192))/0x2+parseInt(_0x1450b3(0x1a6))/0x3+-parseInt(_0x1450b3(0x1a9))/0x4+-parseInt(_0x1450b3(0x195))/0x5+parseInt(_0x1450b3(0x1ae))/0x6*(parseInt(_0x1450b3(0x188))/0x7)+-parseInt(_0x1450b3(0x19d))/0x8*(-parseInt(_0x1450b3(0x1ca))/0x9);if(_0x12abe5===_0xa7526a)break;else _0x365f51[_0x54f2e9(0x14d)](_0x365f51[_0x54f2e9(0x185)]());}catch(_0x46b950){_0x365f51[_0x13c035(0x206)](_0x365f51[_0x54f2e9(0x185)]());}}}(a0_0x20b6,0x5d563),function(_0x4f0f46,_0x229cfb){var _0x514045=a0_0xe7b9,_0x56d44f=a0_0x3cb5,_0x33aaa9=a0_0xb2ce,_0x2ef3aa=_0x4f0f46();while(!![]){try{var _0x5d89b1=-parseInt(_0x33aaa9(0xec))/0x1*(-parseInt(_0x33aaa9(0xf6))/0x2)+parseInt(_0x33aaa9(0xf4))/0x3*(-parseInt(_0x33aaa9(0xf0))/0x4)+parseInt(_0x33aaa9(0x11f))/0x5*(parseInt(_0x33aaa9(0x10d))/0x6)+-parseInt(_0x33aaa9(0xfc))/0x7*(-parseInt(_0x33aaa9(0xea))/0x8)+parseInt(_0x33aaa9(0x126))/0x9+-parseInt(_0x33aaa9(0x115))/0xa+parseInt(_0x33aaa9(0xff))/0xb*(-parseInt(_0x33aaa9(0x117))/0xc);if(_0x5d89b1===_0x229cfb)break;else _0x2ef3aa[_0x56d44f(0x193)](_0x2ef3aa[_0x56d44f(0x1b5)]());}catch(_0x5201af){_0x2ef3aa[_0x514045(0x14d)](_0x2ef3aa[_0x56d44f(0x1b5)]());}}}(a0_0x5249,0x415fc)));function a0_0x5154(){var _0x34c179=a0_0x511a,_0x373813=a0_0xe7b9,_0x141007=a0_0x3cb5,_0x2ece84=a0_0xb2ce,_0x3dce25=[_0x141007(0x194),_0x2ece84(0xf1),_0x2ece84(0xf8),_0x141007(0x1b1),_0x2ece84(0xfb),_0x2ece84(0x100),_0x2ece84(0xeb),_0x2ece84(0xf5),_0x2ece84(0x108),_0x141007(0x1b8),_0x2ece84(0xee),_0x141007(0x19b),_0x2ece84(0x11a),_0x2ece84(0x120),_0x34c179(0x1c8),_0x2ece84(0xed),_0x373813(0x14e),_0x141007(0x1b2),_0x2ece84(0x10a),_0x2ece84(0x119),_0x141007(0x1a1),_0x2ece84(0x118),_0x2ece84(0x123),_0x2ece84(0x104),_0x2ece84(0x128),_0x2ece84(0x111),_0x2ece84(0x11e),_0x2ece84(0x103),_0x2ece84(0x110),_0x141007(0x198),_0x2ece84(0x129),_0x141007(0x19c),_0x141007(0x1a5),_0x2ece84(0x109),_0x2ece84(0x106),_0x2ece84(0x10f),_0x141007(0x18e),_0x2ece84(0x114),_0x2ece84(0x102),_0x2ece84(0xfa),_0x141007(0x19f),_0x2ece84(0x121),_0x2ece84(0xfe),_0x2ece84(0x124),_0x2ece84(0xf3),_0x2ece84(0xf7),_0x2ece84(0x107),_0x2ece84(0x116),_0x2ece84(0xf2),_0x2ece84(0xf9),_0x2ece84(0xef),_0x2ece84(0x112),_0x141007(0x1a3),_0x2ece84(0x101),_0x2ece84(0x11d),_0x2ece84(0x11b),_0x2ece84(0x10c),_0x2ece84(0xfd),_0x2ece84(0x10e)];return a0_0x5154=function(){return _0x3dce25;},a0_0x5154();}function a0_0x310b(_0x58c141,_0x5bb6bf){var _0x513c57=a0_0x417b();return a0_0x310b=function(_0x3a814b,_0x5de398){_0x3a814b=_0x3a814b-0xa0;var _0xea3bb8=_0x513c57[_0x3a814b];return _0xea3bb8;},a0_0x310b(_0x58c141,_0x5bb6bf);}function a0_0xf321(_0x7e1623,_0x6da127){var _0x565d40=a0_0x5a2f();return a0_0xf321=function(_0x40d383,_0x4cd2c6){_0x40d383=_0x40d383-0x1d7;var _0x4568fe=_0x565d40[_0x40d383];return _0x4568fe;},a0_0xf321(_0x7e1623,_0x6da127);}(function(_0x49f7a2,_0x3a0256){var _0x2480f1=a0_0x3cb5,_0xd33093=a0_0xb2ce,_0x32b7dc=a0_0x6220,_0xa1d213=_0x49f7a2();while(!![]){try{var _0x22031a=parseInt(_0x32b7dc(0x161))/0x1+-parseInt(_0x32b7dc(0x132))/0x2*(parseInt(_0x32b7dc(0x13a))/0x3)+-parseInt(_0x32b7dc(0x156))/0x4*(-parseInt(_0x32b7dc(0x13d))/0x5)+parseInt(_0x32b7dc(0x12e))/0x6+parseInt(_0x32b7dc(0x14f))/0x7+-parseInt(_0x32b7dc(0x14e))/0x8*(-parseInt(_0x32b7dc(0x162))/0x9)+-parseInt(_0x32b7dc(0x14a))/0xa;if(_0x22031a===_0x3a0256)break;else _0xa1d213[_0xd33093(0xfe)](_0xa1d213[_0xd33093(0x107)]());}catch(_0xea94f8){_0xa1d213[_0xd33093(0xfe)](_0xa1d213[_0x2480f1(0x1b5)]());}}}(a0_0x5154,0x4c4e0),function(_0x3346e9,_0x506603){var _0x32b943=a0_0xb2ce,_0x5a4919=a0_0x6220,_0x3f98ef=a0_0x125d,_0x36648d=_0x3346e9();while(!![]){try{var _0x40618a=-parseInt(_0x3f98ef(0x133))/0x1*(parseInt(_0x3f98ef(0x13c))/0x2)+-parseInt(_0x3f98ef(0x155))/0x3*(parseInt(_0x3f98ef(0x131))/0x4)+parseInt(_0x3f98ef(0x14f))/0x5+parseInt(_0x3f98ef(0x136))/0x6+-parseInt(_0x3f98ef(0x13a))/0x7*(parseInt(_0x3f98ef(0x153))/0x8)+parseInt(_0x3f98ef(0x152))/0x9*(parseInt(_0x3f98ef(0x154))/0xa)+parseInt(_0x3f98ef(0x150))/0xb*(parseInt(_0x3f98ef(0x157))/0xc);if(_0x40618a===_0x506603)break;else _0x36648d[_0x32b943(0xfe)](_0x36648d[_0x5a4919(0x12c)]());}catch(_0x4bc75b){_0x36648d[_0x5a4919(0x163)](_0x36648d[_0x5a4919(0x12c)]());}}}(a0_0x21c6,0x343b2));function a0_0x4636(_0x9dc370,_0x373425){var _0x793d08=a0_0x3450();return a0_0x4636=function(_0x3476d1,_0x5ef021){_0x3476d1=_0x3476d1-0xa1;var _0x34eeab=_0x793d08[_0x3476d1];return _0x34eeab;},a0_0x4636(_0x9dc370,_0x373425);}function a0_0xe7b9(_0x2a92ef,_0x477735){var _0x2cbfa7=a0_0x3b98();return a0_0xe7b9=function(_0x48d191,_0x42fb50){_0x48d191=_0x48d191-0x144;var _0x460438=_0x2cbfa7[_0x48d191];return _0x460438;},a0_0xe7b9(_0x2a92ef,_0x477735);}function a0_0x511a(_0x27e47c,_0xa108f9){var _0x5d4aca=a0_0x2e1f();return a0_0x511a=function(_0x19c19c,_0x1c6224){_0x19c19c=_0x19c19c-0x1b7;var _0x2bb7a1=_0x5d4aca[_0x19c19c];return _0x2bb7a1;},a0_0x511a(_0x27e47c,_0xa108f9);}function a0_0x4f2b(_0x3bdc0a,_0x25569b){var _0x299024=a0_0x1d49();return a0_0x4f2b=function(_0x5718c2,_0x1dd1f1){_0x5718c2=_0x5718c2-0x16c;var _0xfe37ca=_0x299024[_0x5718c2];return _0xfe37ca;},a0_0x4f2b(_0x3bdc0a,_0x25569b);}function a0_0x3680(){var _0x202f9=a0_0x55ce,_0x3803ef=a0_0x248b,_0x3e64c7=a0_0x577e,_0x436b4c=a0_0x5a4f,_0x2c5207=[_0x436b4c(0x123),_0x3e64c7(0x220),_0x436b4c(0x18b),_0x436b4c(0x146),_0x436b4c(0x150),_0x436b4c(0x154),_0x436b4c(0x13f),_0x436b4c(0x130),_0x436b4c(0x12e),_0x436b4c(0x18e),_0x436b4c(0x149),_0x3803ef(0x174),_0x436b4c(0x12d),_0x436b4c(0x158),_0x436b4c(0x17a),_0x3e64c7(0x227),_0x3e64c7(0x24f),_0x3e64c7(0x261),_0x436b4c(0x164),_0x3803ef(0x158),_0x436b4c(0x11b),_0x436b4c(0x119),_0x3e64c7(0x255),_0x436b4c(0x162),_0x3e64c7(0x1f7),_0x436b4c(0x18a),_0x436b4c(0x14e),_0x436b4c(0x18d),_0x202f9(0xfb),_0x436b4c(0x184),_0x436b4c(0x160),_0x436b4c(0x126),_0x436b4c(0x196),_0x3e64c7(0x244),_0x436b4c(0x1a4),_0x436b4c(0x128),_0x436b4c(0x165),_0x3803ef(0xec),_0x436b4c(0x11a),_0x3e64c7(0x1e9),_0x3e64c7(0x253),_0x436b4c(0x181),_0x436b4c(0x19f),_0x436b4c(0x11e),_0x436b4c(0x17f),_0x436b4c(0x14f),_0x436b4c(0x169),_0x3e64c7(0x254),_0x436b4c(0x13d),_0x436b4c(0x179),_0x3e64c7(0x251),_0x436b4c(0x172),_0x3e64c7(0x203),_0x3803ef(0xe8),_0x436b4c(0x131),_0x436b4c(0x166),_0x436b4c(0x16b),_0x436b4c(0x135),_0x436b4c(0x19e),_0x436b4c(0x159),_0x436b4c(0x161),_0x436b4c(0x122),_0x436b4c(0x155),_0x3803ef(0xef),_0x436b4c(0x133),_0x436b4c(0x186),_0x436b4c(0x192),_0x436b4c(0x199),_0x436b4c(0x15c),_0x436b4c(0x15e),_0x436b4c(0x127),_0x3803ef(0x115),_0x436b4c(0x147),_0x436b4c(0x14b),_0x436b4c(0x120),_0x436b4c(0x1a1),_0x3803ef(0x13c),_0x436b4c(0x15a),_0x3803ef(0x126),_0x3e64c7(0x1ff),_0x436b4c(0x176),_0x436b4c(0x138),_0x436b4c(0x16d),_0x436b4c(0x116),_0x436b4c(0x12c),_0x3e64c7(0x1ed),_0x436b4c(0x115),_0x436b4c(0x182),_0x3e64c7(0x243),_0x436b4c(0x168),_0x436b4c(0x170),_0x436b4c(0x12a),_0x436b4c(0x112),_0x3e64c7(0x240),_0x436b4c(0x15b),_0x436b4c(0x11d),_0x3e64c7(0x270),_0x436b4c(0x114),_0x436b4c(0x18f),_0x436b4c(0x157),_0x3e64c7(0x210),_0x436b4c(0x197),_0x436b4c(0x13b),_0x436b4c(0x152),_0x436b4c(0x16a),_0x436b4c(0x194),_0x436b4c(0x19d),_0x3e64c7(0x22c),_0x3e64c7(0x263),_0x3e64c7(0x25f),_0x3e64c7(0x232),_0x436b4c(0x177),_0x436b4c(0x140),_0x436b4c(0x16c),_0x436b4c(0x19b),_0x436b4c(0x117),_0x436b4c(0x171),_0x436b4c(0x125),_0x436b4c(0x136),_0x3e64c7(0x216),_0x436b4c(0x1a0),_0x436b4c(0x153),_0x436b4c(0x134),_0x3e64c7(0x23f),_0x436b4c(0x16f),_0x436b4c(0x113),_0x436b4c(0x143),_0x436b4c(0x183),_0x3e64c7(0x268),_0x3e64c7(0x20e),_0x436b4c(0x174),_0x436b4c(0x13a),_0x436b4c(0x132),_0x436b4c(0x195),_0x436b4c(0x156),_0x436b4c(0x193),_0x436b4c(0x198),_0x436b4c(0x12f),_0x436b4c(0x188),_0x436b4c(0x167)];return a0_0x3680=function(){return _0x2c5207;},a0_0x3680();}function a0_0x125d(_0x4f77b7,_0x38ef19){var _0x390d47=a0_0x21c6();return a0_0x125d=function(_0x502545,_0x264b30){_0x502545=_0x502545-0x128;var _0x127ca1=_0x390d47[_0x502545];return _0x127ca1;},a0_0x125d(_0x4f77b7,_0x38ef19);}function a0_0x4fe0(){var _0x576436=a0_0x94dd,_0x17edd1=a0_0x29c0,_0x1681cb=a0_0x549d,_0x1c5fcd=a0_0xf321,_0x1debb6=a0_0x5056,_0xe6744a=[_0x1debb6(0x16b),_0x1debb6(0x126),_0x1debb6(0x141),_0x1debb6(0xca),_0x1debb6(0x131),_0x1debb6(0x116),_0x1debb6(0xcb),_0x1debb6(0xc4),_0x1debb6(0xde),_0x1681cb(0x11f),_0x1debb6(0xfd),_0x1debb6(0xcd),_0x1debb6(0xba),_0x1debb6(0x10a),_0x1debb6(0x159),_0x1c5fcd(0x265),_0x1debb6(0x124),_0x1debb6(0x143),_0x1debb6(0xfc),_0x1debb6(0xe6),_0x1debb6(0xdb),_0x1c5fcd(0x219),_0x1debb6(0xd7),_0x1debb6(0x162),_0x1debb6(0x10b),_0x1debb6(0x15d),_0x1debb6(0x125),_0x1c5fcd(0x1ec),_0x1debb6(0x138),_0x1debb6(0x144),_0x1681cb(0xd8),_0x1c5fcd(0x1f9),_0x1debb6(0xdc),_0x1c5fcd(0x248),_0x1debb6(0x11d),_0x1debb6(0x102),_0x1c5fcd(0x288),_0x1debb6(0x156),_0x1debb6(0x12a),_0x1debb6(0xc9),_0x1debb6(0x146),_0x1debb6(0x12b),_0x1c5fcd(0x1f3),_0x1debb6(0xbf),_0x1debb6(0x16e),_0x1debb6(0x113),_0x1debb6(0xc0),_0x1debb6(0x166),_0x1debb6(0x14e),_0x1debb6(0xef),_0x1debb6(0xff),_0x1debb6(0xea),_0x1c5fcd(0x268),_0x1debb6(0x15e),_0x1debb6(0xcf),_0x1c5fcd(0x242),_0x1c5fcd(0x21b),_0x1debb6(0xf3),_0x1debb6(0x150),_0x1c5fcd(0x282),_0x1debb6(0x12c),_0x1debb6(0xd1),_0x1debb6(0x134),_0x1debb6(0x145),_0x1debb6(0xbb),_0x1debb6(0x10e),_0x1debb6(0xf9),_0x1debb6(0xee),_0x1debb6(0xd5),_0x1debb6(0x14b),_0x1debb6(0x151),_0x576436(0x144),_0x1c5fcd(0x1e3),_0x1c5fcd(0x1f2),_0x1c5fcd(0x1fd),_0x1debb6(0x11c),_0x1debb6(0x103),_0x1debb6(0x123),_0x1debb6(0x168),_0x1c5fcd(0x208),_0x1c5fcd(0x274),_0x1c5fcd(0x1e6),'1307727wVLfMR',_0x1debb6(0xbd),_0x1debb6(0x15b),_0x1debb6(0xf8),_0x1debb6(0x158),_0x1debb6(0xda),_0x1debb6(0xf4),_0x17edd1(0x1e5),_0x1debb6(0x13f),_0x1c5fcd(0x1fa),_0x1debb6(0xc6),_0x1debb6(0xec),_0x1681cb(0xc3),_0x1debb6(0x140),_0x1debb6(0x152),_0x1debb6(0xf7),_0x1debb6(0x142),_0x1debb6(0x11a),_0x1debb6(0x149),_0x1debb6(0xd9),_0x1debb6(0x13d),_0x1c5fcd(0x23f),_0x1debb6(0x11f),_0x1debb6(0xf6),_0x1681cb(0x95),_0x1debb6(0x121),_0x1c5fcd(0x24e),_0x1debb6(0x114),_0x1c5fcd(0x252),_0x1debb6(0x13a),_0x1debb6(0x118),_0x1debb6(0xd2),_0x1debb6(0x137),_0x1debb6(0xe9),_0x1c5fcd(0x27f),_0x1debb6(0xfb),_0x1debb6(0x160),_0x1debb6(0xc1),_0x1debb6(0x107),_0x1debb6(0xd3),_0x1debb6(0x163),_0x1debb6(0x105),_0x1debb6(0xbc),_0x1debb6(0x104),_0x1debb6(0xc2),_0x1c5fcd(0x276),_0x1debb6(0x13e),_0x1debb6(0x111),_0x1debb6(0xbe),_0x1debb6(0xc3),_0x1debb6(0x165),_0x1debb6(0x16c),_0x1debb6(0x169),_0x1debb6(0xe8),_0x1debb6(0x130),_0x1debb6(0xe5),_0x576436(0x199),_0x1debb6(0x115),_0x1debb6(0xeb),_0x1debb6(0x154),_0x1debb6(0xf0),_0x1debb6(0x10c),_0x1debb6(0xdf),_0x1debb6(0x108),_0x1debb6(0xd6),_0x1debb6(0xfe),_0x1debb6(0x14d),_0x1debb6(0xd4),_0x1681cb(0x8a),_0x1debb6(0x10f),_0x1debb6(0x15a),_0x1c5fcd(0x23c),_0x1debb6(0xf2),_0x1debb6(0xc8),_0x1debb6(0x133),_0x1c5fcd(0x22e),_0x1debb6(0xf1),_0x1debb6(0xcc),_0x1debb6(0x12d),_0x1debb6(0x110),_0x1debb6(0x14a),_0x1debb6(0x136),_0x1c5fcd(0x25e),_0x1c5fcd(0x291),_0x1debb6(0x164),_0x1c5fcd(0x1f0),_0x1debb6(0x16d),_0x1debb6(0x147),_0x1debb6(0x153)];return a0_0x4fe0=function(){return _0xe6744a;},a0_0x4fe0();}function a0_0x1aa7(){var _0x441a61=['5vkLJNn','953442Qqnkcy','2126673uuGuKg','30858FjNMhM','6XJhesv','2529jXSIwy','3uJioEa','5440352tkYsde','25oDUfGG','72942XtkiTA','185333vLktpT','551622RetpKS','49038ZhmoXc','13ICmpXa','1826JuutUP','69170RgPgHF','200220WClAJO','1470vyfKfn','424pbpxYa','55vQJRGv','57VFgjTG','trigger','154MjNnqi','1194277Rxbrez','6977179tHyLCT','requestFullscreen','258676qcXmAh','7669623MZjvax','1473201pZCkpF','126FxaYlD','141756ovJjQt','3264610rVBPYx','12140410dbGLdV','268902RhYDTs','552246gYTfjh','3436350ZFgQGX','mozFullScreenElement','7284965BfcZwT','279515YmblTk','3631464WpzRsM','647268MeKxRH','38048atsJOl','3083944ZbtHIe','20BbeHaB','14teYDdJ','6018669ESgIyw','1702356HKUvub','30fwomxS','length','147bwtvYx','6723530URtrss','112548tLWked','28544022fjSHha','286426HsjeTL','1727112hzTRjb','3102042idlpCb','9YfIpvQ','4297FUpoBh','shift','7190QGloDz','49XfycrK','2334980PZVSNx','3sxuOIG','14576ixssku','4155020lvhvOE','479586bTOuAm','336SRxYwF','1tjFYFB','274GJYwTA','899322ARRVDI','136eIayGa','1644555qmImAx','8YRwOTb','3633730lSlqet','5WbGklj','20bPQlwx','5rKktsp','72068LdZxXk','259brzSRR','11OmGvcn','2025970GCDszY','729733vIjqat','623Ufjmzj','9icpQWY','32FrlgTP','10SiRxCT','2191ftTxmu','2353MejxMz','exitFullscreen','9087208vGbaee','17091uyyQjU','3UbbEnL','2472TIpGYI','85421FzQnAn','11pJEeXE','push','613610bNVKXN','7XLHNVt','6583848krdOcN','2189370GPXBun','48975020FsCjtp','2504322WAufOn','2745BnivNn','402wIlCEb','26406doMvQd','fullscreenchange','1346715ohgrPD','56312aRYcRR','4yLHylu','440884tndyhS','6308887GhiopE','2196873hVTzJW','6436008woaADa','15655bxgcVI','837790VDVsst','3TYOgXh','828QkBAeT','249096ajyLxR','webkitExitFullscreen','webkitCancelFullScreen','9FqtGLW','mozfullscreenerror','623578PnTyTx','1107894sAbeCG','15QzcyWv','823356MFHurC','292830COCGGj','2787158REaQYU','40UIexHW','mozFullScreen','webkitRequestFullscreen','534594CSGYKM','fullScreen','60qZEpMS','24984888HmThFo','23544FBHWLB','2338389dliDad','8331fOWqSM','fullscreenElement','4116266IaWhJd','4TxvNRi','213021CyHxhD','5225365rhrMAn','webkitfullscreenchange','9251648MmUwRx','88oDjwBc','611919hnuMCi','bind','5436090NPAVgv','3086699IvyOOS','24FCIgcw','msRequestFullscreen','800634AWtPue','63umFFGZ','18293jDJKjB','call','53224ksQfqg','137476lBuaQp','453317DwCePf','612303xJOZlc','659636CHQMvS','76492HmXrbW','677444gyenfd','5132300ncalgm','7032rlCDNA','8954343lqahxm','6202488BjoSXO','9ecfVBd','132200jMyUFX','18rZCHet','17634940ApyGEm','1590900JsGLBq','10715430vuPAnS','15499460isJAKf','5056596rgiVkA','webkitFullscreenElement','3306464DdFUta','10hnUdQg','2176lpCAEe','webkitRequestFullScreen','1340905wKgqmP','10412919PeRzqg','23624kCqJzf','10701985GsjXZj','6606cgYgjo','2334KRbzCY','2469276XqchoV','102960KCobBu','webkitCurrentFullScreenElement','webkitIsFullScreen','4443515Aqilfo','1653495EgIPyl','webkitfullscreenerror','MSFullscreenError','398345hPOqkR','msExitFullscreen','68BYSswp','586286Ykyosb','464xKYfxK','documentElement','57lnSDof','570840vlLGJm','3654702aktNqf','15966ZCnpNK','2dKIvAI','16XcMJzl','118527ItcvZR','7511300zRhkOU','11lPFHCS','10245FgeKVs','49VSwlZZ','22sbjPNZ','2333862Pgbiyu','1WpEnPK','21023piMUeQ','374396cihvmb','394070VTkWSb','8200560cwRiQM','4107416yMyoIn','Event','32zfgQwF','22geumNG'];a0_0x1aa7=function(){return _0x441a61;};return a0_0x1aa7();}function a0_0x20b6(){var _0x573be8=a0_0x2d81,_0x4c0a8d=a0_0x310b,_0x25f6ff=a0_0x511a,_0x42a3c0=a0_0xe7b9,_0x218f52=[_0x42a3c0(0x15b),_0x42a3c0(0x155),_0x42a3c0(0x147),_0x42a3c0(0x15c),_0x25f6ff(0x1f4),_0x42a3c0(0x161),_0x42a3c0(0x191),_0x42a3c0(0x186),_0x42a3c0(0x150),_0x42a3c0(0x17f),_0x42a3c0(0x16d),_0x42a3c0(0x17e),_0x25f6ff(0x1d0),_0x25f6ff(0x1fb),_0x42a3c0(0x145),_0x4c0a8d(0xa3),_0x42a3c0(0x18a),_0x42a3c0(0x163),_0x25f6ff(0x1ec),_0x42a3c0(0x18b),_0x42a3c0(0x174),_0x42a3c0(0x178),_0x42a3c0(0x17d),_0x42a3c0(0x167),_0x42a3c0(0x190),_0x42a3c0(0x181),_0x42a3c0(0x183),_0x4c0a8d(0xb1),_0x42a3c0(0x18e),_0x42a3c0(0x156),_0x42a3c0(0x187),_0x42a3c0(0x15a),_0x42a3c0(0x177),_0x42a3c0(0x172),_0x573be8(0x1af),_0x42a3c0(0x18c),_0x42a3c0(0x171),_0x25f6ff(0x1b7),_0x42a3c0(0x188),_0x4c0a8d(0xdb),_0x42a3c0(0x175),_0x4c0a8d(0xcf),_0x42a3c0(0x157),_0x42a3c0(0x173),_0x42a3c0(0x168),_0x42a3c0(0x17b),_0x42a3c0(0x160),_0x25f6ff(0x1c2),_0x42a3c0(0x152),_0x42a3c0(0x185),_0x42a3c0(0x192),_0x42a3c0(0x16f),_0x42a3c0(0x165),_0x42a3c0(0x153),_0x42a3c0(0x16b),_0x42a3c0(0x148),_0x42a3c0(0x169),_0x42a3c0(0x16c),_0x42a3c0(0x146),_0x42a3c0(0x189),_0x42a3c0(0x16e),_0x42a3c0(0x179),_0x42a3c0(0x180),_0x42a3c0(0x16a),_0x25f6ff(0x1e1),_0x25f6ff(0x1ef),_0x42a3c0(0x154),_0x42a3c0(0x149),_0x42a3c0(0x14f)];return a0_0x20b6=function(){return _0x218f52;},a0_0x20b6();}function a0_0x4e5b(){var _0x58d0fe=a0_0x10d9,_0x420e52=a0_0x2a1e,_0x23e017=a0_0x2f6b,_0x30fa8d=[_0x23e017(0x1e6),_0x23e017(0x206),_0x420e52(0x140),_0x23e017(0x1fb),_0x23e017(0x1c0),_0x58d0fe(0x1cc),_0x420e52(0x15c),_0x23e017(0x203),_0x420e52(0x157),_0x23e017(0x19f),_0x23e017(0x208),_0x23e017(0x1e0),_0x23e017(0x1ba),_0x420e52(0x130),_0x23e017(0x1e4),_0x23e017(0x1b3),_0x23e017(0x1c1),_0x23e017(0x1d2),_0x58d0fe(0x1aa),_0x23e017(0x1f3),_0x23e017(0x1b7),_0x58d0fe(0x1b6),_0x420e52(0x12a),_0x23e017(0x1be),_0x23e017(0x1cd),_0x23e017(0x1ff),_0x58d0fe(0x154),_0x23e017(0x1b9),_0x420e52(0xff),_0x23e017(0x200),_0x23e017(0x1af),_0x23e017(0x1b1),_0x23e017(0x20d),_0x23e017(0x1de),_0x23e017(0x1c9),_0x23e017(0x1c3),_0x23e017(0x1a8),_0x23e017(0x1e5),_0x420e52(0x14c),_0x23e017(0x1f1),_0x420e52(0xf4),_0x23e017(0x1a3),_0x23e017(0x1b5),_0x23e017(0x1bc),_0x420e52(0x141),_0x420e52(0xeb),_0x23e017(0x1d7),_0x23e017(0x1fa),_0x23e017(0x204),_0x58d0fe(0x1bb),_0x23e017(0x210),_0x23e017(0x1aa),_0x23e017(0x1f2),_0x23e017(0x198),_0x58d0fe(0x181),_0x23e017(0x1fd),_0x23e017(0x1f8),_0x23e017(0x1f5),_0x420e52(0x112),_0x23e017(0x1d1),_0x58d0fe(0x178),_0x23e017(0x1f7),_0x23e017(0x1c8),_0x23e017(0x20e),_0x23e017(0x1a9),_0x23e017(0x1df),_0x23e017(0x195),_0x58d0fe(0x163),_0x58d0fe(0x1d6),_0x23e017(0x1e7),_0x23e017(0x1c5),_0x23e017(0x1d0),_0x23e017(0x1ae),_0x23e017(0x1f6),_0x23e017(0x1ac),_0x23e017(0x19a),_0x420e52(0x14f),_0x23e017(0x1ca),_0x23e017(0x1b0),_0x23e017(0x201),_0x23e017(0x1c7),_0x23e017(0x20a),_0x23e017(0x197),_0x23e017(0x1a7),_0x23e017(0x1a5),_0x420e52(0x152),_0x23e017(0x1e8),_0x23e017(0x1dd),_0x23e017(0x1cb),_0x420e52(0xfc),_0x23e017(0x1d8),_0x23e017(0x202),_0x23e017(0x20c),_0x23e017(0x1f4),_0x23e017(0x1d4),_0x23e017(0x1ed),_0x23e017(0x20f),_0x23e017(0x1ee),_0x23e017(0x1e9),_0x23e017(0x1fe),_0x23e017(0x1cc),_0x23e017(0x1a0),_0x23e017(0x1a1),_0x23e017(0x194),_0x23e017(0x1dc),_0x23e017(0x1e2),_0x23e017(0x1bf),_0x23e017(0x1d3),_0x23e017(0x19c),_0x23e017(0x1fc),_0x23e017(0x1da),_0x420e52(0x162),_0x23e017(0x1ec)];return a0_0x4e5b=function(){return _0x30fa8d;},a0_0x4e5b();}function a0_0x407e(){var _0x5e6100=a0_0x29c0,_0x1b728e=a0_0x549d,_0x41ddc9=a0_0xf321,_0x2104f9=a0_0x5056,_0x1a4b67=a0_0x55ce,_0x53b291=[_0x1a4b67(0xa7),_0x1a4b67(0x11c),_0x2104f9(0xc7),_0x2104f9(0x106),_0x1a4b67(0x119),_0x1a4b67(0xe3),_0x1a4b67(0x130),_0x1a4b67(0x105),_0x1a4b67(0xc4),_0x2104f9(0x112),_0x1a4b67(0xf4),_0x1a4b67(0xbd),_0x1a4b67(0x125),_0x1a4b67(0xbb),_0x1a4b67(0xfa),_0x1a4b67(0xb1),_0x1a4b67(0xcf),_0x2104f9(0x14c),_0x1a4b67(0x135),_0x1a4b67(0xe8),_0x1a4b67(0xd9),_0x1a4b67(0x145),_0x2104f9(0x16a),_0x1a4b67(0xeb),_0x41ddc9(0x26e),_0x2104f9(0x127),_0x1a4b67(0x112),_0x1a4b67(0xe9),_0x2104f9(0xe0),_0x1a4b67(0xf3),_0x1a4b67(0xd6),_0x1a4b67(0xcb),_0x2104f9(0x11e),_0x1a4b67(0x139),_0x1a4b67(0xef),_0x2104f9(0xce),_0x41ddc9(0x284),_0x1a4b67(0xae),_0x41ddc9(0x1ed),_0x1a4b67(0x132),_0x1a4b67(0x123),_0x41ddc9(0x1da),_0x1a4b67(0xda),_0x1a4b67(0xbe),_0x1a4b67(0xf0),_0x1a4b67(0xac),_0x1a4b67(0xea),_0x1a4b67(0x126),_0x1a4b67(0xe5),_0x2104f9(0xc5),_0x1b728e(0x119),_0x2104f9(0x128),_0x1a4b67(0xb7),_0x2104f9(0x11b),_0x41ddc9(0x206),_0x1a4b67(0x12e),_0x1a4b67(0x144),_0x1a4b67(0x122),_0x1a4b67(0x101),_0x2104f9(0xfa),_0x1a4b67(0x10d),_0x1a4b67(0xd7),_0x1a4b67(0xd0),_0x1a4b67(0xa0),_0x1a4b67(0xab),_0x1a4b67(0x10a),_0x1a4b67(0xe4),_0x1a4b67(0xc5),_0x1a4b67(0xa9),_0x1a4b67(0xad),_0x1a4b67(0xba),_0x1a4b67(0x12d),_0x1b728e(0x11a),_0x1a4b67(0x11d),_0x1a4b67(0xb3),_0x1a4b67(0x11e),_0x1a4b67(0xa1),_0x1a4b67(0xdb),_0x1a4b67(0x121),_0x2104f9(0x13b),_0x1a4b67(0xfc),_0x1a4b67(0xa5),_0x1a4b67(0x9e),_0x1a4b67(0x13b),_0x1a4b67(0xc0),_0x1a4b67(0xf7),_0x2104f9(0x157),_0x2104f9(0x139),_0x1a4b67(0x137),_0x1a4b67(0x133),_0x1a4b67(0x12a),_0x1a4b67(0xcd),_0x1a4b67(0x131),_0x1a4b67(0x136),_0x1a4b67(0xca),_0x1a4b67(0x124),_0x1a4b67(0x127),_0x1a4b67(0xb0),_0x1a4b67(0x13a),_0x1a4b67(0xbc),_0x2104f9(0x100),_0x2104f9(0x129),_0x1a4b67(0xa6),_0x2104f9(0x120),_0x2104f9(0x109),_0x41ddc9(0x23d),_0x1a4b67(0xa2),_0x1a4b67(0x114),_0x1a4b67(0x111),_0x1a4b67(0xd5),_0x1a4b67(0xe1),_0x1a4b67(0xb4),_0x1a4b67(0x118),_0x41ddc9(0x259),_0x1a4b67(0x10e),_0x1a4b67(0x116),_0x1a4b67(0xb2),_0x1a4b67(0xaa),_0x1a4b67(0xdc),_0x1a4b67(0xa4),_0x1a4b67(0x13d),_0x41ddc9(0x216),_0x41ddc9(0x227),_0x2104f9(0x122),_0x1a4b67(0xf8),_0x1a4b67(0x9c),_0x1a4b67(0xc3),_0x1a4b67(0xc2),_0x2104f9(0x132),_0x1a4b67(0xbf),_0x2104f9(0x161),_0x1a4b67(0xed),_0x1a4b67(0xcc),_0x1a4b67(0xc1),_0x1a4b67(0xc9),_0x1a4b67(0xdf),_0x1a4b67(0x9f),_0x1a4b67(0x146),_0x1a4b67(0x113),_0x2104f9(0x13c),_0x1a4b67(0x11a),_0x41ddc9(0x1d9),_0x1a4b67(0xb8),_0x1a4b67(0x138),_0x1a4b67(0xb6),_0x1a4b67(0xc7),_0x41ddc9(0x25b),_0x5e6100(0x21f),_0x1a4b67(0xf1),_0x1a4b67(0xe6),_0x41ddc9(0x22b),_0x41ddc9(0x277),_0x1a4b67(0x104),_0x2104f9(0x101),_0x1a4b67(0x13e),_0x1a4b67(0x12c),_0x1a4b67(0xf6),_0x1a4b67(0xe0),_0x1a4b67(0xa3),_0x5e6100(0x1c2),_0x1a4b67(0x141),_0x1a4b67(0x108),_0x1a4b67(0x103),_0x2104f9(0xe1),_0x1a4b67(0xdd)];return a0_0x407e=function(){return _0x53b291;},a0_0x407e();}function a0_0x248b(_0x2ddec5,_0x2b3fca){var _0x910965=a0_0x407e();return a0_0x248b=function(_0x36a1e7,_0x52e449){_0x36a1e7=_0x36a1e7-0xdd;var _0x1d3411=_0x910965[_0x36a1e7];return _0x1d3411;},a0_0x248b(_0x2ddec5,_0x2b3fca);}function a0_0x577e(_0x40150a,_0x660ac6){var _0xcd939c=a0_0x2930();return a0_0x577e=function(_0x5845b3,_0x5c7d25){_0x5845b3=_0x5845b3-0x1e5;var _0x26019c=_0xcd939c[_0x5845b3];return _0x26019c;},a0_0x577e(_0x40150a,_0x660ac6);}function a0_0x5249(){var _0x3ec854=a0_0x310b,_0x8710f5=a0_0x511a,_0x776f24=a0_0xe7b9,_0x4b6540=a0_0x3cb5,_0x291b41=[_0x776f24(0x166),_0x776f24(0x193),_0x4b6540(0x1ad),_0x4b6540(0x197),_0x4b6540(0x19a),_0x3ec854(0xd2),_0x776f24(0x176),_0x4b6540(0x1cc),_0x4b6540(0x1c8),_0x4b6540(0x1ab),_0x4b6540(0x18d),_0x4b6540(0x1bd),_0x4b6540(0x191),_0x4b6540(0x1bf),_0x4b6540(0x189),_0x8710f5(0x207),_0x776f24(0x14c),_0x4b6540(0x19e),_0x4b6540(0x193),_0x776f24(0x159),_0x4b6540(0x1a2),_0x4b6540(0x1b7),_0x4b6540(0x1c1),_0x4b6540(0x1be),_0x4b6540(0x1c2),_0x8710f5(0x1fe),_0x4b6540(0x18f),_0x4b6540(0x1b5),_0x4b6540(0x18c),_0x4b6540(0x1a7),_0x4b6540(0x1ba),_0x4b6540(0x1cb),_0x4b6540(0x199),_0x4b6540(0x1c6),_0x776f24(0x15e),_0x8710f5(0x1c9),_0x776f24(0x17a),_0x4b6540(0x1ac),_0x776f24(0x18f),_0x4b6540(0x1af),_0x4b6540(0x1c5),_0x4b6540(0x1a0),_0x4b6540(0x1b4),_0x4b6540(0x1c9),_0x4b6540(0x1aa),_0x776f24(0x170),_0x4b6540(0x1c3),_0x4b6540(0x1c7),_0x4b6540(0x1b0),_0x4b6540(0x1b6),_0x776f24(0x17c),_0x4b6540(0x1bc),_0x4b6540(0x18a),_0x776f24(0x15d),_0x4b6540(0x1bb),_0x3ec854(0xc2),_0x4b6540(0x196),_0x4b6540(0x18b),_0x4b6540(0x1c4),_0x4b6540(0x1a8),_0x4b6540(0x1b3),_0x4b6540(0x1c0),_0x4b6540(0x190),_0x776f24(0x14b)];return a0_0x5249=function(){return _0x291b41;},a0_0x5249();}function a0_0x5a2f(){var _0x11f5b6=a0_0x94dd,_0x4fefe0=a0_0x29c0,_0x3fd498=a0_0x549d,_0x3577fb=[_0x3fd498(0x76),_0x4fefe0(0x24e),_0x3fd498(0xf9),_0x3fd498(0xa4),_0x4fefe0(0x21d),_0x3fd498(0xc2),_0x3fd498(0xff),_0x4fefe0(0x1a0),_0x3fd498(0xf1),_0x4fefe0(0x241),_0x3fd498(0x10a),_0x4fefe0(0x1d0),_0x3fd498(0xef),_0x3fd498(0x101),_0x3fd498(0x7a),_0x4fefe0(0x1ac),_0x4fefe0(0x1e1),_0x3fd498(0xb8),_0x3fd498(0xa5),_0x3fd498(0xd2),_0x3fd498(0xfb),_0x4fefe0(0x1a4),_0x3fd498(0xd6),_0x3fd498(0xfd),_0x3fd498(0x116),_0x3fd498(0xf3),_0x11f5b6(0x107),_0x3fd498(0x92),_0x3fd498(0xa3),_0x3fd498(0xb5),_0x3fd498(0x78),'2LrUxFp',_0x3fd498(0x90),_0x3fd498(0x9a),_0x3fd498(0xce),_0x3fd498(0x11c),_0x3fd498(0xde),_0x3fd498(0x8d),_0x3fd498(0x77),_0x3fd498(0x74),_0x3fd498(0x125),_0x3fd498(0xe3),_0x3fd498(0x7e),_0x3fd498(0x104),_0x4fefe0(0x1f1),_0x3fd498(0x11e),_0x3fd498(0xbe),_0x4fefe0(0x1c6),_0x3fd498(0xec),_0x4fefe0(0x1a8),_0x3fd498(0xea),_0x4fefe0(0x20b),_0x4fefe0(0x1c7),_0x3fd498(0x70),_0x3fd498(0xe4),_0x3fd498(0x110),'fullscreenerror',_0x3fd498(0x91),_0x3fd498(0x7b),_0x3fd498(0x72),_0x3fd498(0xae),_0x3fd498(0xe1),_0x11f5b6(0x190),_0x4fefe0(0x1ef),_0x3fd498(0x124),_0x3fd498(0xca),_0x3fd498(0x114),_0x4fefe0(0x239),_0x3fd498(0x117),_0x3fd498(0xf6),_0x3fd498(0x121),_0x4fefe0(0x20c),_0x3fd498(0xc7),_0x4fefe0(0x1f9),_0x3fd498(0x113),_0x3fd498(0xd5),_0x3fd498(0xab),_0x3fd498(0x10c),_0x3fd498(0x82),_0x4fefe0(0x261),_0x3fd498(0xaf),_0x3fd498(0xe7),_0x3fd498(0xee),_0x3fd498(0x9c),_0x3fd498(0xa6),_0x3fd498(0xc9),_0x3fd498(0xdb),_0x3fd498(0x8f),_0x3fd498(0x11b),_0x3fd498(0x99),_0x11f5b6(0xf3),_0x3fd498(0x107),_0x3fd498(0xbf),_0x4fefe0(0x22b),_0x11f5b6(0xca),_0x3fd498(0xdf),_0x3fd498(0x83),_0x3fd498(0x115),_0x4fefe0(0x1b4),_0x4fefe0(0x206),_0x4fefe0(0x20a),_0x4fefe0(0x1c8),_0x3fd498(0xd4),_0x3fd498(0xa2),_0x3fd498(0x88),_0x4fefe0(0x1a2),_0x3fd498(0xcb),_0x3fd498(0xcd),_0x4fefe0(0x222),_0x4fefe0(0x1ee),_0x3fd498(0x9b),_0x4fefe0(0x1ca),_0x3fd498(0xbc),_0x3fd498(0x96),_0x3fd498(0x71),_0x3fd498(0x75),_0x3fd498(0xa1),_0x4fefe0(0x217),_0x3fd498(0xe9),_0x3fd498(0x122),_0x3fd498(0x87),_0x4fefe0(0x1ae),_0x3fd498(0xb3),_0x4fefe0(0x1df),_0x3fd498(0xa9),_0x3fd498(0xe6),_0x3fd498(0xc0),_0x4fefe0(0x1d1),_0x4fefe0(0x247),_0x3fd498(0x126),_0x3fd498(0xb4),_0x3fd498(0xc4),_0x3fd498(0xc5),_0x11f5b6(0x188),_0x3fd498(0xf2),_0x3fd498(0xa7),_0x3fd498(0x80),_0x3fd498(0x118),_0x3fd498(0x7c),_0x11f5b6(0xdb),_0x4fefe0(0x1a5),_0x4fefe0(0x1fc),_0x3fd498(0x93),_0x3fd498(0x8c),_0x3fd498(0x10e),_0x3fd498(0x86),_0x3fd498(0x100),_0x3fd498(0xba),_0x4fefe0(0x246),_0x3fd498(0x84),_0x3fd498(0x120),_0x3fd498(0x7f),_0x3fd498(0xf4),_0x11f5b6(0xeb),_0x3fd498(0x98),_0x11f5b6(0x152),_0x3fd498(0xd1),_0x3fd498(0x102),_0x3fd498(0x103),_0x3fd498(0xfc),_0x4fefe0(0x1c9),_0x3fd498(0xb9),_0x4fefe0(0x1bb),_0x3fd498(0xe5),_0x3fd498(0xb1),_0x4fefe0(0x1d7),_0x4fefe0(0x1d5),_0x4fefe0(0x1de),_0x4fefe0(0x1c0),_0x3fd498(0x94),_0x3fd498(0xb2),_0x3fd498(0xe0),_0x3fd498(0xaa),_0x4fefe0(0x1f6),'2547HctUBq',_0x3fd498(0x81),_0x3fd498(0xfa),_0x3fd498(0x112),_0x3fd498(0xe2),_0x3fd498(0x10d),'1792120sGepKI',_0x3fd498(0x109),_0x3fd498(0xa0),_0x4fefe0(0x1f8),_0x3fd498(0x73),_0x3fd498(0x8b),_0x11f5b6(0x1a3),_0x4fefe0(0x23f),_0x4fefe0(0x23b),_0x4fefe0(0x22f)];return a0_0x5a2f=function(){return _0x3577fb;},a0_0x5a2f();}function a0_0x3cb5(_0x9b03f3,_0x28380e){var _0x2637a7=a0_0x20b6();return a0_0x3cb5=function(_0x3478d3,_0x444116){_0x3478d3=_0x3478d3-0x188;var _0x38ed7c=_0x2637a7[_0x3478d3];return _0x38ed7c;},a0_0x3cb5(_0x9b03f3,_0x28380e);}function a0_0x94dd(_0x47d8bd,_0x21cc54){var _0x1aa771=a0_0x1aa7();return a0_0x94dd=function(_0x94ddcd,_0x376a49){_0x94ddcd=_0x94ddcd-0xca;var _0x411186=_0x1aa771[_0x94ddcd];return _0x411186;},a0_0x94dd(_0x47d8bd,_0x21cc54);}function a0_0x5056(_0x2922e5,_0xe63fe3){var _0x563df7=a0_0x15ed();return a0_0x5056=function(_0x29389b,_0x38aec2){_0x29389b=_0x29389b-0xba;var _0x51df58=_0x563df7[_0x29389b];return _0x51df58;},a0_0x5056(_0x2922e5,_0xe63fe3);}function a0_0x5db0(){var _0x427cf8=a0_0xf321,_0x39e1ba=a0_0x5056,_0x15c1dc=a0_0x55ce,_0x5a8051=a0_0x248b,_0x37ee78=a0_0x577e,_0x165131=[_0x37ee78(0x211),_0x5a8051(0x144),_0x5a8051(0xe1),_0x37ee78(0x234),_0x37ee78(0x23c),_0x37ee78(0x1ea),_0x37ee78(0x22a),_0x37ee78(0x23d),_0x37ee78(0x1fa),_0x37ee78(0x223),_0x37ee78(0x204),_0x37ee78(0x207),_0x5a8051(0xf2),_0x39e1ba(0xd0),_0x37ee78(0x26f),_0x37ee78(0x21d),_0x37ee78(0x1f0),_0x15c1dc(0x13f),_0x5a8051(0x139),_0x15c1dc(0x12b),_0x37ee78(0x233),_0x37ee78(0x205),_0x37ee78(0x230),_0x37ee78(0x20f),_0x37ee78(0x239),_0x37ee78(0x247),_0x37ee78(0x21c),_0x37ee78(0x248),_0x37ee78(0x1ef),_0x15c1dc(0xe7),_0x5a8051(0x132),_0x37ee78(0x26a),_0x37ee78(0x271),_0x5a8051(0x129),_0x37ee78(0x208),_0x37ee78(0x1f2),_0x37ee78(0x202),_0x37ee78(0x235),_0x37ee78(0x246),_0x37ee78(0x25c),_0x5a8051(0x137),_0x5a8051(0x155),_0x5a8051(0x17b),_0x5a8051(0xdf),_0x37ee78(0x24c),_0x37ee78(0x206),_0x5a8051(0x133),_0x37ee78(0x228),_0x5a8051(0x157),_0x37ee78(0x22b),_0x37ee78(0x21e),_0x5a8051(0x145),_0x5a8051(0x142),_0x37ee78(0x215),_0x5a8051(0x11b),_0x5a8051(0xfd),_0x37ee78(0x23b),_0x37ee78(0x252),_0x37ee78(0x241),_0x15c1dc(0xfd),_0x37ee78(0x1f5),_0x37ee78(0x236),_0x37ee78(0x1e8),_0x37ee78(0x1f9),_0x37ee78(0x213),_0x37ee78(0x1f8),_0x37ee78(0x26c),_0x39e1ba(0xe4),_0x5a8051(0x11f),_0x37ee78(0x265),_0x5a8051(0x100),_0x5a8051(0xfa),_0x37ee78(0x1fb),_0x5a8051(0x169),_0x37ee78(0x1fd),_0x37ee78(0x24a),_0x37ee78(0x214),_0x37ee78(0x23a),_0x5a8051(0x125),_0x37ee78(0x1fc),_0x37ee78(0x25b),_0x5a8051(0x107),_0x5a8051(0x16f),_0x37ee78(0x21a),_0x37ee78(0x24e),_0x5a8051(0xe5),_0x37ee78(0x219),_0x37ee78(0x217),_0x5a8051(0x124),_0x427cf8(0x283),_0x37ee78(0x1f3),_0x5a8051(0x12d),_0x37ee78(0x25a),_0x5a8051(0x112),_0x37ee78(0x257),_0x37ee78(0x226),_0x37ee78(0x237),_0x37ee78(0x1e6),_0x37ee78(0x269),_0x37ee78(0x26e),_0x5a8051(0xe0),_0x37ee78(0x24b),_0x37ee78(0x212),_0x5a8051(0xf6),_0x37ee78(0x1ee),_0x37ee78(0x22e),_0x37ee78(0x249),_0x15c1dc(0x143),_0x37ee78(0x1fe),_0x37ee78(0x238),_0x37ee78(0x231),_0x37ee78(0x1e7),_0x5a8051(0x15d),_0x37ee78(0x22f),_0x37ee78(0x260),_0x37ee78(0x245),_0x37ee78(0x272),_0x37ee78(0x20d),_0x37ee78(0x259),_0x5a8051(0x172),_0x37ee78(0x224),_0x37ee78(0x1f1),_0x37ee78(0x24d),_0x5a8051(0x168),_0x37ee78(0x225),_0x5a8051(0x12b),_0x37ee78(0x23e),_0x37ee78(0x26b),_0x37ee78(0x200),_0x5a8051(0xf9),_0x37ee78(0x22d),_0x5a8051(0x117),_0x37ee78(0x25e),_0x5a8051(0xe7),_0x5a8051(0x177),_0x5a8051(0x10c),_0x37ee78(0x20a),_0x37ee78(0x1eb),_0x37ee78(0x201),_0x37ee78(0x250),_0x5a8051(0x154),_0x5a8051(0x14d),_0x37ee78(0x1f4),_0x5a8051(0x173),_0x37ee78(0x258),_0x37ee78(0x21f),_0x37ee78(0x221),_0x5a8051(0xed)];return a0_0x5db0=function(){return _0x165131;},a0_0x5db0();}function a0_0xb2ce(_0x56e938,_0x29fb77){var _0x36db8c=a0_0x5249();return a0_0xb2ce=function(_0x20c510,_0x549bae){_0x20c510=_0x20c510-0xea;var _0x3e1e4e=_0x36db8c[_0x20c510];return _0x3e1e4e;},a0_0xb2ce(_0x56e938,_0x29fb77);}function a0_0xcec8(){var _0x496001=a0_0x94dd,_0x567d22=['6okrMoy','8619795RIQgFB',_0x496001(0xcd),_0x496001(0x18f),_0x496001(0x162),'1749128XkvVdf',_0x496001(0x198),_0x496001(0x163),_0x496001(0x10b),_0x496001(0x19b),_0x496001(0x1a7),_0x496001(0x18c),'136994hoLTJk',_0x496001(0xf2),_0x496001(0x131),'msFullscreenElement','11HCTanl','330jruQve',_0x496001(0x1a0),'35394fKqBKN','117OgYlpw',_0x496001(0xfc),_0x496001(0x148),_0x496001(0x195),_0x496001(0x142),_0x496001(0x140),_0x496001(0x125),_0x496001(0xe8),_0x496001(0x147),_0x496001(0x101),_0x496001(0x12e),_0x496001(0x102),_0x496001(0x115),_0x496001(0x110),_0x496001(0xec),_0x496001(0x176),_0x496001(0xdc),_0x496001(0x15f),_0x496001(0x13c),_0x496001(0x168),_0x496001(0xce),_0x496001(0x12a),_0x496001(0xe2),_0x496001(0xd5),_0x496001(0xcc),_0x496001(0x171),_0x496001(0xf1),_0x496001(0x177),_0x496001(0xda),_0x496001(0x19a),_0x496001(0x11a),_0x496001(0x130),_0x496001(0x1a1),_0x496001(0x15c),_0x496001(0xe0),_0x496001(0x186),_0x496001(0x181),'30656AffUYc','656750GhHiuA','10ZgFxYK',_0x496001(0x16b),_0x496001(0x128),_0x496001(0x17b),_0x496001(0xf5),_0x496001(0xe4),_0x496001(0xef),'93496PtwhJw','2546866qjGjpZ',_0x496001(0x157),_0x496001(0x16f),_0x496001(0x122),'1675wcQUAR',_0x496001(0xe3),_0x496001(0x103),_0x496001(0x179),'56590670jxxmrB',_0x496001(0x189),_0x496001(0x191),_0x496001(0x113),_0x496001(0x138),_0x496001(0x1a4),_0x496001(0x164),_0x496001(0x11f),_0x496001(0x19c),_0x496001(0x165),_0x496001(0x129),'186345wYVxLu','142VwQdNV',_0x496001(0x1a6),_0x496001(0x141),'3BYAixs',_0x496001(0x118),_0x496001(0x134),_0x496001(0x14c),'78XRYslC',_0x496001(0x137),_0x496001(0x135),_0x496001(0xfd),_0x496001(0x1a2),_0x496001(0xd7),'265250SdUxRJ',_0x496001(0xd0),'140idBlyE',_0x496001(0x10a),_0x496001(0x10d),'7CdxDPV',_0x496001(0x104),_0x496001(0x14d),_0x496001(0x13d),_0x496001(0x185),_0x496001(0xd9),_0x496001(0x15b),_0x496001(0x180),_0x496001(0x184),_0x496001(0x133),_0x496001(0x193),_0x496001(0x14f),'1344118DBuOvq',_0x496001(0xe7),_0x496001(0x100),_0x496001(0x14a),_0x496001(0x197),_0x496001(0x13e),'1126NnQRiw',_0x496001(0x12c),_0x496001(0x119),_0x496001(0x121),_0x496001(0xe9),_0x496001(0x112),_0x496001(0x149),'toggleFullScreen',_0x496001(0xdd),_0x496001(0x124),_0x496001(0x136),_0x496001(0x17d),_0x496001(0x151),_0x496001(0x116),_0x496001(0xe1),'7717992HqGrvY',_0x496001(0xea),_0x496001(0x161),'2085130Jyqvgc',_0x496001(0x18a),_0x496001(0xfb),_0x496001(0x12b),_0x496001(0x17e),_0x496001(0x169),_0x496001(0x114),_0x496001(0xcf),_0x496001(0x10e),_0x496001(0x14b),'1687692VqQNsk','16SbtaEk',_0x496001(0x139),_0x496001(0x16a),_0x496001(0x192),'312606TZZTrW',_0x496001(0x16d),_0x496001(0x182),_0x496001(0x18e),_0x496001(0x120),_0x496001(0xfa),_0x496001(0xd3),_0x496001(0xf0),_0x496001(0x175),_0x496001(0xf6),'209682JwYHjC','1375CmpEjQ',_0x496001(0x143),'MSFullscreenChange',_0x496001(0x117),'319344WkKXIN','403464wPuxIq','84lEtSxi',_0x496001(0x12f),_0x496001(0xcb),_0x496001(0x156),_0x496001(0xe6),'572845xISiMh',_0x496001(0x167),_0x496001(0x14e),_0x496001(0x11c),'451waAkrk','512968KAPOun','2193472ASrBdN',_0x496001(0x146),'4684470GlpBgu',_0x496001(0x123),_0x496001(0x11b),_0x496001(0x154),_0x496001(0xd2),_0x496001(0xfe),_0x496001(0xe5),'ownerDocument',_0x496001(0x145),_0x496001(0x12d),_0x496001(0x106),_0x496001(0xf9),_0x496001(0x160),'3913270eJIFzi',_0x496001(0x13a),_0x496001(0x183),_0x496001(0x187),_0x496001(0x166)];return a0_0xcec8=function(){return _0x567d22;},a0_0xcec8();}function a0_0x2e1f(){var _0x3b147d=a0_0x2f6b,_0x2df8f9=a0_0x4f2b,_0x3b1963=a0_0x2d81,_0x1b30d1=a0_0x310b,_0x5335ce=[_0x1b30d1(0xe3),_0x1b30d1(0xb4),_0x1b30d1(0xf7),_0x1b30d1(0xda),_0x1b30d1(0xac),_0x1b30d1(0xa7),_0x3b1963(0x1db),_0x1b30d1(0xf2),_0x1b30d1(0xb3),_0x1b30d1(0xe0),_0x1b30d1(0xb8),_0x1b30d1(0xe9),_0x2df8f9(0x192),_0x3b1963(0x1b7),_0x1b30d1(0xd5),_0x1b30d1(0xb5),_0x1b30d1(0xc9),_0x1b30d1(0xbc),_0x1b30d1(0xe7),_0x3b1963(0x1b1),_0x1b30d1(0xa3),_0x1b30d1(0xdd),_0x1b30d1(0xcd),_0x3b1963(0x1ac),_0x2df8f9(0x1b6),_0x1b30d1(0xd1),_0x1b30d1(0xae),_0x3b1963(0x1ee),_0x1b30d1(0xee),_0x1b30d1(0xcc),_0x3b1963(0x19a),_0x1b30d1(0xe6),_0x1b30d1(0xc7),_0x3b1963(0x1ef),_0x1b30d1(0xf5),_0x1b30d1(0xdf),_0x1b30d1(0xa6),_0x3b1963(0x192),_0x1b30d1(0xef),_0x1b30d1(0xaa),_0x1b30d1(0xd8),_0x1b30d1(0xb0),_0x1b30d1(0xe4),_0x1b30d1(0xf4),_0x3b1963(0x1a2),_0x1b30d1(0xa2),_0x1b30d1(0xc1),_0x1b30d1(0xf8),_0x1b30d1(0xa0),_0x1b30d1(0xed),_0x1b30d1(0xd4),_0x1b30d1(0xc4),_0x3b1963(0x1a1),_0x1b30d1(0xfc),_0x1b30d1(0xfa),_0x1b30d1(0xb2),_0x1b30d1(0xa5),_0x1b30d1(0xb7),_0x2df8f9(0x1ba),_0x1b30d1(0xeb),_0x3b1963(0x1cd),_0x3b1963(0x1d2),_0x1b30d1(0xf1),_0x1b30d1(0xba),_0x1b30d1(0xc8),_0x1b30d1(0xd6),_0x1b30d1(0xfb),_0x2df8f9(0x196),_0x1b30d1(0xa1),_0x1b30d1(0xbf),_0x1b30d1(0xbb),_0x1b30d1(0xce),_0x1b30d1(0xc6),_0x1b30d1(0xca),_0x1b30d1(0xaf),_0x1b30d1(0xd3),_0x1b30d1(0xa8),_0x1b30d1(0xd7),_0x1b30d1(0xea),_0x3b147d(0x19b),_0x1b30d1(0xe8)];return a0_0x2e1f=function(){return _0x5335ce;},a0_0x2e1f();}function a0_0x2a1e(_0x54f89a,_0x5dce9d){var _0x571333=a0_0x5a74();return a0_0x2a1e=function(_0x261175,_0x51f836){_0x261175=_0x261175-0xe8;var _0x40110c=_0x571333[_0x261175];return _0x40110c;},a0_0x2a1e(_0x54f89a,_0x5dce9d);}function a0_0x6220(_0x36c9a4,_0x52eda6){var _0x515b5f=a0_0x5154();return a0_0x6220=function(_0x264580,_0x2380b7){_0x264580=_0x264580-0x12a;var _0x14316f=_0x515b5f[_0x264580];return _0x14316f;},a0_0x6220(_0x36c9a4,_0x52eda6);}function a0_0x21c6(){var _0x4007eb=a0_0x511a,_0x515cfa=a0_0x3cb5,_0x157bf8=a0_0xb2ce,_0x11955e=a0_0x6220,_0x37bc61=[_0x11955e(0x142),_0x11955e(0x164),_0x11955e(0x134),_0x11955e(0x12f),_0x11955e(0x15d),_0x11955e(0x145),_0x4007eb(0x1e0),_0x157bf8(0x105),_0x11955e(0x136),_0x11955e(0x13e),_0x11955e(0x153),_0x11955e(0x157),_0x11955e(0x148),_0x11955e(0x13b),_0x11955e(0x158),_0x11955e(0x15a),_0x11955e(0x15e),_0x11955e(0x149),_0x11955e(0x152),_0x11955e(0x14c),_0x11955e(0x131),_0x11955e(0x12a),_0x11955e(0x14b),_0x11955e(0x133),_0x11955e(0x160),_0x11955e(0x15c),_0x11955e(0x144),_0x11955e(0x141),_0x11955e(0x135),_0x11955e(0x12b),_0x11955e(0x147),_0x157bf8(0x113),_0x157bf8(0x11c),_0x11955e(0x15b),_0x11955e(0x13f),_0x11955e(0x139),_0x11955e(0x155),_0x157bf8(0x127),_0x11955e(0x15f),_0x11955e(0x151),_0x11955e(0x154),_0x11955e(0x159),_0x11955e(0x12d),_0x11955e(0x14d),_0x11955e(0x13c),_0x515cfa(0x1a4),_0x11955e(0x138),_0x11955e(0x12c)];return a0_0x21c6=function(){return _0x37bc61;},a0_0x21c6();}function a0_0x5a74(){var _0x586054=a0_0x248b,_0x246b14=a0_0x577e,_0x29c0cc=a0_0x5a4f,_0x1b422d=a0_0x10d9,_0x534a91=[_0x1b422d(0x1c4),_0x246b14(0x242),_0x29c0cc(0x189),_0x1b422d(0x19c),_0x29c0cc(0x1a5),_0x1b422d(0x1cb),_0x1b422d(0x19a),_0x1b422d(0x155),_0x1b422d(0x190),_0x29c0cc(0x145),_0x1b422d(0x17e),_0x1b422d(0x173),_0x1b422d(0x1a6),_0x29c0cc(0x185),_0x1b422d(0x159),_0x1b422d(0x16d),_0x246b14(0x1e5),_0x1b422d(0x1c7),_0x1b422d(0x199),_0x1b422d(0x1c0),_0x1b422d(0x1d1),_0x1b422d(0x1a1),_0x1b422d(0x188),_0x1b422d(0x1c6),_0x29c0cc(0x17e),_0x1b422d(0x197),_0x29c0cc(0x187),_0x1b422d(0x165),_0x1b422d(0x16e),_0x1b422d(0x1be),_0x1b422d(0x182),_0x1b422d(0x1d3),_0x1b422d(0x15b),_0x1b422d(0x14c),_0x29c0cc(0x17b),_0x1b422d(0x17d),_0x1b422d(0x158),_0x29c0cc(0x142),_0x1b422d(0x157),_0x29c0cc(0x178),_0x1b422d(0x1bc),_0x29c0cc(0x19a),_0x1b422d(0x160),_0x1b422d(0x1b3),_0x1b422d(0x17b),_0x29c0cc(0x18c),_0x1b422d(0x176),_0x246b14(0x20b),_0x1b422d(0x16f),_0x1b422d(0x153),_0x1b422d(0x1b8),_0x1b422d(0x15f),_0x1b422d(0x187),_0x1b422d(0x1cd),_0x1b422d(0x14f),_0x1b422d(0x184),_0x1b422d(0x1b7),_0x1b422d(0x192),_0x1b422d(0x1c2),_0x29c0cc(0x13e),_0x246b14(0x209),_0x1b422d(0x1c9),_0x1b422d(0x162),_0x1b422d(0x179),_0x1b422d(0x1d5),_0x1b422d(0x152),_0x1b422d(0x195),_0x1b422d(0x161),_0x1b422d(0x166),_0x1b422d(0x15d),_0x1b422d(0x1d7),_0x1b422d(0x186),_0x1b422d(0x198),_0x29c0cc(0x126),_0x1b422d(0x191),_0x29c0cc(0x1a2),_0x1b422d(0x1d4),_0x1b422d(0x19e),_0x29c0cc(0x151),_0x586054(0x162),_0x1b422d(0x1d2),_0x1b422d(0x1a8),_0x29c0cc(0x124),_0x29c0cc(0x14a),_0x1b422d(0x1a4),_0x1b422d(0x196),_0x246b14(0x229),_0x29c0cc(0x19c),_0x1b422d(0x189),_0x1b422d(0x169),_0x29c0cc(0x137),_0x1b422d(0x17f),_0x29c0cc(0x121),_0x1b422d(0x19d),_0x1b422d(0x1ad),_0x1b422d(0x1bf),_0x1b422d(0x18e),_0x29c0cc(0x1a3),_0x1b422d(0x1c1),_0x1b422d(0x1ce),_0x1b422d(0x1a5),_0x1b422d(0x167),_0x1b422d(0x16a),_0x1b422d(0x1b9),_0x1b422d(0x17a),_0x29c0cc(0x15f),_0x1b422d(0x185),_0x29c0cc(0x141),_0x1b422d(0x1c3),_0x1b422d(0x1ab),_0x29c0cc(0x14c),_0x29c0cc(0x163),_0x1b422d(0x1d0),_0x29c0cc(0x15d),_0x29c0cc(0x144),_0x1b422d(0x18f),_0x1b422d(0x151),_0x1b422d(0x1a0),_0x29c0cc(0x16e),_0x1b422d(0x1cf),_0x1b422d(0x164),_0x1b422d(0x14e),_0x1b422d(0x193),_0x1b422d(0x168),_0x1b422d(0x1a9),_0x1b422d(0x18c),_0x246b14(0x267),_0x1b422d(0x18b),_0x1b422d(0x1ac),_0x246b14(0x20c),_0x1b422d(0x19f)];return a0_0x5a74=function(){return _0x534a91;},a0_0x5a74();}function a0_0x3d2a(){var _0x37a05d=a0_0x94dd,_0x2d8665=a0_0x29c0,_0x348586=[_0x2d8665(0x207),_0x37a05d(0x19f),_0x2d8665(0x244),_0x2d8665(0x223),_0x2d8665(0x1bf),_0x37a05d(0x19e),_0x2d8665(0x203),_0x2d8665(0x208),_0x2d8665(0x234),_0x2d8665(0x236),_0x37a05d(0x172),_0x2d8665(0x1bd),_0x2d8665(0x25c),_0x2d8665(0x19f),_0x37a05d(0x10c),_0x37a05d(0x170),_0x2d8665(0x211),_0x2d8665(0x1fd),_0x37a05d(0x132),_0x37a05d(0xed),_0x2d8665(0x1cc),_0x2d8665(0x250),_0x37a05d(0x158),_0x37a05d(0x111),_0x2d8665(0x1e8),_0x37a05d(0x11e),'5728478duLcIg',_0x2d8665(0x209),'mozCancelFullScreen',_0x2d8665(0x21c),_0x2d8665(0x238),_0x2d8665(0x1e6),_0x2d8665(0x1b7),_0x2d8665(0x24d),'56rSQaBv',_0x2d8665(0x1cf),'497772QnJoHW',_0x2d8665(0x232),_0x2d8665(0x1af),_0x2d8665(0x23c),_0x2d8665(0x215),_0x37a05d(0xee),_0x2d8665(0x22e),_0x2d8665(0x1c1),_0x2d8665(0x225),_0x2d8665(0x201),_0x37a05d(0x18b),_0x2d8665(0x226),_0x2d8665(0x1db),_0x2d8665(0x25a),_0x2d8665(0x25d),_0x2d8665(0x1e2),_0x2d8665(0x1ec),_0x37a05d(0x126),_0x2d8665(0x1cd),_0x2d8665(0x256),_0x2d8665(0x200),_0x37a05d(0xd6),_0x2d8665(0x216),_0x2d8665(0x21e),_0x2d8665(0x25f),_0x2d8665(0x1d3),_0x2d8665(0x237),_0x2d8665(0x240),_0x2d8665(0x1ed),_0x2d8665(0x1b6),_0x2d8665(0x266),_0x2d8665(0x1eb),_0x2d8665(0x1ab),_0x2d8665(0x257),_0x2d8665(0x227),_0x2d8665(0x1e3),_0x2d8665(0x25e),_0x37a05d(0x150),_0x2d8665(0x1b5),_0x2d8665(0x1f3),_0x2d8665(0x21b),_0x2d8665(0x1d8),_0x2d8665(0x1c5),_0x2d8665(0x248),_0x2d8665(0x23a),_0x37a05d(0xff),'7AekJYX',_0x2d8665(0x258),_0x2d8665(0x1f5),_0x2d8665(0x1b1),_0x2d8665(0x249),_0x37a05d(0x1a5),_0x2d8665(0x1ad),_0x2d8665(0x1bc),_0x2d8665(0x1b0),_0x2d8665(0x260),_0x37a05d(0x17a),_0x2d8665(0x1c4),_0x2d8665(0x1dc),_0x2d8665(0x220),_0x37a05d(0xf4),_0x37a05d(0x19d),_0x2d8665(0x1a1),_0x2d8665(0x24b),_0x2d8665(0x253),_0x37a05d(0x17c),_0x2d8665(0x26a),'10Pywarh',_0x2d8665(0x20e),_0x2d8665(0x264),_0x2d8665(0x221),_0x2d8665(0x228),_0x37a05d(0x178),_0x2d8665(0x214),_0x2d8665(0x1e4),_0x2d8665(0x219),_0x2d8665(0x1ff),_0x2d8665(0x23d),_0x37a05d(0x108),_0x2d8665(0x1a3),_0x2d8665(0x1aa),_0x2d8665(0x1b8),_0x2d8665(0x25b),_0x2d8665(0x1f7),_0x2d8665(0x1e7),'950674EfzIZT',_0x2d8665(0x212),_0x2d8665(0x1f2),_0x37a05d(0x15e),_0x37a05d(0x109),_0x37a05d(0x15d),_0x2d8665(0x1f4),_0x2d8665(0x262),_0x2d8665(0x1ce),_0x2d8665(0x230),_0x2d8665(0x1f0),_0x2d8665(0x235),'mozfullscreenchange',_0x2d8665(0x231),_0x2d8665(0x243),_0x2d8665(0x242),_0x2d8665(0x1a7),_0x37a05d(0xd4),_0x2d8665(0x267),_0x2d8665(0x252),_0x37a05d(0x15a),_0x2d8665(0x251),_0x2d8665(0x1c3),_0x2d8665(0x268),_0x2d8665(0x1e9),_0x2d8665(0x259),_0x2d8665(0x1e0),_0x37a05d(0xd8),_0x2d8665(0x255),_0x2d8665(0x218),'768vMWvvK',_0x2d8665(0x254),_0x37a05d(0xf7),_0x2d8665(0x1b9),_0x2d8665(0x1d4),_0x37a05d(0x153),'4092180MRdtKN',_0x37a05d(0x16e),_0x37a05d(0x16c),_0x2d8665(0x245),_0x2d8665(0x202),_0x2d8665(0x1a9),_0x2d8665(0x1dd),_0x2d8665(0x22a),_0x37a05d(0xf8),'281712OqmMMM',_0x2d8665(0x229),_0x2d8665(0x1fe),_0x2d8665(0x24c),_0x2d8665(0x22d),_0x2d8665(0x1a6),_0x2d8665(0x24a),_0x2d8665(0x205),_0x2d8665(0x22c),_0x37a05d(0x13b),_0x37a05d(0x159),_0x2d8665(0x1ba),_0x2d8665(0x1b3),_0x2d8665(0x204),_0x2d8665(0x210),_0x37a05d(0x105),_0x2d8665(0x1d2)];return a0_0x3d2a=function(){return _0x348586;},a0_0x3d2a();}(function(_0x34ea14,_0x4f33aa){var _0x5ce5a3=a0_0x6220,_0x536564=a0_0x125d,_0x262fd2=a0_0x4636,_0x31ecbd=_0x34ea14();while(!![]){try{var _0x4dec92=parseInt(_0x262fd2(0xc5))/0x1+parseInt(_0x262fd2(0xa8))/0x2*(-parseInt(_0x262fd2(0xab))/0x3)+parseInt(_0x262fd2(0xbd))/0x4*(-parseInt(_0x262fd2(0xbb))/0x5)+parseInt(_0x262fd2(0xa2))/0x6+-parseInt(_0x262fd2(0xae))/0x7+parseInt(_0x262fd2(0xa1))/0x8+-parseInt(_0x262fd2(0xbc))/0x9*(-parseInt(_0x262fd2(0xc1))/0xa);if(_0x4dec92===_0x4f33aa)break;else _0x31ecbd[_0x5ce5a3(0x163)](_0x31ecbd[_0x536564(0x14c)]());}catch(_0x709f87){_0x31ecbd[_0x5ce5a3(0x163)](_0x31ecbd[_0x536564(0x14c)]());}}}(a0_0x3450,0xcf76d),function(_0x10327c){var _0x59a6cc=a0_0x4636;function _0x1c9650(_0x441ba5){var _0x4537f7=a0_0x6220,_0x194298=a0_0x125d,_0x60f738=a0_0x4636,_0x81daa0,_0x56a8e5,_0x3bedcd;if(!this[_0x194298(0x12d)])return this;_0x81daa0=this[0x0],_0x81daa0[_0x60f738(0xa5)]?_0x3bedcd=_0x81daa0[_0x60f738(0xa5)]:(_0x3bedcd=_0x81daa0,_0x81daa0=_0x3bedcd[_0x60f738(0xaa)]);if(_0x441ba5==null){if(!(_0x3bedcd[_0x60f738(0xba)]||_0x3bedcd[_0x60f738(0xa4)]||_0x3bedcd[_0x60f738(0xc2)]||_0x3bedcd[_0x60f738(0xb0)]||_0x3bedcd[_0x194298(0x137)]))return null;_0x441ba5=_0x27f3bf(_0x3bedcd);if(!_0x441ba5)return _0x441ba5;return _0x3bedcd[_0x60f738(0xb4)]||_0x3bedcd[_0x60f738(0xa7)]||_0x3bedcd[_0x60f738(0xad)]||_0x3bedcd[_0x194298(0x144)]||_0x3bedcd[_0x60f738(0xc3)]||_0x441ba5;}if(_0x441ba5)return _0x56a8e5=_0x81daa0[_0x194298(0x139)]||_0x81daa0[_0x60f738(0xa3)]||_0x81daa0[_0x194298(0x142)]||_0x81daa0[_0x60f738(0xb8)]||_0x81daa0[_0x60f738(0xb9)],_0x56a8e5&&_0x56a8e5[_0x194298(0x132)](_0x81daa0),this;else{_0x56a8e5=_0x3bedcd[_0x194298(0x14d)]||_0x3bedcd[_0x60f738(0xa4)]||_0x3bedcd[_0x4537f7(0x143)]||_0x3bedcd[_0x60f738(0xb0)]||_0x3bedcd[_0x194298(0x137)];if(_0x56a8e5&&_0x27f3bf(_0x3bedcd))_0x56a8e5[_0x194298(0x132)](_0x3bedcd);return this;}}function _0x27f3bf(_0x3cf56a){var _0x2fa97b=a0_0xb2ce,_0x1faba0=a0_0x125d,_0x5071f8=a0_0x4636;return!!(_0x3cf56a[_0x5071f8(0xb4)]||_0x3cf56a[_0x5071f8(0xb1)]||_0x3cf56a[_0x1faba0(0x12b)]||_0x3cf56a[_0x2fa97b(0x125)]);}function _0x7dab5d(){var _0x42e99b=a0_0x4636;return _0x1c9650[_0x42e99b(0xb6)](this,!_0x1c9650[_0x42e99b(0xb6)](this));}function _0x3903f7(_0x4cf05b){var _0x2ee20e=a0_0x6220,_0x44cf07=a0_0x125d,_0x5819b3=a0_0x4636;_0x10327c(document)[_0x44cf07(0x147)](new _0x10327c[(_0x2ee20e(0x150))](_0x5819b3(0xb5)));}function _0x4cfa1d(_0x567d9a){var _0x11126e=a0_0x6220,_0x3ee099=a0_0x4636;_0x10327c(document)[_0x3ee099(0xa6)](new _0x10327c[(_0x11126e(0x150))](_0x3ee099(0xac)));}function _0x3a8892(){var _0x4bc310=a0_0x125d,_0x48c97e=a0_0x4636,_0x49f185,_0x31527e,_0x371819;_0x49f185=document;if(_0x49f185[_0x48c97e(0xc2)])_0x31527e=_0x48c97e(0xbe),_0x371819=_0x48c97e(0xb3);else{if(_0x49f185[_0x4bc310(0x13f)])_0x31527e=_0x48c97e(0xa9),_0x371819=_0x48c97e(0xb2);else _0x49f185[_0x48c97e(0xbf)]?(_0x31527e=_0x48c97e(0xaf),_0x371819=_0x4bc310(0x151)):(_0x31527e=_0x48c97e(0xb5),_0x371819=_0x48c97e(0xac));}_0x10327c(document)[_0x48c97e(0xc4)](_0x31527e,_0x3903f7),_0x10327c(document)[_0x48c97e(0xc4)](_0x371819,_0x4cfa1d);}_0x10327c['fn'][_0x59a6cc(0xb7)]=_0x1c9650,_0x10327c['fn'][_0x59a6cc(0xc0)]=_0x7dab5d,_0x3a8892();}(jQuery));function a0_0x2f6b(_0x3b4cbb,_0x5054e1){var _0x71e2f9=a0_0x192f();return a0_0x2f6b=function(_0x3898aa,_0x1bbf6c){_0x3898aa=_0x3898aa-0x194;var _0x33fa6e=_0x71e2f9[_0x3898aa];return _0x33fa6e;},a0_0x2f6b(_0x3b4cbb,_0x5054e1);}function a0_0x3450(){var _0x39ad85=a0_0x3cb5,_0x473569=a0_0xb2ce,_0x546932=a0_0x6220,_0x1dcd7e=a0_0x125d,_0xf24adc=[_0x1dcd7e(0x13b),_0x1dcd7e(0x134),_0x1dcd7e(0x12a),_0x1dcd7e(0x13e),_0x1dcd7e(0x129),_0x1dcd7e(0x147),_0x1dcd7e(0x12c),_0x1dcd7e(0x146),_0x473569(0x122),_0x1dcd7e(0x141),_0x1dcd7e(0x156),_0x546932(0x146),_0x1dcd7e(0x12e),_0x1dcd7e(0x135),_0x1dcd7e(0x14a),_0x1dcd7e(0x13f),_0x546932(0x151),_0x1dcd7e(0x143),_0x1dcd7e(0x13d),_0x1dcd7e(0x128),_0x1dcd7e(0x145),_0x1dcd7e(0x132),_0x1dcd7e(0x148),_0x1dcd7e(0x130),_0x1dcd7e(0x12f),_0x546932(0x142),_0x1dcd7e(0x140),_0x1dcd7e(0x149),_0x546932(0x137),_0x1dcd7e(0x14b),_0x1dcd7e(0x137),_0x546932(0x130),_0x546932(0x140),_0x39ad85(0x1ad),_0x1dcd7e(0x138),_0x1dcd7e(0x14e),_0x473569(0x10b)];return a0_0x3450=function(){return _0xf24adc;},a0_0x3450();}
\ No newline at end of file
diff --git a/anita_theme_setting/static/libs/perfect-scrollbar.min.js b/anita_theme_setting/static/libs/perfect-scrollbar.min.js
new file mode 100644
index 000000000..ae95b0564
--- /dev/null
+++ b/anita_theme_setting/static/libs/perfect-scrollbar.min.js
@@ -0,0 +1 @@
+(function(_0x42b64e,_0x2cad1b){var _0x46067c=a0_0x8e03,_0x49192c=_0x42b64e();while(!![]){try{var _0x367770=-parseInt(_0x46067c(0x222))/0x1+parseInt(_0x46067c(0x1a1))/0x2+-parseInt(_0x46067c(0x224))/0x3+-parseInt(_0x46067c(0x1bb))/0x4*(parseInt(_0x46067c(0x1b6))/0x5)+-parseInt(_0x46067c(0x190))/0x6*(parseInt(_0x46067c(0xef))/0x7)+parseInt(_0x46067c(0x209))/0x8+parseInt(_0x46067c(0x1c0))/0x9*(parseInt(_0x46067c(0x18d))/0xa);if(_0x367770===_0x2cad1b)break;else _0x49192c['push'](_0x49192c['shift']());}catch(_0x239fe0){_0x49192c['push'](_0x49192c['shift']());}}}(a0_0x72d0,0x8a9cd),(function(_0xfd3269,_0x85c35f){var _0x582c68=a0_0x8e03,_0x200944=a0_0x1f50,_0x5b4bfd=_0xfd3269();while(!![]){try{var _0x540c61=-parseInt(_0x200944(0x26a))/0x1*(-parseInt(_0x200944(0x1b6))/0x2)+-parseInt(_0x200944(0x1f9))/0x3*(-parseInt(_0x200944(0x1c5))/0x4)+parseInt(_0x200944(0x29a))/0x5*(parseInt(_0x200944(0x246))/0x6)+parseInt(_0x200944(0x2a8))/0x7*(-parseInt(_0x200944(0x199))/0x8)+-parseInt(_0x200944(0x239))/0x9*(parseInt(_0x200944(0x291))/0xa)+-parseInt(_0x200944(0x2f8))/0xb*(-parseInt(_0x200944(0x220))/0xc)+-parseInt(_0x200944(0x203))/0xd;if(_0x540c61===_0x85c35f)break;else _0x5b4bfd['push'](_0x5b4bfd['shift']());}catch(_0x87f731){_0x5b4bfd[_0x582c68(0x196)](_0x5b4bfd[_0x582c68(0x1e2)]());}}}(a0_0x1174,0x4fb65),(function(_0x2b3980,_0x2d46ed){var _0x2f247d=a0_0x8e03,_0x2830c5=a0_0x1f50,_0x4fda0a=a0_0x5c16,_0x2d48ff=_0x2b3980();while(!![]){try{var _0x406ee8=parseInt(_0x4fda0a(0xfd))/0x1*(parseInt(_0x4fda0a(0xe5))/0x2)+-parseInt(_0x4fda0a(0xc8))/0x3*(parseInt(_0x4fda0a(0xaf))/0x4)+parseInt(_0x4fda0a(0xe6))/0x5*(parseInt(_0x4fda0a(0x159))/0x6)+parseInt(_0x4fda0a(0x145))/0x7+parseInt(_0x4fda0a(0x17f))/0x8*(-parseInt(_0x4fda0a(0x156))/0x9)+-parseInt(_0x4fda0a(0xd3))/0xa*(-parseInt(_0x4fda0a(0x1bb))/0xb)+parseInt(_0x4fda0a(0x16b))/0xc;if(_0x406ee8===_0x2d46ed)break;else _0x2d48ff[_0x2830c5(0x1ce)](_0x2d48ff[_0x2830c5(0x23f)]());}catch(_0x44a036){_0x2d48ff[_0x2830c5(0x1ce)](_0x2d48ff[_0x2f247d(0x1e2)]());}}}(a0_0x13d8,0x2e24d),(function(_0x13030f,_0x53e60c){var _0x5385cd=a0_0x1f50,_0x21b130=a0_0x5c16,_0x554106=a0_0x284e,_0x43f06c=_0x13030f();while(!![]){try{var _0x138524=parseInt(_0x554106(0x1d8))/0x1+parseInt(_0x554106(0x134))/0x2*(-parseInt(_0x554106(0x13d))/0x3)+parseInt(_0x554106(0x21a))/0x4+parseInt(_0x554106(0x1a4))/0x5*(parseInt(_0x554106(0x238))/0x6)+parseInt(_0x554106(0x1fb))/0x7+parseInt(_0x554106(0x1a7))/0x8*(parseInt(_0x554106(0x1ad))/0x9)+parseInt(_0x554106(0x20a))/0xa*(-parseInt(_0x554106(0x152))/0xb);if(_0x138524===_0x53e60c)break;else _0x43f06c[_0x5385cd(0x1ce)](_0x43f06c[_0x5385cd(0x23f)]());}catch(_0x5f5a4f){_0x43f06c[_0x21b130(0xae)](_0x43f06c[_0x21b130(0x134)]());}}}(a0_0x179f,0xa3794),(function(_0x624d05,_0x20c3d4){var _0x2c6beb=a0_0x5c16,_0x3b20c4=a0_0x284e,_0x499287=a0_0x2f85,_0x266469=_0x624d05();while(!![]){try{var _0x1d8812=parseInt(_0x499287(0x174))/0x1*(parseInt(_0x499287(0x10e))/0x2)+-parseInt(_0x499287(0x12a))/0x3*(parseInt(_0x499287(0x191))/0x4)+-parseInt(_0x499287(0x1c3))/0x5*(parseInt(_0x499287(0xc2))/0x6)+-parseInt(_0x499287(0x177))/0x7*(-parseInt(_0x499287(0x1c0))/0x8)+-parseInt(_0x499287(0x1d7))/0x9+parseInt(_0x499287(0x138))/0xa+-parseInt(_0x499287(0xd3))/0xb;if(_0x1d8812===_0x20c3d4)break;else _0x266469[_0x2c6beb(0xae)](_0x266469[_0x3b20c4(0xf4)]());}catch(_0x1e4e28){_0x266469[_0x3b20c4(0x188)](_0x266469[_0x3b20c4(0xf4)]());}}}(a0_0x6246,0xa236e),(function(_0x597755,_0x585858){var _0x15a4ee=a0_0x284e,_0x535c25=a0_0x2f85,_0x521814=a0_0x413e,_0x3fb8ea=_0x597755();while(!![]){try{var _0x23be8c=parseInt(_0x521814(0xf9))/0x1*(-parseInt(_0x521814(0x15f))/0x2)+parseInt(_0x521814(0x1eb))/0x3*(-parseInt(_0x521814(0x190))/0x4)+parseInt(_0x521814(0xec))/0x5*(-parseInt(_0x521814(0x1d3))/0x6)+parseInt(_0x521814(0x134))/0x7+parseInt(_0x521814(0xc9))/0x8+-parseInt(_0x521814(0x1f7))/0x9+parseInt(_0x521814(0x188))/0xa;if(_0x23be8c===_0x585858)break;else _0x3fb8ea[_0x535c25(0x183)](_0x3fb8ea[_0x15a4ee(0xf4)]());}catch(_0xa19ed7){_0x3fb8ea[_0x535c25(0x183)](_0x3fb8ea[_0x535c25(0xbc)]());}}}(a0_0x21c5,0xe73d4),(function(_0x3ed5cf,_0xec6a65){var _0x54c0d3=a0_0x5c16,_0x8ea41b=a0_0x413e,_0x436f15=a0_0x543f,_0x23fc50=_0x3ed5cf();while(!![]){try{var _0x4a7ba1=-parseInt(_0x436f15(0xe0))/0x1+-parseInt(_0x436f15(0x1f1))/0x2*(-parseInt(_0x436f15(0x177))/0x3)+parseInt(_0x436f15(0x1e6))/0x4*(-parseInt(_0x436f15(0x17d))/0x5)+-parseInt(_0x436f15(0xdc))/0x6+-parseInt(_0x436f15(0x140))/0x7+parseInt(_0x436f15(0xe4))/0x8*(-parseInt(_0x436f15(0x15c))/0x9)+parseInt(_0x436f15(0x104))/0xa;if(_0x4a7ba1===_0xec6a65)break;else _0x23fc50[_0x54c0d3(0xae)](_0x23fc50[_0x8ea41b(0x171)]());}catch(_0x2fb470){_0x23fc50[_0x8ea41b(0xfa)](_0x23fc50[_0x8ea41b(0x171)]());}}}(a0_0x1e4b,0x6f345),(function(_0x18ffd5,_0x4d5c76){var _0x157177=a0_0x413e,_0x300b64=a0_0x543f,_0x45beab=a0_0x5a15,_0x15503b=_0x18ffd5();while(!![]){try{var _0x2b97a2=-parseInt(_0x45beab(0x27d))/0x1*(-parseInt(_0x45beab(0x295))/0x2)+parseInt(_0x45beab(0x175))/0x3*(-parseInt(_0x45beab(0x16e))/0x4)+-parseInt(_0x45beab(0x242))/0x5+-parseInt(_0x45beab(0x1e6))/0x6+parseInt(_0x45beab(0x17d))/0x7+-parseInt(_0x45beab(0x16f))/0x8*(parseInt(_0x45beab(0x217))/0x9)+-parseInt(_0x45beab(0x23b))/0xa*(-parseInt(_0x45beab(0x233))/0xb);if(_0x2b97a2===_0x4d5c76)break;else _0x15503b[_0x300b64(0x1ae)](_0x15503b[_0x300b64(0x19b)]());}catch(_0x1be7f0){_0x15503b[_0x300b64(0x1ae)](_0x15503b[_0x157177(0x171)]());}}}(a0_0x3247,0x4a868),(function(_0x31fd22,_0x3a8782){var _0x6b1995=a0_0x5a15,_0x194ea0=a0_0x2c3f,_0x2f3bb8=_0x31fd22();while(!![]){try{var _0x4a15a0=-parseInt(_0x194ea0(0x11b))/0x1*(parseInt(_0x194ea0(0x1f4))/0x2)+parseInt(_0x194ea0(0x1c5))/0x3*(parseInt(_0x194ea0(0x1e4))/0x4)+-parseInt(_0x194ea0(0x1e5))/0x5+-parseInt(_0x194ea0(0x1d7))/0x6+-parseInt(_0x194ea0(0xd2))/0x7+parseInt(_0x194ea0(0x1df))/0x8*(parseInt(_0x194ea0(0x14b))/0x9)+parseInt(_0x194ea0(0x140))/0xa;if(_0x4a15a0===_0x3a8782)break;else _0x2f3bb8[_0x6b1995(0x28f)](_0x2f3bb8[_0x6b1995(0x1ef)]());}catch(_0x2e85e3){_0x2f3bb8[_0x6b1995(0x28f)](_0x2f3bb8[_0x6b1995(0x1ef)]());}}}(a0_0x4e13,0xbaf06),(function(_0x5a56d4,_0x289ea3){var _0x38db28=a0_0x543f,_0x529ae6=a0_0x5a15,_0xd34e21=a0_0x2c3f,_0x41848a=a0_0x2f41,_0x3a580b=_0x5a56d4();while(!![]){try{var _0x27bc99=parseInt(_0x41848a(0x295))/0x1*(parseInt(_0x41848a(0x2a4))/0x2)+-parseInt(_0x41848a(0x218))/0x3*(-parseInt(_0x41848a(0x1f8))/0x4)+parseInt(_0x41848a(0x1a4))/0x5+parseInt(_0x41848a(0x1be))/0x6*(-parseInt(_0x41848a(0x188))/0x7)+parseInt(_0x41848a(0x18a))/0x8*(-parseInt(_0x41848a(0x214))/0x9)+-parseInt(_0x41848a(0x253))/0xa+parseInt(_0x41848a(0x23d))/0xb;if(_0x27bc99===_0x289ea3)break;else _0x3a580b[_0xd34e21(0x193)](_0x3a580b[_0x529ae6(0x1ef)]());}catch(_0x53c85c){_0x3a580b[_0x38db28(0x1ae)](_0x3a580b[_0xd34e21(0xfe)]());}}}(a0_0x2fd1,0x886b2),(function(_0x17a706,_0x19ed71){var _0x16d173=a0_0x2c3f,_0x16c9f8=a0_0x2f41,_0x1102d0=a0_0x1a8e,_0x108bf1=_0x17a706();while(!![]){try{var _0x5d6feb=-parseInt(_0x1102d0(0x27e))/0x1+-parseInt(_0x1102d0(0x213))/0x2*(-parseInt(_0x1102d0(0x246))/0x3)+-parseInt(_0x1102d0(0x26e))/0x4*(parseInt(_0x1102d0(0x2b6))/0x5)+-parseInt(_0x1102d0(0x25f))/0x6*(parseInt(_0x1102d0(0x2bf))/0x7)+parseInt(_0x1102d0(0x1d6))/0x8+parseInt(_0x1102d0(0x27f))/0x9+-parseInt(_0x1102d0(0x27d))/0xa*(-parseInt(_0x1102d0(0x216))/0xb);if(_0x5d6feb===_0x19ed71)break;else _0x108bf1[_0x16d173(0x193)](_0x108bf1[_0x16c9f8(0x1bd)]());}catch(_0x58f469){_0x108bf1[_0x16c9f8(0x1f4)](_0x108bf1[_0x16c9f8(0x1bd)]());}}}(a0_0x5baf,0x195a0),(function(_0xa922a6,_0x1b0b17){var _0x4206ed=a0_0x2f41,_0x5dd830=a0_0x1a8e,_0x2fbade=a0_0x1275,_0x17aeb1=_0xa922a6();while(!![]){try{var _0x1cea43=-parseInt(_0x2fbade(0x1ea))/0x1+-parseInt(_0x2fbade(0x23c))/0x2+-parseInt(_0x2fbade(0x18c))/0x3+parseInt(_0x2fbade(0x141))/0x4*(-parseInt(_0x2fbade(0x201))/0x5)+parseInt(_0x2fbade(0x184))/0x6+parseInt(_0x2fbade(0x1d3))/0x7*(-parseInt(_0x2fbade(0x186))/0x8)+parseInt(_0x2fbade(0x245))/0x9*(parseInt(_0x2fbade(0x16a))/0xa);if(_0x1cea43===_0x1b0b17)break;else _0x17aeb1[_0x5dd830(0x26b)](_0x17aeb1[_0x4206ed(0x1bd)]());}catch(_0x1effbb){_0x17aeb1[_0x5dd830(0x26b)](_0x17aeb1[_0x5dd830(0x254)]());}}}(a0_0x119d,0x81673),(function(_0x2cf9a0,_0x4a1416){var _0xec0f79=a0_0x1a8e,_0x9fd3d1=a0_0x1275,_0x3aa22b=a0_0x23ca,_0x196f4c=_0x2cf9a0();while(!![]){try{var _0x1da06=parseInt(_0x3aa22b(0x176))/0x1*(parseInt(_0x3aa22b(0x18d))/0x2)+parseInt(_0x3aa22b(0x1a4))/0x3+parseInt(_0x3aa22b(0xc6))/0x4+-parseInt(_0x3aa22b(0xcf))/0x5*(-parseInt(_0x3aa22b(0xd5))/0x6)+-parseInt(_0x3aa22b(0x187))/0x7+-parseInt(_0x3aa22b(0xe0))/0x8+-parseInt(_0x3aa22b(0xe6))/0x9;if(_0x1da06===_0x4a1416)break;else _0x196f4c[_0xec0f79(0x26b)](_0x196f4c[_0x9fd3d1(0x1a2)]());}catch(_0x25be42){_0x196f4c[_0xec0f79(0x26b)](_0x196f4c[_0x9fd3d1(0x1a2)]());}}}(a0_0x44bc,0xdf2b1),(function(_0x2c9ea9,_0x10dbc2){var _0x2cc4a2=a0_0x1275,_0x12100f=a0_0x23ca,_0x11cdc6=a0_0x32fc,_0x31d215=_0x2c9ea9();while(!![]){try{var _0x4bb17c=-parseInt(_0x11cdc6(0x24c))/0x1*(parseInt(_0x11cdc6(0x25a))/0x2)+-parseInt(_0x11cdc6(0x1e2))/0x3*(parseInt(_0x11cdc6(0x1e4))/0x4)+-parseInt(_0x11cdc6(0x21f))/0x5+parseInt(_0x11cdc6(0x27c))/0x6+-parseInt(_0x11cdc6(0x1cb))/0x7*(-parseInt(_0x11cdc6(0x247))/0x8)+-parseInt(_0x11cdc6(0x205))/0x9*(parseInt(_0x11cdc6(0x20b))/0xa)+parseInt(_0x11cdc6(0x1c7))/0xb;if(_0x4bb17c===_0x10dbc2)break;else _0x31d215[_0x2cc4a2(0x242)](_0x31d215[_0x12100f(0x11c)]());}catch(_0x5d625c){_0x31d215[_0x12100f(0x1ad)](_0x31d215[_0x12100f(0x11c)]());}}}(a0_0x2c19,0x27a37),(function(_0x4cbf13,_0x1e9bdb){var _0x3d3d8c=a0_0x1275,_0x848ed9=a0_0x23ca,_0x45be30=a0_0x32fc,_0x23516b=a0_0x8457,_0x41a10e=_0x4cbf13();while(!![]){try{var _0x5e1d97=parseInt(_0x23516b(0x248))/0x1+-parseInt(_0x23516b(0x1bc))/0x2+parseInt(_0x23516b(0x244))/0x3*(parseInt(_0x23516b(0x1af))/0x4)+parseInt(_0x23516b(0x1a9))/0x5+-parseInt(_0x23516b(0x1f8))/0x6+parseInt(_0x23516b(0x277))/0x7+-parseInt(_0x23516b(0x240))/0x8*(-parseInt(_0x23516b(0x199))/0x9);if(_0x5e1d97===_0x1e9bdb)break;else _0x41a10e[_0x3d3d8c(0x242)](_0x41a10e[_0x3d3d8c(0x1a2)]());}catch(_0x18b7e1){_0x41a10e[_0x848ed9(0x1ad)](_0x41a10e[_0x45be30(0x28d)]());}}}(a0_0x47ff,0xb453c),(function(_0x191c08,_0x48d1b5){var _0x3cb510=a0_0x8457,_0x2019c5=a0_0x3ebb,_0x4e7902=_0x191c08();while(!![]){try{var _0x5bca92=parseInt(_0x2019c5(0x159))/0x1*(parseInt(_0x2019c5(0x1f9))/0x2)+-parseInt(_0x2019c5(0x1fa))/0x3*(parseInt(_0x2019c5(0x1ee))/0x4)+parseInt(_0x2019c5(0x174))/0x5+-parseInt(_0x2019c5(0x1d4))/0x6+parseInt(_0x2019c5(0x116))/0x7+parseInt(_0x2019c5(0x173))/0x8*(-parseInt(_0x2019c5(0x120))/0x9)+parseInt(_0x2019c5(0x13a))/0xa;if(_0x5bca92===_0x48d1b5)break;else _0x4e7902[_0x3cb510(0x24a)](_0x4e7902[_0x3cb510(0x278)]());}catch(_0x57fac1){_0x4e7902[_0x3cb510(0x24a)](_0x4e7902[_0x3cb510(0x278)]());}}}(a0_0x612c,0xd7620),(function(_0x2d07a2,_0x341604){var _0x268e42=a0_0x8457,_0x5d0f17=a0_0x3ebb,_0x379d5c=a0_0x58d6,_0x4b06f8=_0x2d07a2();while(!![]){try{var _0x4edbe8=parseInt(_0x379d5c(0x229))/0x1*(-parseInt(_0x379d5c(0x16d))/0x2)+parseInt(_0x379d5c(0x140))/0x3*(-parseInt(_0x379d5c(0x20a))/0x4)+-parseInt(_0x379d5c(0x1e3))/0x5+parseInt(_0x379d5c(0x21e))/0x6+parseInt(_0x379d5c(0x1fe))/0x7+-parseInt(_0x379d5c(0x158))/0x8+-parseInt(_0x379d5c(0x1b2))/0x9*(-parseInt(_0x379d5c(0x1d2))/0xa);if(_0x4edbe8===_0x341604)break;else _0x4b06f8[_0x268e42(0x24a)](_0x4b06f8[_0x268e42(0x278)]());}catch(_0x5c661f){_0x4b06f8[_0x5d0f17(0x16f)](_0x4b06f8[_0x5d0f17(0x18f)]());}}}(a0_0x3e34,0xb7bdd),(function(_0x4a6d6f,_0xfb32c3){var _0x1aede7=a0_0x58d6,_0x1423c2=a0_0x46c3,_0x46ac23=_0x4a6d6f();while(!![]){try{var _0x1c4f8d=parseInt(_0x1423c2(0x24e))/0x1*(parseInt(_0x1423c2(0x1ac))/0x2)+-parseInt(_0x1423c2(0x1d3))/0x3*(-parseInt(_0x1423c2(0x26d))/0x4)+-parseInt(_0x1423c2(0x270))/0x5+-parseInt(_0x1423c2(0x1be))/0x6*(-parseInt(_0x1423c2(0x1dd))/0x7)+-parseInt(_0x1423c2(0x24c))/0x8*(-parseInt(_0x1423c2(0x27a))/0x9)+parseInt(_0x1423c2(0x261))/0xa+parseInt(_0x1423c2(0x197))/0xb*(-parseInt(_0x1423c2(0x1eb))/0xc);if(_0x1c4f8d===_0xfb32c3)break;else _0x46ac23[_0x1aede7(0x174)](_0x46ac23[_0x1aede7(0x166)]());}catch(_0x48231b){_0x46ac23[_0x1aede7(0x174)](_0x46ac23[_0x1aede7(0x166)]());}}}(a0_0xfff2,0x39f65),(function(_0x5f1693,_0x1ba2ef){var _0x142c9e=a0_0x58d6,_0x17adaf=a0_0x46c3,_0x2d6130=a0_0x5754,_0x1dfeed=_0x5f1693();while(!![]){try{var _0x34e997=parseInt(_0x2d6130(0x14c))/0x1*(-parseInt(_0x2d6130(0xa0))/0x2)+parseInt(_0x2d6130(0xa4))/0x3+parseInt(_0x2d6130(0x12e))/0x4+parseInt(_0x2d6130(0x6c))/0x5+-parseInt(_0x2d6130(0x93))/0x6+parseInt(_0x2d6130(0x131))/0x7+-parseInt(_0x2d6130(0xcf))/0x8;if(_0x34e997===_0x1ba2ef)break;else _0x1dfeed[_0x142c9e(0x174)](_0x1dfeed[_0x142c9e(0x166)]());}catch(_0xac743f){_0x1dfeed[_0x17adaf(0x234)](_0x1dfeed[_0x17adaf(0x1a3)]());}}}(a0_0x58e4,0xcbe89),function(_0x3ed5be,_0x45594f){var _0x289897=a0_0x46c3,_0x584f6d=a0_0x5754,_0x5f5a02=a0_0xb9fb,_0x4c38aa=_0x3ed5be();while(!![]){try{var _0x4a3302=parseInt(_0x5f5a02(0x132))/0x1*(-parseInt(_0x5f5a02(0x11e))/0x2)+-parseInt(_0x5f5a02(0x15e))/0x3*(-parseInt(_0x5f5a02(0xca))/0x4)+-parseInt(_0x5f5a02(0x146))/0x5+parseInt(_0x5f5a02(0xf1))/0x6+-parseInt(_0x5f5a02(0x19b))/0x7+parseInt(_0x5f5a02(0xd8))/0x8+parseInt(_0x5f5a02(0x13d))/0x9;if(_0x4a3302===_0x45594f)break;else _0x4c38aa[_0x289897(0x234)](_0x4c38aa[_0x584f6d(0xde)]());}catch(_0x210a7a){_0x4c38aa[_0x584f6d(0xa8)](_0x4c38aa[_0x289897(0x1a3)]());}}}(a0_0x5055,0x6c3f5))))))))))))))))))));function a0_0x23ca(_0x1542ee,_0x895de9){var _0x31ed88=a0_0x44bc();return a0_0x23ca=function(_0x1af6d6,_0xe3a52f){_0x1af6d6=_0x1af6d6-0xa1;var _0x5efd8c=_0x31ed88[_0x1af6d6];return _0x5efd8c;},a0_0x23ca(_0x1542ee,_0x895de9);}function a0_0x1cc3(){var _0xf3969e=a0_0x3ebb,_0x81f681=a0_0x58d6,_0x3c14ec=a0_0x46c3,_0x332f8b=a0_0x5754,_0x56b949=a0_0xb9fb,_0x52fdaf=[_0x332f8b(0xcd),_0x56b949(0x11a),_0x332f8b(0x147),_0x56b949(0xbe),_0x56b949(0x16e),_0x56b949(0xcb),_0x56b949(0xf8),_0x56b949(0x180),_0x56b949(0x173),_0x56b949(0x116),_0x56b949(0xd7),_0x56b949(0x1ac),_0x56b949(0x167),_0x56b949(0x14b),_0x56b949(0x184),_0x56b949(0x170),_0x56b949(0x103),_0x332f8b(0xa8),_0x56b949(0x110),_0x56b949(0x175),_0x56b949(0x148),_0x56b949(0x139),_0x56b949(0x18a),_0x56b949(0x168),_0x332f8b(0xe8),_0x56b949(0x118),_0x56b949(0x19e),_0x56b949(0x133),_0x56b949(0x18e),_0x56b949(0x12c),_0x56b949(0x109),_0x56b949(0x198),_0x56b949(0x10d),_0x56b949(0x130),_0x56b949(0xc6),_0x56b949(0x106),_0x56b949(0x136),_0x332f8b(0xf7),_0x56b949(0x172),_0x56b949(0xd4),_0x56b949(0x16a),_0x56b949(0x164),_0x56b949(0x194),_0x56b949(0x160),_0x56b949(0xe4),_0x56b949(0x10b),_0x56b949(0x104),_0x56b949(0xe7),_0x56b949(0x156),_0x56b949(0xf3),_0x56b949(0x17b),_0x56b949(0xbd),_0x332f8b(0x9e),_0x56b949(0xf9),_0x56b949(0xf2),_0x56b949(0x157),_0x56b949(0xef),_0x56b949(0x18d),_0x56b949(0xce),_0x56b949(0xe6),_0x332f8b(0xe9),_0x56b949(0x10e),_0x56b949(0x16f),_0x56b949(0x14a),_0x56b949(0x1af),_0x56b949(0x129),_0x56b949(0x1aa),_0x56b949(0x145),_0x56b949(0x18b),_0x56b949(0x141),_0x56b949(0x191),_0x56b949(0x1a6),_0x56b949(0x13f),_0x56b949(0x166),_0x56b949(0xcd),_0x56b949(0x181),_0x56b949(0x12d),_0x56b949(0xd5),_0x56b949(0x16d),_0x56b949(0x11d),_0x332f8b(0x115),_0x332f8b(0x128),_0x56b949(0x13e),_0x3c14ec(0x1a0),_0x56b949(0xe8),_0x332f8b(0x14e),_0x56b949(0xd2),_0x56b949(0x155),_0x81f681(0x19c),_0x332f8b(0x111),_0x332f8b(0x96),_0x56b949(0xd3),_0x56b949(0x15b),_0x56b949(0xde),_0x56b949(0xd0),_0x56b949(0xc1),_0x56b949(0x174),_0x56b949(0x140),_0x56b949(0xfe),_0x332f8b(0x74),_0x56b949(0xf0),_0x56b949(0x187),_0x56b949(0x115),_0x56b949(0xcc),_0x3c14ec(0x25f),_0x56b949(0xd9),_0x56b949(0x17e),_0x332f8b(0x149),_0x332f8b(0xe3),_0x56b949(0x169),_0x56b949(0x165),_0x56b949(0x126),_0x56b949(0xc8),_0x56b949(0xc9),_0x332f8b(0xbe),_0x56b949(0xe5),_0x56b949(0x163),_0xf3969e(0x19a),_0x56b949(0x131),_0x56b949(0x124),_0x332f8b(0x80),_0x332f8b(0x119),_0x56b949(0xfb),_0x56b949(0xc0),_0x332f8b(0xfd),_0x56b949(0xc2),_0x332f8b(0x13a),_0x56b949(0x158),_0x56b949(0xe3),_0x56b949(0x11c),_0x56b949(0x16c),_0x56b949(0x123),_0x56b949(0x119),_0x3c14ec(0x1fe),_0x56b949(0xe1),_0x56b949(0x193),_0x56b949(0x101),_0x56b949(0x19f),_0x56b949(0x19c),_0x56b949(0xfa),_0x56b949(0xf4),_0x56b949(0x121),_0x332f8b(0xd6),_0x56b949(0xe2),_0x3c14ec(0x1ab),_0x56b949(0x12b),_0x56b949(0x1b0),_0x56b949(0x1a7),_0x56b949(0xbf),_0x332f8b(0xc8),_0x56b949(0x14e),_0x332f8b(0x108),_0x56b949(0x113),_0x56b949(0x107),_0x56b949(0x10c),_0x56b949(0x117),_0x56b949(0xdf),_0x56b949(0x1ae),_0x332f8b(0xc2),_0x56b949(0x185),_0x56b949(0x15a),_0x332f8b(0x142),_0x332f8b(0x129),_0x56b949(0x12e),_0x56b949(0x100),_0x56b949(0x19a),_0x56b949(0x199),_0x56b949(0x161),_0x56b949(0xf6),_0x56b949(0x1a1),_0x56b949(0x196),_0x332f8b(0x144),_0x56b949(0x189),_0x56b949(0x195),_0x56b949(0x120),_0x56b949(0xec),_0x56b949(0xc5),_0x332f8b(0xf8),_0x332f8b(0xa3),_0x56b949(0x114),_0x332f8b(0x76),_0x332f8b(0xd8),_0x56b949(0x1a3),_0x56b949(0x134),_0x332f8b(0xeb),_0x332f8b(0xaa),_0x332f8b(0x137),_0x332f8b(0xad),_0x56b949(0x186),_0x56b949(0xe9),_0x56b949(0x152),_0x56b949(0xd1),_0x332f8b(0xd9),_0x56b949(0x125),_0x332f8b(0x70),_0x56b949(0x135),_0x56b949(0x11f),_0x56b949(0x1ad),_0x56b949(0x111),_0x56b949(0x1a5),_0x56b949(0x154),_0x56b949(0xc7),_0x332f8b(0x10d),_0x56b949(0x1a0),_0x56b949(0x144),_0x81f681(0x1c8),_0x56b949(0x142),_0x332f8b(0x138),_0x56b949(0x13c),_0x56b949(0x17f),_0x56b949(0x14c),_0x56b949(0x182),_0x56b949(0xcf),_0x332f8b(0xa2),_0x332f8b(0xf2),_0x56b949(0x1b3),_0x332f8b(0x6b),_0x332f8b(0x110),_0x332f8b(0x151)];return a0_0x1cc3=function(){return _0x52fdaf;},a0_0x1cc3();}function a0_0x8e03(_0xd8ae66,_0x502848){var _0x72d044=a0_0x72d0();return a0_0x8e03=function(_0x8e033,_0x428eca){_0x8e033=_0x8e033-0xdb;var _0x25a7b8=_0x72d044[_0x8e033];return _0x25a7b8;},a0_0x8e03(_0xd8ae66,_0x502848);}function a0_0x1f50(_0x113b9f,_0x50df1d){var _0x10acc3=a0_0x1174();return a0_0x1f50=function(_0x2a8e02,_0x497dad){_0x2a8e02=_0x2a8e02-0x18e;var _0x22f192=_0x10acc3[_0x2a8e02];return _0x22f192;},a0_0x1f50(_0x113b9f,_0x50df1d);}function a0_0x6246(){var _0x5a00be=a0_0x8e03,_0x244ba6=a0_0x1f50,_0x56a29f=a0_0x5c16,_0x297f84=a0_0x284e,_0x2c1973=[_0x5a00be(0xec),_0x297f84(0x124),_0x297f84(0x1fe),_0x297f84(0x12b),_0x297f84(0x1bf),_0x297f84(0x218),_0x297f84(0x112),_0x297f84(0x1f0),_0x297f84(0xec),_0x297f84(0x132),_0x297f84(0x221),_0x297f84(0x174),_0x5a00be(0x21c),_0x297f84(0x234),_0x297f84(0x232),_0x297f84(0x204),_0x297f84(0x235),_0x297f84(0x165),_0x297f84(0x1c6),_0x56a29f(0x1e9),_0x56a29f(0x168),_0x297f84(0x17a),_0x297f84(0x227),_0x297f84(0x1ac),_0x297f84(0x1f5),_0x297f84(0x180),_0x297f84(0xfc),_0x297f84(0x1e2),_0x297f84(0x1a6),_0x297f84(0x23e),_0x297f84(0x108),_0x297f84(0x15b),_0x244ba6(0x2a6),_0x297f84(0x1ee),_0x297f84(0x13f),_0x297f84(0x19c),_0x297f84(0x104),_0x56a29f(0xa4),_0x297f84(0x16f),_0x297f84(0x144),_0x297f84(0x172),_0x297f84(0x107),_0x297f84(0x159),_0x297f84(0x139),_0x297f84(0x131),_0x244ba6(0x281),_0x297f84(0x13c),_0x297f84(0x129),_0x244ba6(0x227),_0x297f84(0x225),_0x297f84(0x1b9),_0x56a29f(0xbf),_0x56a29f(0x13a),_0x297f84(0x1e3),_0x56a29f(0xac),_0x244ba6(0x27e),_0x297f84(0x10c),_0x297f84(0x217),_0x297f84(0x1dc),_0x297f84(0x196),_0x56a29f(0x147),_0x297f84(0xf9),_0x297f84(0x21c),_0x56a29f(0x16a),_0x297f84(0x23b),_0x297f84(0x1ce),_0x297f84(0x169),_0x297f84(0x1db),_0x297f84(0x185),_0x297f84(0x13a),_0x56a29f(0x1e5),_0x297f84(0x190),_0x56a29f(0x1db),_0x297f84(0x1ab),_0x297f84(0x1b6),_0x297f84(0x1fd),_0x297f84(0x137),_0x297f84(0x114),_0x297f84(0x154),_0x297f84(0x1f4),_0x297f84(0x142),_0x297f84(0x1c4),_0x297f84(0x22b),_0x297f84(0x13e),_0x297f84(0x1f3),_0x297f84(0x1bd),_0x297f84(0x1f2),_0x297f84(0xef),_0x297f84(0x1ff),_0x244ba6(0x2c3),_0x297f84(0x237),_0x297f84(0x121),_0x297f84(0x1eb),_0x297f84(0x1c3),_0x297f84(0x136),_0x297f84(0x1a3),_0x297f84(0x11a),_0x297f84(0x17b),_0x297f84(0x239),_0x297f84(0x166),_0x297f84(0x1cb),_0x297f84(0x1e5),_0x56a29f(0x187),_0x297f84(0x100),_0x297f84(0x20c),_0x297f84(0x123),_0x56a29f(0xce),_0x297f84(0xf4),_0x244ba6(0x2b4),_0x297f84(0x135),_0x297f84(0x201),_0x297f84(0x211),_0x56a29f(0x11d),_0x56a29f(0x16d),_0x297f84(0x23a),_0x297f84(0x145),_0x297f84(0x1c5),_0x297f84(0x1a0),_0x297f84(0x1cc),_0x297f84(0x1a9),_0x297f84(0x11d),_0x297f84(0x111),_0x56a29f(0x19b),_0x297f84(0x197),_0x297f84(0x15a),_0x56a29f(0x10e),_0x244ba6(0x2e6),_0x297f84(0x133),_0x297f84(0x1d1),_0x297f84(0x219),_0x297f84(0x1f7),_0x297f84(0x192),_0x297f84(0x19f),_0x56a29f(0xa3),_0x297f84(0x14e),_0x297f84(0x11f),_0x297f84(0x1e1),_0x297f84(0x16d),_0x56a29f(0x140),_0x297f84(0x101),_0x297f84(0x182),_0x297f84(0x1dd),_0x297f84(0x1bb),_0x244ba6(0x25d),_0x297f84(0x1b8),_0x297f84(0x11c),_0x297f84(0x128),_0x297f84(0x1a5),_0x297f84(0x200),_0x297f84(0x229),_0x297f84(0x21f),_0x297f84(0x155),_0x244ba6(0x276),_0x297f84(0x230),_0x56a29f(0x1b5),_0x56a29f(0xde),_0x297f84(0x143),_0x56a29f(0x1aa),_0x297f84(0x162),_0x297f84(0x1c9),_0x297f84(0x161),_0x56a29f(0x18e),_0x56a29f(0x1ec),_0x297f84(0x21b),_0x297f84(0x1d7),_0x56a29f(0xe3),_0x297f84(0x12f),_0x297f84(0x1de),_0x297f84(0xf0),_0x297f84(0x23d),_0x297f84(0x150),_0x297f84(0x20b),_0x5a00be(0x1fc),_0x297f84(0x120),_0x56a29f(0xc6),_0x56a29f(0x185),_0x297f84(0x208),_0x56a29f(0xed),_0x297f84(0xe9),_0x297f84(0x1f1),_0x297f84(0x214),_0x5a00be(0x18c),_0x297f84(0xe3),_0x297f84(0x164),_0x56a29f(0x11b),_0x297f84(0x118),_0x297f84(0x10a),_0x297f84(0x115),_0x297f84(0x21d),_0x297f84(0x223),_0x297f84(0x170),_0x297f84(0x146),_0x56a29f(0x165),_0x297f84(0x186),_0x297f84(0xe6),_0x297f84(0x105),_0x56a29f(0x182),_0x244ba6(0x1e2),_0x56a29f(0x139),_0x297f84(0x158),_0x297f84(0xe7),_0x297f84(0x22c),_0x297f84(0x191),_0x56a29f(0x131),_0x297f84(0xde),_0x297f84(0xed),_0x297f84(0x209),_0x56a29f(0xa8),_0x56a29f(0x162),_0x297f84(0x224),_0x297f84(0x10e),_0x297f84(0x126),_0x244ba6(0x22a),_0x297f84(0xeb),_0x297f84(0x226),_0x297f84(0x1d9),_0x297f84(0x14b),_0x56a29f(0x1a9),_0x297f84(0x116),_0x297f84(0xfe),_0x297f84(0x22d),_0x56a29f(0xfc),_0x244ba6(0x20d),_0x297f84(0xf3),_0x297f84(0x1ae),_0x297f84(0x117),_0x297f84(0x141),_0x297f84(0xe8),_0x5a00be(0xed),_0x56a29f(0x13d),_0x297f84(0x10f),_0x56a29f(0x180),_0x297f84(0x15c),_0x297f84(0x1b2),_0x297f84(0x18d),_0x297f84(0x181),_0x297f84(0x179),_0x56a29f(0xee),_0x297f84(0x1c0),_0x297f84(0x212),_0x297f84(0x1e0),_0x56a29f(0x1eb),_0x297f84(0xf8),_0x56a29f(0x148),_0x297f84(0x1ca),_0x297f84(0x110),_0x297f84(0x1e9),_0x297f84(0xe2),_0x297f84(0x140),_0x297f84(0x1a8),_0x297f84(0x20f),_0x297f84(0x184),_0x56a29f(0x129),_0x56a29f(0x1b6),_0x56a29f(0x12d),_0x56a29f(0x1d0),_0x297f84(0x1b1),_0x297f84(0x176),_0x297f84(0x195),_0x297f84(0x189),_0x297f84(0x138),_0x297f84(0x102),_0x297f84(0x10d),_0x297f84(0xea),_0x297f84(0x147),_0x297f84(0x15f),_0x297f84(0x1b5),_0x297f84(0x23c),_0x56a29f(0x108),_0x244ba6(0x1a1),_0x5a00be(0x251),_0x297f84(0x1ec),_0x56a29f(0xbd),_0x297f84(0x18e),_0x297f84(0x1ef),_0x297f84(0xfd),_0x297f84(0x1c1),_0x56a29f(0x106),_0x56a29f(0xe2),_0x297f84(0x18f),_0x297f84(0x14d),_0x297f84(0x1da),_0x56a29f(0x1dd),_0x297f84(0x12c),_0x297f84(0x17d),_0x297f84(0x1ed),_0x297f84(0x207),_0x297f84(0x18a),_0x297f84(0x1af),_0x297f84(0xdf),_0x56a29f(0xca),_0x297f84(0xee),_0x297f84(0x199),_0x56a29f(0x102),_0x56a29f(0xe9),_0x56a29f(0xaa),_0x56a29f(0x163),_0x297f84(0x1b7),_0x297f84(0x183),_0x297f84(0x11e),_0x297f84(0x178),_0x297f84(0x194),_0x244ba6(0x29b),_0x56a29f(0xe8),_0x297f84(0x171),_0x297f84(0xf6),_0x56a29f(0xae),_0x297f84(0x1e8),_0x297f84(0x22a),'1662vrWvto',_0x297f84(0x1fc),_0x297f84(0x193),_0x56a29f(0x186),_0x297f84(0x15e),_0x297f84(0x228),_0x297f84(0x148),_0x297f84(0x1d5),_0x297f84(0xfa),_0x297f84(0x22e),_0x244ba6(0x2bd),_0x297f84(0x1df),_0x297f84(0x18c),_0x297f84(0x1d6),_0x297f84(0x16a),_0x297f84(0xf2),_0x297f84(0x1cd),_0x297f84(0xf7),_0x297f84(0x17e),_0x297f84(0x151),_0x56a29f(0x169),_0x297f84(0x149),_0x297f84(0x222),_0x297f84(0x13b),_0x297f84(0x1f9),_0x297f84(0x1a1),_0x297f84(0x1fa),_0x56a29f(0x1ca),_0x297f84(0x216),_0x297f84(0xfb),_0x297f84(0x1f8)];return a0_0x6246=function(){return _0x2c1973;},a0_0x6246();}function a0_0x1174(){var _0x2d78fa=a0_0x8e03,_0x50e830=[_0x2d78fa(0x21f),'2170560pCnllA',_0x2d78fa(0x24f),_0x2d78fa(0x1f0),'1872hidRqo',_0x2d78fa(0x17a),_0x2d78fa(0x1cb),_0x2d78fa(0x206),'unbind',_0x2d78fa(0x13a),_0x2d78fa(0x1e2),_0x2d78fa(0x13d),'11Pjywlm','scrollbarX','wheelDeltaY',_0x2d78fa(0x1eb),_0x2d78fa(0x12c),'623802kryvMN',_0x2d78fa(0x250),_0x2d78fa(0x20d),_0x2d78fa(0x211),_0x2d78fa(0x21a),_0x2d78fa(0x18b),_0x2d78fa(0x15f),'4599072zGvSxM',_0x2d78fa(0x13f),_0x2d78fa(0x1e9),_0x2d78fa(0x1bf),_0x2d78fa(0x11b),_0x2d78fa(0x21e),_0x2d78fa(0x155),_0x2d78fa(0x24c),_0x2d78fa(0x11c),_0x2d78fa(0x1ff),_0x2d78fa(0x10c),_0x2d78fa(0x249),'6kpVmqJ','isScrollbarXUsingBottom',_0x2d78fa(0x143),_0x2d78fa(0x194),_0x2d78fa(0x15d),_0x2d78fa(0x1d9),_0x2d78fa(0x152),_0x2d78fa(0x208),_0x2d78fa(0x1fb),_0x2d78fa(0x225),_0x2d78fa(0x220),'split',_0x2d78fa(0x14f),_0x2d78fa(0x1de),_0x2d78fa(0x237),_0x2d78fa(0x230),_0x2d78fa(0xdf),_0x2d78fa(0x1a6),_0x2d78fa(0x146),_0x2d78fa(0x1e5),_0x2d78fa(0x172),'484020qPFpUI',_0x2d78fa(0xe0),'20302AWffsO',_0x2d78fa(0x1f2),_0x2d78fa(0xfa),_0x2d78fa(0x248),_0x2d78fa(0x1e0),_0x2d78fa(0x1f7),'containerWidth',_0x2d78fa(0x19f),_0x2d78fa(0x126),_0x2d78fa(0xf0),'2779677gzZazK',_0x2d78fa(0x11f),_0x2d78fa(0x133),'PerfectScrollbar',_0x2d78fa(0xdb),_0x2d78fa(0x1b3),_0x2d78fa(0xfb),_0x2d78fa(0xe6),_0x2d78fa(0x1ce),'clicking','filter','224373iLqrgT',_0x2d78fa(0x215),_0x2d78fa(0x153),_0x2d78fa(0x221),'27095tNkwtG','2314134SQrLxm',_0x2d78fa(0x138),_0x2d78fa(0x1cd),'borderBottomWidth','ownerDocument',_0x2d78fa(0x1d4),_0x2d78fa(0x10d),_0x2d78fa(0x105),_0x2d78fa(0x1b9),_0x2d78fa(0x134),_0x2d78fa(0x1fa),'906BsmMqA','appendChild',_0x2d78fa(0xf5),_0x2d78fa(0x23d),'2ctrFWJ',_0x2d78fa(0x1c1),'3SiftLF',_0x2d78fa(0x233),_0x2d78fa(0x187),_0x2d78fa(0x1ee),'scrollY','56HWDqOH',_0x2d78fa(0x11e),_0x2d78fa(0x160),_0x2d78fa(0x203),_0x2d78fa(0xe9),_0x2d78fa(0x16d),_0x2d78fa(0x101),_0x2d78fa(0x22c),_0x2d78fa(0xfd),_0x2d78fa(0x200),_0x2d78fa(0x207),_0x2d78fa(0x188),_0x2d78fa(0x19d),_0x2d78fa(0x125),'scrollbarYRail',_0x2d78fa(0x1d6),_0x2d78fa(0xdc),'1229130svRqve','2040770vvpcAY','pageY','458735iOWXlB','7697800VxEytk',_0x2d78fa(0x198),_0x2d78fa(0x19e),_0x2d78fa(0x19c),_0x2d78fa(0x15c),_0x2d78fa(0x219),'MSPointerDown','21fKOLEF','1570128BTQpDf',_0x2d78fa(0x242),_0x2d78fa(0x228),_0x2d78fa(0x1df),_0x2d78fa(0x1fe),_0x2d78fa(0x245),_0x2d78fa(0x1db),_0x2d78fa(0x127),_0x2d78fa(0x145),_0x2d78fa(0x239),'12lgeyzs',_0x2d78fa(0x176),_0x2d78fa(0x13b),'string','17245rnIRlX',_0x2d78fa(0x157),'9pDzIIb','21108970oLNkdU',_0x2d78fa(0xfe),_0x2d78fa(0x107),_0x2d78fa(0xf4),_0x2d78fa(0x1d5),_0x2d78fa(0x22a),_0x2d78fa(0x115),_0x2d78fa(0x18a),_0x2d78fa(0x136),_0x2d78fa(0x14d),_0x2d78fa(0x1cf),_0x2d78fa(0x235),_0x2d78fa(0x109),_0x2d78fa(0x1da),_0x2d78fa(0x24b),_0x2d78fa(0xde),_0x2d78fa(0x1e7),'scrollbarXBottom',_0x2d78fa(0x234),'1sxpBEC',_0x2d78fa(0xf6),_0x2d78fa(0x1b8),_0x2d78fa(0x14c),_0x2d78fa(0x23e),_0x2d78fa(0x240),'419321Rfkngn',_0x2d78fa(0xfc),_0x2d78fa(0x17d),_0x2d78fa(0x13c),_0x2d78fa(0xe8),_0x2d78fa(0x1b1),_0x2d78fa(0xe3),_0x2d78fa(0x17b),_0x2d78fa(0x179),_0x2d78fa(0x197),'13170gBzXnx',_0x2d78fa(0x1bd),_0x2d78fa(0x1d3),_0x2d78fa(0x16a),_0x2d78fa(0x13e),_0x2d78fa(0x1ad),_0x2d78fa(0x22f),'22XLBmcn','658952jKwENc','8680959bYJUgB',_0x2d78fa(0x1f4),'36209930mCjwqW','ps__rail-',_0x2d78fa(0x20a),_0x2d78fa(0x216),_0x2d78fa(0x11d),_0x2d78fa(0x213),'once',_0x2d78fa(0x243),_0x2d78fa(0x12d),_0x2d78fa(0x10f),_0x2d78fa(0x24a),'ps--scrolling-',_0x2d78fa(0x226),_0x2d78fa(0x15a),_0x2d78fa(0x19a),'8ACTPiD',_0x2d78fa(0x1c9),_0x2d78fa(0x106),'start',_0x2d78fa(0x10b),_0x2d78fa(0x202),_0x2d78fa(0x22d),_0x2d78fa(0x14a),_0x2d78fa(0x246),'1sCAEYR',_0x2d78fa(0x120),_0x2d78fa(0x10a),'bind',_0x2d78fa(0x17f),_0x2d78fa(0xe7),'603984imCcjU','14312bsvFIg',_0x2d78fa(0x108),_0x2d78fa(0x1d0),_0x2d78fa(0x128),_0x2d78fa(0x23b),_0x2d78fa(0x12b),_0x2d78fa(0xea),_0x2d78fa(0x189),_0x2d78fa(0x156),'ctrlKey',_0x2d78fa(0x21d),_0x2d78fa(0x177),_0x2d78fa(0xe1),_0x2d78fa(0x227),'10XDmPUR',_0x2d78fa(0x1b0),'paddingLeft',_0x2d78fa(0x20e),'503768AKbOZb',_0x2d78fa(0x1ed),_0x2d78fa(0x163),'scroll',_0x2d78fa(0x21b),_0x2d78fa(0x175),_0x2d78fa(0x1b2),_0x2d78fa(0x12a),_0x2d78fa(0x18e),_0x2d78fa(0xeb),_0x2d78fa(0x20f),_0x2d78fa(0x102),'scrollingThreshold',_0x2d78fa(0x1f1),'348BoSIMJ','drag-thumb',_0x2d78fa(0xee),_0x2d78fa(0x123),_0x2d78fa(0x182),_0x2d78fa(0x196),'2748096CQCJNu','70hecogF','preventDefault','762776djOOnb',_0x2d78fa(0x1c4),_0x2d78fa(0x1ac),_0x2d78fa(0x1ec),_0x2d78fa(0x218),_0x2d78fa(0x229),'456122dnhfHK',_0x2d78fa(0xe5),_0x2d78fa(0x142),'no\x20element\x20is\x20specified\x20to\x20initialize\x20PerfectScrollbar',_0x2d78fa(0x1ea),_0x2d78fa(0x1a3),_0x2d78fa(0x1d2),_0x2d78fa(0x151),'unbindAll',_0x2d78fa(0x20c),_0x2d78fa(0x19b),_0x2d78fa(0x112),_0x2d78fa(0x150),'675pDXzkj','ps__child--consume',_0x2d78fa(0x132),_0x2d78fa(0x16e),_0x2d78fa(0x1a5),'railBorderYWidth',_0x2d78fa(0xdd),'style',_0x2d78fa(0x212),_0x2d78fa(0x162),'touchmove',_0x2d78fa(0x12e),_0x2d78fa(0x147),_0x2d78fa(0x23c),_0x2d78fa(0x24e),_0x2d78fa(0x10e),'bottom',_0x2d78fa(0x174),_0x2d78fa(0x103),_0x2d78fa(0x1e1),_0x2d78fa(0x238),'61BfRJMh',_0x2d78fa(0x158),_0x2d78fa(0x193),_0x2d78fa(0x1b5),'WebkitAppearance',_0x2d78fa(0x1ba),_0x2d78fa(0x1a8),_0x2d78fa(0x1d7),_0x2d78fa(0xf2),_0x2d78fa(0x1e8),_0x2d78fa(0x20b),_0x2d78fa(0x168),_0x2d78fa(0x148),_0x2d78fa(0x214),_0x2d78fa(0x161),_0x2d78fa(0x130),_0x2d78fa(0x1fd),_0x2d78fa(0x149),_0x2d78fa(0x122),_0x2d78fa(0x119),'keys','railYMarginHeight','4996ufuirz',_0x2d78fa(0xff),'tabindex',_0x2d78fa(0x116),_0x2d78fa(0x1be),_0x2d78fa(0x139),_0x2d78fa(0x1d8),_0x2d78fa(0x23f),_0x2d78fa(0x195),_0x2d78fa(0x1a9),_0x2d78fa(0xf3),_0x2d78fa(0x192),_0x2d78fa(0x199),_0x2d78fa(0x171),'19345420YARvPG','9lzOycK',_0x2d78fa(0xf1),_0x2d78fa(0x141),_0x2d78fa(0x1ab),_0x2d78fa(0xe2),'suppressScrollX',_0x2d78fa(0x1ca),_0x2d78fa(0x1ae),_0x2d78fa(0x1f6),_0x2d78fa(0x1cc),_0x2d78fa(0x210),_0x2d78fa(0x1c5),_0x2d78fa(0x124),_0x2d78fa(0x15e),_0x2d78fa(0x1bc),_0x2d78fa(0x1f3),_0x2d78fa(0x184),_0x2d78fa(0x1f8),'supportsIePointer','36630240chfZon',_0x2d78fa(0x1ef),'20eUgFZW'];return a0_0x1174=function(){return _0x50e830;},a0_0x1174();}function a0_0x58e4(){var _0x438bed=a0_0x32fc,_0x3798ac=a0_0x8457,_0xcf993f=a0_0x3ebb,_0x56f28d=a0_0x58d6,_0x48be9b=a0_0x46c3,_0x134778=[_0x48be9b(0x1e0),_0x48be9b(0x22c),_0x48be9b(0x1ea),_0x48be9b(0x1bc),_0x48be9b(0x23c),_0x48be9b(0x1bf),_0x48be9b(0x1cb),_0x48be9b(0x1d4),_0x48be9b(0x218),_0x48be9b(0x20d),_0x48be9b(0x19f),_0x48be9b(0x274),_0x48be9b(0x23d),_0x48be9b(0x1d2),_0x48be9b(0x1cc),_0x48be9b(0x240),_0x48be9b(0x1ca),_0xcf993f(0x1a8),_0x48be9b(0x252),_0x48be9b(0x23b),_0x48be9b(0x1f2),_0x56f28d(0x1ac),_0x48be9b(0x26c),_0x56f28d(0x1ec),_0x48be9b(0x217),_0xcf993f(0x1dd),_0x48be9b(0x202),_0x48be9b(0x1c6),_0x48be9b(0x21e),_0x48be9b(0x195),_0x48be9b(0x186),_0x48be9b(0x1a8),_0x3798ac(0x1f9),_0x48be9b(0x22b),_0x48be9b(0x1e2),_0x48be9b(0x227),_0x48be9b(0x199),_0x48be9b(0x1ef),_0x48be9b(0x230),_0x48be9b(0x256),_0x56f28d(0x1ff),_0x48be9b(0x1c7),_0x48be9b(0x208),_0x48be9b(0x1f0),_0x56f28d(0x203),_0x48be9b(0x1a7),_0x56f28d(0x199),_0x56f28d(0x1a3),_0x56f28d(0x209),_0x48be9b(0x205),_0x48be9b(0x1c3),_0x48be9b(0x21d),_0x48be9b(0x198),_0x48be9b(0x251),_0x438bed(0x278),_0x48be9b(0x19a),_0x48be9b(0x22d),_0x48be9b(0x200),_0x48be9b(0x212),_0x48be9b(0x1e9),_0x48be9b(0x1f4),_0x48be9b(0x1c1),_0x48be9b(0x258),_0x48be9b(0x1f7),_0x48be9b(0x24f),_0x48be9b(0x247),_0x56f28d(0x1ba),_0x48be9b(0x244),_0x48be9b(0x1f9),_0x48be9b(0x1d8),_0x48be9b(0x210),_0x56f28d(0x1f3),_0x56f28d(0x217),_0x56f28d(0x1d6),_0x56f28d(0x14a),_0x48be9b(0x1e8),_0x48be9b(0x1ce),_0x48be9b(0x269),_0x48be9b(0x272),_0x56f28d(0x1c9),_0x48be9b(0x249),_0x48be9b(0x1d5),_0x48be9b(0x1a1),_0x48be9b(0x201),_0x48be9b(0x263),_0x48be9b(0x253),_0x48be9b(0x19c),_0x48be9b(0x245),_0x56f28d(0x1dd),_0x48be9b(0x187),_0x3798ac(0x285),_0x48be9b(0x26b),_0x48be9b(0x24d),_0x48be9b(0x222),_0x48be9b(0x1d1),_0x48be9b(0x221),_0x48be9b(0x233),_0x48be9b(0x1dc),_0x48be9b(0x231),_0x48be9b(0x1a6),_0x48be9b(0x1c5),_0x48be9b(0x21b),_0x48be9b(0x1d9),_0xcf993f(0x161),_0x48be9b(0x27b),_0xcf993f(0x118),_0x48be9b(0x25e),_0x3798ac(0x222),_0x48be9b(0x214),_0x56f28d(0x15f),_0x48be9b(0x209),_0x48be9b(0x225),_0x48be9b(0x19e),_0xcf993f(0x10c),_0x48be9b(0x1c2),_0x48be9b(0x189),_0xcf993f(0x14c),_0x48be9b(0x1fc),_0x48be9b(0x192),_0x48be9b(0x1b8),_0x56f28d(0x19f),_0x48be9b(0x246),_0x48be9b(0x1ee),_0x48be9b(0x1e5),_0x48be9b(0x194),_0x48be9b(0x1e1),_0x48be9b(0x18b),_0x48be9b(0x264),_0x48be9b(0x255),_0x48be9b(0x241),_0x48be9b(0x276),_0x48be9b(0x1e3),_0x48be9b(0x275),_0x56f28d(0x1c0),_0x56f28d(0x14e),_0x56f28d(0x17c),_0x48be9b(0x1f3),_0x56f28d(0x1fb),_0x48be9b(0x1f5),_0x56f28d(0x1f1),_0x56f28d(0x1ae),_0x48be9b(0x228),_0x48be9b(0x1a9),_0x48be9b(0x25d),_0x56f28d(0x208),_0x48be9b(0x188),_0x48be9b(0x268),_0x56f28d(0x1a0),_0x56f28d(0x224),_0x48be9b(0x219),_0x48be9b(0x1c4),_0x56f28d(0x1de),_0x56f28d(0x156),_0x48be9b(0x250),_0x48be9b(0x21a),_0x48be9b(0x1ba),_0x48be9b(0x213),_0x48be9b(0x1ec),_0x48be9b(0x223),_0x56f28d(0x1e2),_0x48be9b(0x23e),_0x48be9b(0x267),_0x48be9b(0x204),_0x48be9b(0x21f),_0x48be9b(0x238),_0x48be9b(0x234),_0x48be9b(0x1fd),_0x56f28d(0x1ad),_0x48be9b(0x243),_0x48be9b(0x273),_0x48be9b(0x265),_0x48be9b(0x25c),_0x48be9b(0x18f),_0x48be9b(0x193),_0x48be9b(0x23a),_0xcf993f(0x115),_0x48be9b(0x1f8),_0x48be9b(0x1d6),_0x48be9b(0x22f),_0x48be9b(0x18d),_0x48be9b(0x235),_0x48be9b(0x1c9),_0x56f28d(0x1d4),_0x48be9b(0x19b),_0x48be9b(0x196),_0x56f28d(0x1a6),_0x48be9b(0x1f6),_0x56f28d(0x1e9),_0x48be9b(0x226),_0x48be9b(0x1f1),_0x48be9b(0x1b0),_0x48be9b(0x1bd),_0x48be9b(0x216),_0x48be9b(0x215),_0x48be9b(0x254),_0xcf993f(0x13e),_0x48be9b(0x19d),_0x48be9b(0x1b5),_0x48be9b(0x224),_0x48be9b(0x1ae),_0x48be9b(0x271),_0x48be9b(0x25b),_0x56f28d(0x212),_0x56f28d(0x17d),_0x48be9b(0x277),_0x48be9b(0x26e),_0x48be9b(0x1c8),_0x48be9b(0x1b6),_0x48be9b(0x220),_0x48be9b(0x1db),_0x48be9b(0x23f),_0x48be9b(0x1fb),_0x48be9b(0x1b9),_0x48be9b(0x18c),_0x48be9b(0x1b7),_0x48be9b(0x1cd),_0x48be9b(0x20f),_0x48be9b(0x1ff),_0x48be9b(0x1e6),_0x56f28d(0x166),_0x48be9b(0x26a),_0x3798ac(0x19f),_0x56f28d(0x193),_0x48be9b(0x1cf),_0x48be9b(0x22e),_0x48be9b(0x1a4),_0x56f28d(0x1b4),_0x56f28d(0x15b),_0x48be9b(0x266),_0x48be9b(0x279),_0x48be9b(0x1de),_0x56f28d(0x144),_0x48be9b(0x1aa),_0x48be9b(0x20b),_0x56f28d(0x1c5),_0x48be9b(0x27c),_0x48be9b(0x1c0),_0x48be9b(0x25a),_0x48be9b(0x237)];return a0_0x58e4=function(){return _0x134778;},a0_0x58e4();}(function(_0x378ebe,_0x2fd560){var _0x26a3f8=a0_0xb9fb,_0x2bce51=a0_0x107a,_0x52dd96=_0x378ebe();while(!![]){try{var _0x2daed3=parseInt(_0x2bce51(0x117))/0x1*(parseInt(_0x2bce51(0x11c))/0x2)+-parseInt(_0x2bce51(0x128))/0x3*(-parseInt(_0x2bce51(0x135))/0x4)+parseInt(_0x2bce51(0x143))/0x5*(-parseInt(_0x2bce51(0x19b))/0x6)+parseInt(_0x2bce51(0x103))/0x7*(parseInt(_0x2bce51(0x165))/0x8)+-parseInt(_0x2bce51(0x113))/0x9*(-parseInt(_0x2bce51(0x132))/0xa)+-parseInt(_0x2bce51(0x106))/0xb+parseInt(_0x2bce51(0x17a))/0xc*(parseInt(_0x2bce51(0x115))/0xd);if(_0x2daed3===_0x2fd560)break;else _0x52dd96[_0x26a3f8(0x138)](_0x52dd96[_0x26a3f8(0x19f)]());}catch(_0x40d86f){_0x52dd96[_0x26a3f8(0x138)](_0x52dd96[_0x26a3f8(0x19f)]());}}}(a0_0x1cc3,0xb5773),function(_0x1f0b37,_0x1b65d3){var _0x5acb32=a0_0x107a,_0x42d385=a0_0x491c,_0x165cab=_0x1f0b37();while(!![]){try{var _0x4fe9ed=-parseInt(_0x42d385(0x1a6))/0x1*(parseInt(_0x42d385(0x169))/0x2)+parseInt(_0x42d385(0x15a))/0x3*(parseInt(_0x42d385(0x115))/0x4)+parseInt(_0x42d385(0x17a))/0x5*(-parseInt(_0x42d385(0x1dc))/0x6)+parseInt(_0x42d385(0x162))/0x7*(-parseInt(_0x42d385(0x1e6))/0x8)+parseInt(_0x42d385(0x191))/0x9+-parseInt(_0x42d385(0x1e2))/0xa+-parseInt(_0x42d385(0x1d6))/0xb*(-parseInt(_0x42d385(0x110))/0xc);if(_0x4fe9ed===_0x1b65d3)break;else _0x165cab[_0x5acb32(0xf0)](_0x165cab[_0x5acb32(0x168)]());}catch(_0x57e3b6){_0x165cab[_0x5acb32(0xf0)](_0x165cab[_0x5acb32(0x168)]());}}}(a0_0x1f6c,0xf0648));function a0_0x3ebb(_0x519d3b,_0x58d61a){var _0x530382=a0_0x612c();return a0_0x3ebb=function(_0x419a27,_0xa9d130){_0x419a27=_0x419a27-0xff;var _0x3de175=_0x530382[_0x419a27];return _0x3de175;},a0_0x3ebb(_0x519d3b,_0x58d61a);}function a0_0x16bb(_0x20e24e,_0x55ff83){var _0x304bd0=a0_0x5451();return a0_0x16bb=function(_0x400176,_0x5eda56){_0x400176=_0x400176-0xc8;var _0x27ce28=_0x304bd0[_0x400176];return _0x27ce28;},a0_0x16bb(_0x20e24e,_0x55ff83);}function a0_0x3247(){var _0x2aa8ed=a0_0x5c16,_0x70015e=a0_0x284e,_0x2afe68=a0_0x2f85,_0x406a9b=a0_0x413e,_0x568777=a0_0x543f,_0x29c597=[_0x568777(0x16a),_0x568777(0x190),_0x568777(0x131),_0x406a9b(0xd3),_0x568777(0x138),_0x568777(0x1bc),_0x568777(0x1bb),_0x568777(0x12a),_0x568777(0xe7),_0x568777(0x127),_0x568777(0x1a1),_0x568777(0x12f),_0x406a9b(0x1e4),_0x568777(0x185),_0x406a9b(0xd7),_0x568777(0x1bd),_0x568777(0x20a),_0x70015e(0x175),_0x406a9b(0x207),_0x568777(0x126),_0x406a9b(0x17f),_0x568777(0x189),_0x568777(0x13a),_0x568777(0x175),_0x568777(0x10b),_0x568777(0x200),_0x2afe68(0x147),_0x568777(0x1cd),_0x568777(0x142),_0x2afe68(0x1e6),_0x568777(0x160),_0x406a9b(0x1fd),_0x568777(0xee),_0x568777(0xf6),_0x406a9b(0x19f),_0x568777(0x134),_0x568777(0x13e),_0x568777(0x1f2),_0x568777(0x1aa),_0x568777(0x1a3),_0x568777(0x1c2),_0x406a9b(0xe7),_0x2afe68(0x17d),_0x406a9b(0x164),_0x568777(0x1ba),_0x568777(0x20f),_0x568777(0x13c),_0x568777(0xfa),_0x568777(0x121),_0x568777(0x110),_0x568777(0x105),_0x568777(0x154),_0x2afe68(0xd8),_0x568777(0x18f),_0x568777(0x197),_0x568777(0x1e0),_0x568777(0x11f),_0x568777(0x178),_0x406a9b(0x133),_0x568777(0x1c8),_0x568777(0x10a),_0x568777(0x12b),_0x568777(0x168),_0x568777(0xe5),_0x406a9b(0x1b1),_0x568777(0x15e),_0x568777(0x146),_0x406a9b(0x180),_0x406a9b(0x104),_0x568777(0x166),_0x70015e(0x153),_0x406a9b(0x1c2),_0x406a9b(0x113),_0x406a9b(0x185),_0x568777(0x1b3),_0x568777(0x10e),_0x406a9b(0x155),_0x568777(0x1f9),_0x568777(0x1f6),_0x406a9b(0x143),_0x568777(0x19e),_0x568777(0xf8),_0x568777(0xe6),_0x568777(0xf5),_0x568777(0x156),_0x568777(0x116),_0x568777(0x106),_0x568777(0x19d),_0x568777(0x10d),_0x568777(0x1ae),_0x406a9b(0xdb),_0x406a9b(0x18e),_0x568777(0xfc),_0x568777(0x1d2),_0x2afe68(0x1da),_0x568777(0x1e3),_0x568777(0x130),_0x568777(0x1fd),_0x568777(0x1ce),_0x568777(0x17c),_0x406a9b(0xef),_0x568777(0x214),_0x568777(0xfe),_0x406a9b(0x1fe),_0x568777(0xe3),_0x568777(0x14c),_0x568777(0xec),_0x406a9b(0x1c9),_0x568777(0x1b5),_0x568777(0x11c),_0x568777(0xdb),_0x568777(0x198),_0x568777(0x133),_0x568777(0x21b),_0x568777(0x161),_0x406a9b(0xcd),_0x568777(0x103),_0x568777(0x1c0),_0x568777(0x1ad),_0x568777(0x1eb),_0x568777(0x1ab),_0x406a9b(0x156),_0x2afe68(0xfd),_0x406a9b(0x120),_0x406a9b(0x11b),_0x70015e(0x168),_0x406a9b(0x149),_0x568777(0xf1),_0x568777(0x1a6),_0x568777(0x1c9),_0x568777(0x218),_0x568777(0x1f5),_0x568777(0x18b),_0x568777(0x113),_0x568777(0x181),_0x406a9b(0x205),_0x406a9b(0x173),_0x406a9b(0x208),_0x568777(0x191),_0x568777(0x1f7),_0x406a9b(0x1af),_0x568777(0xf7),_0x568777(0xf0),_0x568777(0x208),_0x568777(0x1e9),_0x568777(0x173),_0x2aa8ed(0x1b8),_0x568777(0x141),_0x568777(0x192),_0x406a9b(0x16e),_0x568777(0x201),_0x568777(0x1b4),_0x568777(0x204),_0x568777(0x20b),_0x2afe68(0x1c5),_0x568777(0x1d8),_0x568777(0x1ed),_0x2aa8ed(0x15e),_0x406a9b(0x1ad),_0x568777(0x180),_0x568777(0x1a2),_0x568777(0x171),_0x568777(0x1ca),_0x406a9b(0x1e1),_0x568777(0x217),_0x568777(0x211),_0x568777(0x115),_0x568777(0x149),_0x406a9b(0xe1),_0x2afe68(0x152),_0x406a9b(0x1e6),_0x568777(0x1de),_0x568777(0x21c),_0x406a9b(0xdd),_0x568777(0x19f),_0x568777(0x145),_0x406a9b(0xf8),_0x568777(0x1e2),_0x568777(0x194),_0x568777(0x176),_0x568777(0x1e5),_0x406a9b(0x1d2),_0x406a9b(0x1f6),_0x568777(0x12d),_0x568777(0x1ee),_0x406a9b(0x12b),_0x568777(0xfd),_0x70015e(0x127),_0x406a9b(0x1ee),_0x568777(0x1be),_0x70015e(0xe0),_0x568777(0x1d0),_0x568777(0x15d),_0x568777(0x152),_0x2afe68(0x1cf),_0x568777(0x1e7),_0x2afe68(0x13d),_0x568777(0x1d9),_0x568777(0x16c),_0x568777(0x150),_0x568777(0x205),_0x568777(0x1e1),_0x568777(0x216),_0x568777(0x19a),_0x568777(0x1ec),_0x568777(0x157),_0x568777(0x148),_0x568777(0x170),_0x568777(0x1a8),_0x568777(0x151),_0x568777(0x212),_0x406a9b(0x14b),_0x568777(0x179),_0x568777(0x1dd),_0x568777(0x10c),_0x568777(0xf2),_0x568777(0x210),_0x568777(0x172),_0x568777(0x1c3),_0x568777(0x18e),_0x568777(0x1b1),_0x568777(0x14a),_0x568777(0x1fb),_0x568777(0x11a),_0x406a9b(0x181),_0x568777(0x119),_0x406a9b(0x1d0),_0x568777(0xeb),_0x568777(0x1d3),_0x568777(0x12e),_0x568777(0x1b6),_0x568777(0x112),_0x568777(0x167),_0x2afe68(0xa6),_0x406a9b(0x11e),_0x406a9b(0x124),_0x568777(0x1c4),_0x406a9b(0x184),_0x568777(0x12c),_0x568777(0x1b2),_0x406a9b(0x11f),_0x568777(0x1e4),_0x406a9b(0x1fb),_0x568777(0x1d7),_0x568777(0x13d),_0x406a9b(0x135),_0x568777(0x122),_0x568777(0x125),_0x406a9b(0x1b2),_0x568777(0x21a),_0x568777(0x13b),_0x2afe68(0x187),_0x406a9b(0x140),_0x568777(0x20d),_0x568777(0x143),_0x406a9b(0x198),_0x568777(0x16b),_0x568777(0x17b),_0x568777(0x165),_0x568777(0x19b),_0x406a9b(0xf2),_0x568777(0x188),_0x568777(0x196),_0x568777(0x219),_0x568777(0x186),_0x406a9b(0x14e),_0x568777(0x1f4),_0x568777(0x14d),_0x568777(0x163),_0x568777(0x1c1),_0x406a9b(0x1f8),_0x568777(0x1db),_0x568777(0x16d),_0x568777(0x1ac),_0x568777(0x124),_0x568777(0x1af),_0x568777(0x14f),_0x568777(0x209),_0x2afe68(0xd4),_0x406a9b(0x15d),_0x568777(0xf4),_0x568777(0x1d4),_0x568777(0x203),_0x568777(0xfb),_0x406a9b(0x1b6),_0x568777(0x1ef),_0x568777(0x18a),_0x406a9b(0xea),_0x406a9b(0x175),_0x568777(0xe2),_0x568777(0x1bf),_0x568777(0x1a5),_0x568777(0x202),_0x568777(0x17a),_0x568777(0x1a4),_0x568777(0x101),_0x568777(0x11e),_0x568777(0x1f3),_0x568777(0x1b8),_0x568777(0xde),_0x568777(0x207),_0x406a9b(0x1bd),_0x568777(0xdf),_0x406a9b(0x145),_0x568777(0x153),_0x568777(0x20c),_0x568777(0x1fa),_0x568777(0x16f),_0x406a9b(0x17a),_0x568777(0x10f),_0x568777(0x144),_0x568777(0x128),_0x568777(0x215),_0x406a9b(0x1b5),_0x568777(0x137),_0x568777(0x11b),_0x568777(0x1d6),_0x2afe68(0x151),_0x568777(0x187),_0x568777(0x1f0),_0x406a9b(0x1ed),_0x568777(0x1c7),_0x568777(0x193),_0x568777(0x13f),_0x568777(0x1da),_0x568777(0xe1),_0x568777(0xdd),_0x406a9b(0x1ac),_0x568777(0x159),_0x568777(0x164)];return a0_0x3247=function(){return _0x29c597;},a0_0x3247();}function a0_0xb9fb(_0x508918,_0x36b5c5){var _0x532971=a0_0x5055();return a0_0xb9fb=function(_0x35aac5,_0x960cdb){_0x35aac5=_0x35aac5-0xbd;var _0x104863=_0x532971[_0x35aac5];return _0x104863;},a0_0xb9fb(_0x508918,_0x36b5c5);}function a0_0x13d8(){var _0x51db2b=a0_0x8e03,_0x6b019d=a0_0x1f50,_0x31197c=[_0x6b019d(0x2f7),_0x6b019d(0x1bc),_0x51db2b(0x121),'settings',_0x51db2b(0x180),_0x51db2b(0x16b),_0x6b019d(0x2a4),_0x6b019d(0x249),_0x6b019d(0x19f),_0x51db2b(0x1e6),_0x6b019d(0x27c),_0x6b019d(0x1bb),'setAttribute',_0x6b019d(0x218),_0x6b019d(0x2ac),_0x6b019d(0x232),_0x6b019d(0x247),_0x6b019d(0x24c),_0x6b019d(0x1dd),_0x6b019d(0x234),_0x6b019d(0x2fc),_0x6b019d(0x1f0),_0x6b019d(0x2da),_0x6b019d(0x289),_0x6b019d(0x296),_0x6b019d(0x25f),_0x51db2b(0x244),_0x6b019d(0x2c4),_0x6b019d(0x24f),_0x6b019d(0x25b),'destroy',_0x6b019d(0x1d9),_0x6b019d(0x1e9),_0x6b019d(0x1da),_0x51db2b(0x1f5),_0x51db2b(0x135),_0x6b019d(0x198),_0x51db2b(0x129),'915922KcJxZH',_0x6b019d(0x201),_0x6b019d(0x1bf),'overflowY',_0x51db2b(0x1f9),_0x6b019d(0x278),_0x6b019d(0x22e),_0x6b019d(0x256),_0x51db2b(0x196),_0x6b019d(0x210),_0x6b019d(0x1fe),_0x6b019d(0x23b),_0x51db2b(0x170),_0x6b019d(0x268),_0x6b019d(0x1de),_0x6b019d(0x1c2),_0x6b019d(0x1f8),_0x6b019d(0x272),_0x6b019d(0x1b1),_0x51db2b(0x131),_0x6b019d(0x1a9),_0x6b019d(0x275),_0x6b019d(0x257),_0x6b019d(0x28c),_0x6b019d(0x214),_0x51db2b(0x217),_0x6b019d(0x2d0),_0x6b019d(0x267),_0x6b019d(0x230),_0x6b019d(0x2cc),_0x6b019d(0x262),_0x6b019d(0x258),_0x51db2b(0x1a4),_0x51db2b(0x137),_0x6b019d(0x271),_0x6b019d(0x1d3),_0x6b019d(0x2dd),_0x6b019d(0x2ee),_0x6b019d(0x1b4),_0x51db2b(0x236),_0x6b019d(0x228),_0x6b019d(0x2b0),_0x6b019d(0x1d4),_0x6b019d(0x26f),_0x51db2b(0x1d1),_0x6b019d(0x236),_0x6b019d(0x1ee),_0x6b019d(0x2be),'indexOf','15488495mYowTC',_0x6b019d(0x1b9),_0x51db2b(0x1a0),_0x6b019d(0x226),_0x6b019d(0x1dc),_0x6b019d(0x298),_0x51db2b(0x186),_0x6b019d(0x2fd),_0x6b019d(0x1cd),_0x6b019d(0x277),_0x51db2b(0x23a),_0x6b019d(0x237),_0x6b019d(0x23d),_0x6b019d(0x1c8),_0x6b019d(0x2eb),_0x6b019d(0x29e),_0x6b019d(0x2f4),'tagName',_0x6b019d(0x2bc),_0x6b019d(0x1fa),_0x6b019d(0x25e),_0x6b019d(0x1c3),_0x6b019d(0x1eb),_0x6b019d(0x206),_0x51db2b(0x17c),_0x6b019d(0x21c),_0x6b019d(0x283),_0x51db2b(0x181),_0x6b019d(0x2b3),_0x6b019d(0x2d4),_0x6b019d(0x28b),_0x6b019d(0x1d8),_0x6b019d(0x1ab),_0x6b019d(0x2e9),_0x6b019d(0x2a5),_0x6b019d(0x1c6),_0x6b019d(0x2ba),_0x6b019d(0x255),_0x6b019d(0x261),_0x6b019d(0x208),_0x6b019d(0x209),_0x6b019d(0x264),_0x6b019d(0x1b3),_0x6b019d(0x1c4),_0x6b019d(0x284),_0x6b019d(0x2ec),_0x6b019d(0x28e),_0x6b019d(0x1e4),_0x6b019d(0x18e),_0x6b019d(0x19c),_0x6b019d(0x1d7),_0x51db2b(0x14e),_0x6b019d(0x1cf),_0x6b019d(0x2ad),_0x6b019d(0x290),_0x51db2b(0x1af),_0x6b019d(0x1a4),_0x6b019d(0x1b8),_0x6b019d(0x286),_0x6b019d(0x193),_0x6b019d(0x1cb),_0x6b019d(0x202),_0x6b019d(0x25a),'swipeEasing',_0x6b019d(0x1db),_0x6b019d(0x2bb),_0x6b019d(0x2b1),_0x6b019d(0x285),_0x6b019d(0x242),_0x6b019d(0x299),_0x6b019d(0x2ca),_0x6b019d(0x1ea),_0x6b019d(0x2e8),_0x6b019d(0x248),_0x6b019d(0x2e4),_0x6b019d(0x225),_0x6b019d(0x2f9),_0x6b019d(0x2b2),_0x6b019d(0x2e7),_0x6b019d(0x243),_0x6b019d(0x212),_0x6b019d(0x190),_0x51db2b(0x1c6),_0x51db2b(0x191),_0x6b019d(0x27f),_0x51db2b(0x167),_0x51db2b(0x1a2),_0x6b019d(0x2dc),_0x6b019d(0x20e),_0x6b019d(0x279),_0x51db2b(0x22e),_0x6b019d(0x1cc),_0x51db2b(0x241),_0x6b019d(0x23f),_0x6b019d(0x1a3),_0x6b019d(0x194),_0x51db2b(0x12f),_0x6b019d(0x273),_0x51db2b(0x18f),_0x6b019d(0x28a),_0x51db2b(0x15b),_0x6b019d(0x222),_0x6b019d(0x1d6),_0x6b019d(0x21b),_0x6b019d(0x297),_0x6b019d(0x2ff),_0x6b019d(0x1fd),_0x6b019d(0x2c7),_0x6b019d(0x20c),_0x6b019d(0x191),_0x6b019d(0x250),_0x6b019d(0x23e),_0x6b019d(0x2d5),_0x6b019d(0x22b),_0x6b019d(0x1af),_0x51db2b(0x1b4),_0x6b019d(0x2d9),_0x6b019d(0x254),_0x51db2b(0x165),'5181022GuitpI',_0x6b019d(0x23c),_0x6b019d(0x216),_0x6b019d(0x2e0),'7341950oTRXMP',_0x6b019d(0x1f3),'railBorderXWidth',_0x51db2b(0x114),_0x6b019d(0x24b),_0x6b019d(0x211),_0x6b019d(0x215),_0x51db2b(0x169),_0x51db2b(0x11a),_0x51db2b(0x117),_0x6b019d(0x21e),_0x6b019d(0x1e7),_0x6b019d(0x204),_0x6b019d(0x192),_0x6b019d(0x2ce),_0x6b019d(0x22d),_0x6b019d(0x260),_0x6b019d(0x280),'wheelDeltaX',_0x6b019d(0x2de),_0x6b019d(0x29c),_0x6b019d(0x19e),_0x6b019d(0x1df),_0x6b019d(0x2ef),_0x6b019d(0x1e8),_0x6b019d(0x2c1),_0x51db2b(0x231),_0x6b019d(0x295),'3047HMVFAt',_0x6b019d(0x1d1),_0x6b019d(0x1e6),_0x6b019d(0x26e),_0x51db2b(0x16c),'1146lFrdKI',_0x51db2b(0x1a7),_0x6b019d(0x1c9),_0x6b019d(0x2ea),_0x6b019d(0x2ed),_0x6b019d(0x2b9),_0x6b019d(0x2d6),_0x6b019d(0x217),_0x51db2b(0x144),_0x6b019d(0x1c7),_0x6b019d(0x1e5),_0x6b019d(0x1a6),_0x6b019d(0x2a0),_0x6b019d(0x2b5),_0x6b019d(0x2d7),_0x6b019d(0x2c2),_0x6b019d(0x1ae),_0x51db2b(0x118),_0x6b019d(0x1f1),_0x51db2b(0xf7),_0x6b019d(0x2e1),'pointerType',_0x6b019d(0x1f4),_0x6b019d(0x1a7),_0x6b019d(0x292),_0x6b019d(0x1aa),_0x6b019d(0x1e0),_0x6b019d(0x2e3),_0x6b019d(0x245),'wheelDelta',_0x6b019d(0x244),_0x6b019d(0x1d5),_0x6b019d(0x266),_0x6b019d(0x251),'metaKey',_0x6b019d(0x2e5),_0x51db2b(0x1dd),_0x6b019d(0x21d),_0x6b019d(0x2a9),_0x6b019d(0x2b7),_0x51db2b(0x24d),_0x6b019d(0x27b),_0x6b019d(0x287),_0x6b019d(0x221),_0x6b019d(0x2cd),'touches',_0x6b019d(0x2f5),_0x6b019d(0x219),_0x6b019d(0x2e2),_0x6b019d(0x1f6),_0x51db2b(0xf8),_0x6b019d(0x22c),_0x6b019d(0x26d),_0x6b019d(0x1ad),_0x51db2b(0x1c2),_0x6b019d(0x2f2),'6GUTwux',_0x6b019d(0x24e),_0x51db2b(0x205),_0x6b019d(0x1c1),_0x6b019d(0x25c),_0x51db2b(0x185),_0x6b019d(0x265),_0x6b019d(0x1ed),_0x51db2b(0x159),_0x6b019d(0x2fa),_0x6b019d(0x2f0),_0x51db2b(0xe4),_0x6b019d(0x294),_0x6b019d(0x293),_0x51db2b(0x1dc),_0x6b019d(0x197),_0x6b019d(0x241),_0x6b019d(0x2f3),_0x6b019d(0x1a5),_0x6b019d(0x2a2),_0x6b019d(0x270),_0x6b019d(0x19b),_0x6b019d(0x2d8),_0x51db2b(0x164),_0x6b019d(0x288),_0x6b019d(0x2c9),_0x51db2b(0x1c3),_0x6b019d(0x27a),_0x51db2b(0x178),_0x6b019d(0x20f),_0x6b019d(0x233),'2811304Czquhz',_0x6b019d(0x2bf),_0x51db2b(0x1c8),_0x6b019d(0x19a),_0x6b019d(0x1e3),_0x51db2b(0x100),_0x6b019d(0x252),_0x51db2b(0x166),'11UvwBOM','eventElement',_0x6b019d(0x1f2),_0x6b019d(0x22f),_0x6b019d(0x26b),_0x6b019d(0x200),_0x6b019d(0x2d1),_0x6b019d(0x2c6),_0x6b019d(0x196),_0x51db2b(0x17e),_0x6b019d(0x1c0),_0x6b019d(0x1d2),_0x6b019d(0x20a),_0x51db2b(0x1c7),_0x6b019d(0x2fe),_0x6b019d(0x259),_0x6b019d(0x224),_0x51db2b(0x1e3),_0x6b019d(0x240),'1434vnuFNa',_0x6b019d(0x28d),_0x51db2b(0x1e4)];return a0_0x13d8=function(){return _0x31197c;},a0_0x13d8();}function a0_0x1e4b(){var _0x1e6060=a0_0x1f50,_0x17b477=a0_0x5c16,_0x460092=a0_0x284e,_0x58127c=a0_0x2f85,_0x34c6da=a0_0x413e,_0x47f978=[_0x34c6da(0x172),_0x34c6da(0x209),_0x58127c(0xe8),_0x34c6da(0x182),_0x58127c(0xbc),_0x34c6da(0x1d1),_0x34c6da(0x10c),_0x34c6da(0x1c3),_0x34c6da(0xfb),_0x34c6da(0x1c8),_0x34c6da(0xe5),_0x58127c(0x180),_0x34c6da(0x1dd),_0x34c6da(0x1de),_0x58127c(0xf8),_0x34c6da(0x105),_0x34c6da(0xfd),_0x34c6da(0x108),_0x34c6da(0xe2),_0x34c6da(0x1ce),_0x34c6da(0x13f),_0x34c6da(0x1ef),_0x58127c(0x9e),_0x34c6da(0xfa),_0x17b477(0x137),_0x34c6da(0x146),_0x34c6da(0x1db),_0x34c6da(0x1cc),_0x34c6da(0xce),_0x34c6da(0x127),_0x34c6da(0x152),_0x58127c(0x1b1),_0x58127c(0x1e0),_0x34c6da(0x13b),_0x34c6da(0x14c),_0x34c6da(0x12d),_0x34c6da(0x1ab),_0x34c6da(0x151),_0x34c6da(0x1df),_0x460092(0x1a2),_0x34c6da(0x11d),_0x34c6da(0xeb),_0x34c6da(0x19e),_0x34c6da(0x179),_0x58127c(0xbf),_0x34c6da(0x141),_0x34c6da(0x17c),_0x34c6da(0x18c),_0x34c6da(0x1fa),_0x34c6da(0x1d9),_0x34c6da(0x157),_0x460092(0x1e6),_0x460092(0x19e),_0x34c6da(0x1e5),_0x34c6da(0x17d),_0x34c6da(0x101),_0x34c6da(0xd8),_0x34c6da(0x195),_0x34c6da(0xd9),_0x34c6da(0x1b7),_0x34c6da(0x18f),_0x58127c(0x1a5),_0x34c6da(0x1f9),_0x34c6da(0x189),_0x58127c(0x115),_0x34c6da(0xee),_0x34c6da(0x1a0),_0x34c6da(0x1ff),_0x34c6da(0x1bb),_0x34c6da(0x129),_0x58127c(0x171),_0x58127c(0x1de),_0x460092(0x215),_0x34c6da(0x1a3),_0x460092(0x122),_0x34c6da(0x1dc),_0x58127c(0x1b8),_0x58127c(0x1e2),_0x34c6da(0x159),_0x34c6da(0x137),_0x58127c(0x1ea),_0x34c6da(0x117),_0x34c6da(0x163),_0x34c6da(0x12e),_0x34c6da(0x136),_0x460092(0x203),_0x34c6da(0x132),_0x34c6da(0x186),_0x58127c(0x162),_0x34c6da(0xd4),_0x17b477(0x109),_0x34c6da(0x107),_0x58127c(0x13c),_0x34c6da(0x1c1),_0x34c6da(0x191),_0x34c6da(0x170),_0x34c6da(0x1e0),_0x34c6da(0x116),_0x34c6da(0x1a7),_0x58127c(0xb6),_0x34c6da(0xd2),_0x34c6da(0x115),_0x58127c(0xd1),_0x34c6da(0xf7),_0x460092(0x1c8),_0x34c6da(0x17e),_0x460092(0x125),_0x34c6da(0xcb),_0x34c6da(0xc8),_0x34c6da(0x1b3),_0x34c6da(0x1ec),_0x34c6da(0x203),_0x34c6da(0x13e),_0x34c6da(0xfc),_0x34c6da(0x10f),_0x58127c(0xac),_0x34c6da(0x14a),_0x34c6da(0x18a),_0x34c6da(0xd0),_0x34c6da(0x16c),_0x34c6da(0x12f),_0x34c6da(0x1e7),_0x34c6da(0x177),_0x34c6da(0x197),_0x34c6da(0x13a),_0x34c6da(0x1aa),_0x58127c(0xe6),_0x34c6da(0x19a),_0x58127c(0xec),_0x58127c(0x159),_0x58127c(0x192),_0x34c6da(0x13d),_0x34c6da(0x138),_0x34c6da(0x204),_0x58127c(0xd9),_0x34c6da(0x1c5),_0x58127c(0xc7),_0x34c6da(0x15c),_0x34c6da(0xd1),_0x34c6da(0xfe),_0x34c6da(0xe3),_0x34c6da(0x200),_0x34c6da(0x160),_0x58127c(0x17b),_0x34c6da(0x1b8),_0x34c6da(0x1f1),_0x58127c(0x1a7),_0x58127c(0xf1),_0x34c6da(0x1f4),_0x34c6da(0x1d6),_0x34c6da(0xdf),_0x34c6da(0x1ca),_0x34c6da(0x168),_0x34c6da(0x1ba),_0x58127c(0x14b),_0x58127c(0x18b),_0x34c6da(0x1e3),_0x34c6da(0x1a2),_0x58127c(0x18e),_0x34c6da(0xf5),_0x34c6da(0x12c),_0x58127c(0xa3),_0x34c6da(0x144),_0x34c6da(0x10d),_0x34c6da(0x19b),_0x34c6da(0x16b),_0x34c6da(0x201),_0x34c6da(0x1f5),_0x34c6da(0x206),_0x34c6da(0x1a9),_0x58127c(0x175),_0x34c6da(0x1b0),_0x34c6da(0xf6),_0x58127c(0x140),_0x34c6da(0x125),_0x34c6da(0x111),_0x34c6da(0x187),_0x34c6da(0x1ea),_0x1e6060(0x229),_0x34c6da(0x176),_0x34c6da(0x10a),_0x34c6da(0x1fc),_0x34c6da(0x1a6),_0x58127c(0x14d),_0x58127c(0x1ba),_0x34c6da(0x1c4),_0x460092(0x167),_0x58127c(0x10f),_0x34c6da(0x14f),_0x34c6da(0x169),_0x58127c(0x163),_0x34c6da(0x1e2),_0x34c6da(0xde),_0x58127c(0xfc),_0x58127c(0x117),_0x460092(0x220),_0x58127c(0x1b2),_0x34c6da(0x128),_0x34c6da(0x192),_0x34c6da(0x109),_0x34c6da(0xdc),_0x34c6da(0x11c),_0x58127c(0x1b3),_0x34c6da(0x1d7),_0x34c6da(0x103),_0x34c6da(0xc6),_0x34c6da(0x1e8),_0x58127c(0x13b),_0x34c6da(0x122),_0x58127c(0x181),_0x34c6da(0x114),_0x58127c(0x11b),_0x58127c(0x1aa),_0x34c6da(0x1bc),_0x460092(0x113),_0x34c6da(0x1c7),_0x58127c(0x13f),_0x58127c(0x121),_0x58127c(0xc0),_0x34c6da(0x150),_0x34c6da(0x15b),_0x34c6da(0x16f),_0x34c6da(0x166),_0x58127c(0x150),_0x34c6da(0x148),_0x34c6da(0x139),_0x34c6da(0x1ae),_0x34c6da(0x1cb),_0x34c6da(0x165),_0x58127c(0x1a0),_0x34c6da(0x126),_0x34c6da(0x106),_0x34c6da(0x19d),_0x34c6da(0xcf),_0x34c6da(0xe9),_0x34c6da(0x1a8),_0x460092(0x187),_0x58127c(0xa5),_0x34c6da(0x123),_0x17b477(0x1d7),_0x34c6da(0xc7),_0x460092(0xe5),_0x34c6da(0x194),_0x34c6da(0x1e9),_0x34c6da(0x1be),_0x58127c(0x126),_0x34c6da(0x112),_0x34c6da(0x10b),_0x34c6da(0x14d),_0x34c6da(0x15a),_0x58127c(0x1b6),_0x34c6da(0x18b),_0x58127c(0xe5),_0x34c6da(0xca),_0x34c6da(0x1bf),_0x34c6da(0x15e),_0x34c6da(0x1c6),_0x58127c(0x102),_0x58127c(0x124),_0x34c6da(0xe8),_0x58127c(0x1bb),_0x34c6da(0x202),_0x460092(0x14f),_0x34c6da(0x1f2),_0x34c6da(0x118),_0x34c6da(0x12a),_0x58127c(0x176),_0x58127c(0x1e7),_0x34c6da(0xc5),_0x34c6da(0x100),_0x58127c(0x18d),_0x34c6da(0x131),_0x34c6da(0x162),_0x58127c(0x18c),_0x58127c(0xe0),_0x1e6060(0x1fc),_0x34c6da(0xff),_0x34c6da(0x196),_0x58127c(0x112),_0x34c6da(0x1cd),_0x34c6da(0xe0),_0x34c6da(0xf3),_0x58127c(0xb3),_0x58127c(0x111),_0x58127c(0xcd),_0x34c6da(0x1cf),_0x34c6da(0xe4),_0x34c6da(0x16a),_0x34c6da(0x119),_0x34c6da(0x1da),_0x58127c(0x17f),_0x34c6da(0x183),_0x17b477(0x1b0),_0x34c6da(0x158),_0x34c6da(0xe6),_0x58127c(0x185),_0x34c6da(0xda),_0x58127c(0xe7),_0x34c6da(0x1d8),_0x17b477(0x11e),_0x34c6da(0x1b4),_0x34c6da(0x1a5),_0x34c6da(0x1c0),_0x34c6da(0x16d),_0x34c6da(0x199),_0x460092(0x198),_0x34c6da(0x142),_0x34c6da(0x13c),_0x34c6da(0x193),_0x34c6da(0x11a),_0x34c6da(0xf1),_0x17b477(0x13b),_0x34c6da(0x102),_0x34c6da(0x130),_0x34c6da(0x1b9),_0x34c6da(0x110),_0x34c6da(0x1d4),_0x34c6da(0x167),_0x460092(0x16b),_0x34c6da(0x1f0),_0x460092(0x1b3),_0x34c6da(0x147)];return a0_0x1e4b=function(){return _0x47f978;},a0_0x1e4b();}function a0_0x2c19(){var _0x1cb82c=a0_0x2c3f,_0x2976bf=a0_0x2f41,_0x5e8888=a0_0x1a8e,_0x18bc40=a0_0x1275,_0x473d5a=a0_0x23ca,_0x1a42c8=[_0x473d5a(0xba),_0x473d5a(0x17c),_0x473d5a(0x157),_0x473d5a(0x158),_0x473d5a(0x1aa),_0x18bc40(0x182),_0x473d5a(0x12c),_0x473d5a(0x18c),_0x473d5a(0x155),_0x473d5a(0x1b1),_0x473d5a(0x1b3),_0x473d5a(0x126),_0x473d5a(0x19e),_0x473d5a(0xae),_0x473d5a(0x1a8),_0x18bc40(0x133),_0x473d5a(0xb2),_0x473d5a(0xe8),_0x473d5a(0x15b),_0x473d5a(0x16f),_0x473d5a(0xb5),_0x473d5a(0xb6),_0x18bc40(0x19f),_0x473d5a(0x12d),_0x473d5a(0x124),_0x473d5a(0x190),_0x18bc40(0x135),_0x473d5a(0xa8),_0x18bc40(0x192),_0x18bc40(0x236),_0x473d5a(0x10b),_0x473d5a(0xf8),_0x18bc40(0x14e),_0x18bc40(0x1b5),_0x473d5a(0xf6),_0x18bc40(0x14c),_0x473d5a(0xbd),_0x473d5a(0x165),_0x473d5a(0x148),_0x473d5a(0x143),_0x473d5a(0x111),_0x473d5a(0xe1),_0x473d5a(0x19c),_0x473d5a(0x11f),_0x473d5a(0x193),_0x473d5a(0x180),_0x473d5a(0x1a5),_0x18bc40(0x238),_0x473d5a(0x170),_0x473d5a(0x113),_0x473d5a(0x185),_0x473d5a(0x131),_0x473d5a(0x182),_0x473d5a(0xa4),_0x18bc40(0x23d),_0x18bc40(0x21d),_0x473d5a(0xca),_0x473d5a(0x136),_0x473d5a(0x19a),_0x473d5a(0x166),_0x5e8888(0x22f),_0x473d5a(0x1a0),_0x473d5a(0xc2),_0x473d5a(0xdf),_0x473d5a(0x142),_0x473d5a(0xed),_0x473d5a(0x17d),_0x473d5a(0x109),_0x2976bf(0x1e7),_0x473d5a(0xf9),_0x473d5a(0x12e),_0x473d5a(0x195),_0x473d5a(0x106),_0x473d5a(0x121),_0x5e8888(0x28a),_0x18bc40(0x20d),_0x18bc40(0x202),_0x18bc40(0x203),_0x18bc40(0x209),_0x5e8888(0x1e1),_0x473d5a(0xeb),_0x18bc40(0x213),_0x473d5a(0x178),_0x473d5a(0x1af),_0x473d5a(0x122),_0x473d5a(0xa2),_0x473d5a(0x17f),_0x18bc40(0x1db),_0x473d5a(0x16c),_0x473d5a(0x108),_0x473d5a(0x156),_0x5e8888(0x22c),_0x473d5a(0x17b),_0x18bc40(0x1c4),_0x18bc40(0x162),_0x2976bf(0x260),_0x473d5a(0xf4),_0x473d5a(0x173),_0x473d5a(0x125),_0x18bc40(0x1f0),_0x18bc40(0x177),_0x473d5a(0xab),_0x18bc40(0x1ca),_0x473d5a(0xd1),_0x473d5a(0xec),_0x473d5a(0x112),_0x473d5a(0x10c),_0x473d5a(0x14d),_0x473d5a(0x13a),_0x473d5a(0x154),_0x473d5a(0xfa),_0x2976bf(0x21b),_0x473d5a(0x197),_0x18bc40(0x1a6),_0x473d5a(0x177),_0x473d5a(0x151),_0x473d5a(0x10f),_0x473d5a(0x174),_0x473d5a(0x188),_0x473d5a(0xc1),_0x473d5a(0x161),_0x5e8888(0x2b0),_0x18bc40(0x1cd),_0x473d5a(0xf1),_0x473d5a(0xa1),_0x473d5a(0xa7),_0x473d5a(0xe7),_0x18bc40(0x234),_0x473d5a(0x104),_0x473d5a(0x164),_0x473d5a(0x16a),_0x473d5a(0x100),_0x473d5a(0x11d),_0x473d5a(0xa5),_0x473d5a(0x181),_0x18bc40(0x1de),_0x473d5a(0x194),_0x18bc40(0x1af),_0x18bc40(0x1c3),_0x473d5a(0xb4),_0x473d5a(0x1b0),_0x473d5a(0x1a6),_0x18bc40(0x1ff),_0x473d5a(0x110),_0x473d5a(0xd8),_0x473d5a(0xf0),_0x473d5a(0x153),_0x473d5a(0xbb),_0x473d5a(0x1a2),_0x473d5a(0xd4),_0x473d5a(0x16b),_0x18bc40(0x205),_0x1cb82c(0x17d),_0x473d5a(0xdd),_0x18bc40(0x1c8),_0x473d5a(0x171),_0x18bc40(0x1d0),_0x473d5a(0xfb),_0x473d5a(0x1a1),_0x5e8888(0x1c0),_0x473d5a(0xc8),_0x473d5a(0xcc),_0x473d5a(0x120),_0x18bc40(0x1bd),_0x18bc40(0x130),_0x2976bf(0x1e1),_0x473d5a(0x17a),_0x473d5a(0x11e),_0x473d5a(0x115),_0x473d5a(0xd0),_0x473d5a(0xd6),_0x473d5a(0x189),_0x473d5a(0x168),_0x473d5a(0x12f),_0x473d5a(0x10d),_0x473d5a(0x19d),_0x473d5a(0x196),_0x18bc40(0x1a2),_0x473d5a(0xc7),_0x18bc40(0x14d),_0x473d5a(0xe2),_0x18bc40(0x131),_0x473d5a(0xa9),_0x473d5a(0xff),_0x473d5a(0xf5),_0x18bc40(0x21b),_0x473d5a(0xe3),_0x473d5a(0xfe),_0x473d5a(0x198),_0x473d5a(0xa6),_0x473d5a(0xb8),_0x473d5a(0x14b),_0x473d5a(0xb9),_0x18bc40(0x1c7),_0x473d5a(0xb3),_0x18bc40(0x187),_0x473d5a(0x18f),_0x473d5a(0xda),_0x473d5a(0x14c),_0x473d5a(0x1ab),_0x473d5a(0xc4),_0x473d5a(0x16d),_0x473d5a(0x105),_0x473d5a(0x1a7),_0x473d5a(0xc5),_0x473d5a(0x179),_0x473d5a(0x163),_0x18bc40(0x15a),_0x473d5a(0x12b),_0x473d5a(0x138),_0x18bc40(0x1e4),_0x473d5a(0xcd),_0x18bc40(0x211),_0x18bc40(0x1f7),_0x473d5a(0x167),_0x473d5a(0x14e),_0x18bc40(0x216),_0x18bc40(0x13b),_0x473d5a(0x1a3),_0x473d5a(0x192),_0x5e8888(0x1a5),_0x473d5a(0x191),_0x473d5a(0x117),_0x18bc40(0x1ad),_0x18bc40(0x1a3),_0x473d5a(0xd3),_0x473d5a(0x152),_0x473d5a(0x10a),_0x473d5a(0x13f),_0x473d5a(0x1b2),_0x473d5a(0x15d),_0x473d5a(0x1ad),_0x473d5a(0xde),_0x18bc40(0x134),_0x473d5a(0x15c),_0x473d5a(0x169),_0x473d5a(0x114),_0x473d5a(0xbe),_0x18bc40(0x140),_0x473d5a(0xd9),_0x473d5a(0x132),_0x473d5a(0xfd),_0x473d5a(0x199),_0x18bc40(0x164),_0x473d5a(0x13e),_0x2976bf(0x1de),_0x473d5a(0x13c),_0x18bc40(0x16e),_0x18bc40(0x176),_0x18bc40(0x150),_0x473d5a(0x141),_0x473d5a(0xaf),_0x473d5a(0x144),_0x5e8888(0x2af),_0x18bc40(0x1e5),_0x18bc40(0x1da),_0x473d5a(0xfc),_0x473d5a(0x183),_0x473d5a(0xce),_0x473d5a(0x1ac),_0x473d5a(0xdc),_0x18bc40(0x24b),_0x473d5a(0x14f),_0x473d5a(0x140),_0x473d5a(0x102),_0x473d5a(0x18a),_0x473d5a(0x175),_0x473d5a(0xbf),_0x473d5a(0x145),_0x473d5a(0xf7),_0x473d5a(0x116),_0x473d5a(0xd2),_0x473d5a(0x15a),_0x473d5a(0xb1),_0x473d5a(0x137),_0x18bc40(0x15d),_0x473d5a(0x11b),_0x473d5a(0x14a),_0x473d5a(0xdb),_0x5e8888(0x2b3),_0x473d5a(0xc9),_0x18bc40(0x1f1),_0x473d5a(0x15e),_0x473d5a(0x186),_0x473d5a(0x135),_0x473d5a(0xaa)];return a0_0x2c19=function(){return _0x1a42c8;},a0_0x2c19();}function a0_0x2fd1(){var _0x146dc4=a0_0x413e,_0x4f2610=a0_0x543f,_0x17b019=a0_0x5a15,_0x560d7b=a0_0x2c3f,_0x511754=[_0x146dc4(0x1f3),_0x17b019(0x291),_0x17b019(0x153),_0x560d7b(0xf2),_0x17b019(0x1c2),_0x17b019(0x28b),_0x560d7b(0x1a7),_0x4f2610(0x17e),_0x146dc4(0xf0),_0x560d7b(0x1b2),_0x560d7b(0xf6),_0x560d7b(0x1c9),_0x560d7b(0x14f),_0x560d7b(0x1f5),_0x560d7b(0x18a),_0x560d7b(0x163),_0x560d7b(0x1c1),_0x560d7b(0x11f),_0x560d7b(0x183),_0x560d7b(0x1cc),_0x560d7b(0x101),_0x4f2610(0x102),_0x17b019(0x21a),_0x560d7b(0xd9),_0x17b019(0x23f),_0x560d7b(0xcc),_0x17b019(0x18c),_0x4f2610(0xea),_0x560d7b(0x153),_0x560d7b(0x10f),_0x560d7b(0x1b6),_0x560d7b(0x1f1),_0x17b019(0x20d),_0x560d7b(0x157),_0x560d7b(0x1cd),_0x560d7b(0xd5),_0x560d7b(0x1b9),_0x560d7b(0x144),_0x560d7b(0x17f),_0x560d7b(0x1e1),_0x560d7b(0x142),_0x560d7b(0x135),_0x17b019(0x1ea),_0x560d7b(0x1bb),_0x560d7b(0x190),_0x560d7b(0xda),_0x560d7b(0x1ab),_0x4f2610(0x1b0),_0x560d7b(0x130),_0x4f2610(0x107),_0x560d7b(0x171),_0x560d7b(0x151),_0x17b019(0x280),_0x560d7b(0x145),_0x560d7b(0x188),_0x560d7b(0xfa),_0x560d7b(0x159),_0x560d7b(0x12f),_0x560d7b(0x165),_0x17b019(0x15d),_0x17b019(0x200),_0x560d7b(0x197),_0x560d7b(0xfd),_0x560d7b(0x18c),_0x560d7b(0x184),_0x17b019(0x182),_0x560d7b(0xc3),_0x17b019(0x265),_0x560d7b(0x17a),_0x560d7b(0x16a),_0x17b019(0x246),_0x4f2610(0x169),_0x560d7b(0xfc),_0x17b019(0x20f),_0x560d7b(0x128),_0x560d7b(0x1b3),_0x17b019(0x260),_0x560d7b(0x149),_0x560d7b(0x122),_0x560d7b(0x1f3),_0x560d7b(0x13b),_0x560d7b(0x14d),_0x560d7b(0xdf),_0x560d7b(0x116),_0x560d7b(0xff),_0x560d7b(0x13e),_0x560d7b(0x18b),_0x4f2610(0x1d1),_0x560d7b(0xde),_0x560d7b(0x14a),_0x560d7b(0x136),_0x560d7b(0x1c8),_0x560d7b(0xd6),_0x560d7b(0x1d6),_0x17b019(0x195),_0x560d7b(0x1d1),_0x17b019(0x22c),_0x560d7b(0x15d),_0x560d7b(0x161),_0x560d7b(0xfe),_0x560d7b(0x1a2),_0x17b019(0x204),_0x560d7b(0x1c3),_0x560d7b(0x1b7),_0x560d7b(0x1d8),_0x560d7b(0x186),_0x560d7b(0x1c0),_0x560d7b(0x111),_0x560d7b(0x18d),_0x560d7b(0x1a3),_0x17b019(0x178),_0x17b019(0x26d),_0x560d7b(0x1ef),_0x17b019(0x28d),_0x560d7b(0x12c),_0x17b019(0x234),_0x560d7b(0x138),_0x560d7b(0x1a4),_0x560d7b(0x1aa),_0x560d7b(0x1c7),_0x560d7b(0x194),_0x560d7b(0x17c),_0x17b019(0x193),_0x560d7b(0x147),_0x560d7b(0x199),_0x17b019(0x1e9),_0x560d7b(0xfb),_0x560d7b(0x174),_0x560d7b(0xe5),_0x560d7b(0x18e),_0x17b019(0x1cf),_0x560d7b(0x187),_0x17b019(0x19a),_0x560d7b(0x109),_0x4f2610(0x183),_0x560d7b(0x1ea),_0x560d7b(0x158),_0x560d7b(0x13a),_0x560d7b(0x11e),_0x560d7b(0x18f),_0x4f2610(0x16e),_0x560d7b(0xf9),_0x560d7b(0xe7),_0x560d7b(0x167),_0x560d7b(0xf7),_0x4f2610(0x1a9),_0x17b019(0x22b),_0x560d7b(0x1d9),_0x560d7b(0x173),_0x560d7b(0x119),_0x560d7b(0xd4),_0x560d7b(0x1e6),_0x560d7b(0x195),_0x560d7b(0xca),_0x17b019(0x28f),_0x560d7b(0x113),_0x17b019(0x1ba),_0x17b019(0x188),_0x560d7b(0x1e2),_0x560d7b(0x191),_0x560d7b(0x118),_0x4f2610(0x1fe),_0x560d7b(0x1dc),_0x560d7b(0xd3),_0x17b019(0x253),_0x560d7b(0x134),_0x560d7b(0xe1),_0x560d7b(0x162),_0x560d7b(0xef),_0x146dc4(0x154),_0x17b019(0x1e0),_0x560d7b(0x1e3),_0x560d7b(0xea),_0x560d7b(0x1b4),_0x560d7b(0xcf),_0x560d7b(0x1b0),_0x560d7b(0x154),_0x560d7b(0xf3),_0x17b019(0x262),_0x560d7b(0x1de),_0x560d7b(0x105),_0x560d7b(0x104),_0x17b019(0x1dc),_0x560d7b(0x11a),_0x560d7b(0x178),_0x560d7b(0x1a5),_0x560d7b(0x139),_0x560d7b(0x155),_0x17b019(0x257),_0x560d7b(0x1c6),_0x560d7b(0xd0),_0x560d7b(0xe2),_0x560d7b(0x16e),_0x17b019(0x1a3),_0x17b019(0x292),_0x560d7b(0xe6),_0x560d7b(0xe0),_0x560d7b(0x1ee),_0x17b019(0x15e),_0x560d7b(0x115),_0x560d7b(0x10a),_0x560d7b(0xcd),_0x560d7b(0x1e9),_0x560d7b(0x15c),_0x560d7b(0x1dd),_0x17b019(0x196),_0x560d7b(0x16b),_0x560d7b(0x192),_0x560d7b(0x1e0),_0x560d7b(0x15b),_0x17b019(0x258),_0x560d7b(0xed),_0x560d7b(0xc6),_0x560d7b(0x10c),_0x560d7b(0x1b5),_0x560d7b(0x16f),_0x560d7b(0x1ae),_0x560d7b(0x15f),_0x560d7b(0xc7),_0x560d7b(0x1ce),_0x17b019(0x203),_0x17b019(0x298),_0x560d7b(0x1c2),_0x560d7b(0x133),_0x560d7b(0x1be),_0x560d7b(0x131),_0x560d7b(0x1d3),_0x17b019(0x155),_0x4f2610(0x132),_0x560d7b(0x180),_0x560d7b(0x1d5),_0x560d7b(0xd1),_0x560d7b(0xf4),_0x17b019(0x219),_0x560d7b(0x129),_0x560d7b(0x19c),_0x560d7b(0xdd),_0x560d7b(0x169),_0x560d7b(0x1af),_0x4f2610(0x18d),_0x4f2610(0x114),_0x560d7b(0x19e),_0x560d7b(0x103),_0x560d7b(0x127),_0x17b019(0x1a9),_0x17b019(0x27e),_0x17b019(0x232),_0x560d7b(0x10b),_0x17b019(0x274),_0x560d7b(0x152),_0x560d7b(0x181),_0x560d7b(0x1ac),_0x17b019(0x19f),_0x17b019(0x294),_0x560d7b(0x1bf),_0x560d7b(0x117),_0x17b019(0x26b),_0x560d7b(0x1ec),_0x560d7b(0x114),_0x17b019(0x25f),_0x560d7b(0x1bc),_0x560d7b(0x14e),_0x560d7b(0x137),_0x560d7b(0x176),_0x4f2610(0x1a7),_0x560d7b(0xc8),_0x560d7b(0x1ba),_0x4f2610(0x1f8),_0x560d7b(0x11c),_0x560d7b(0x13f),_0x17b019(0x206),_0x17b019(0x1f3),_0x17b019(0x1d4),_0x17b019(0x1cb),_0x560d7b(0x179),_0x560d7b(0x166),_0x560d7b(0x1f0),_0x560d7b(0x150),_0x560d7b(0x125),_0x560d7b(0x112),_0x560d7b(0xe4),_0x560d7b(0x102),_0x560d7b(0xe3),_0x560d7b(0x19f),_0x17b019(0x1d8),_0x560d7b(0xeb),_0x560d7b(0x1e8),_0x17b019(0x27b),_0x17b019(0x20e),_0x560d7b(0x11d),_0x560d7b(0x1da),_0x560d7b(0x1eb),_0x560d7b(0x189),_0x560d7b(0x123),_0x560d7b(0xc4),_0x560d7b(0x1f2),_0x560d7b(0x1d0),_0x560d7b(0x19b),_0x560d7b(0xee),_0x17b019(0x1a1)];return a0_0x2fd1=function(){return _0x511754;},a0_0x2fd1();}function a0_0x2f41(_0x23e10d,_0x2a7390){var _0x4bc1d7=a0_0x2fd1();return a0_0x2f41=function(_0x5cb357,_0x5a417a){_0x5cb357=_0x5cb357-0x180;var _0x54e892=_0x4bc1d7[_0x5cb357];return _0x54e892;},a0_0x2f41(_0x23e10d,_0x2a7390);}function a0_0x119d(){var _0x44f3c7=a0_0x413e,_0x4fd671=a0_0x543f,_0x570bf6=a0_0x5a15,_0x18dddb=a0_0x2c3f,_0x5793f1=a0_0x2f41,_0x4c0ed8=a0_0x1a8e,_0x5dd802=[_0x4c0ed8(0x252),_0x4c0ed8(0x1f9),_0x4c0ed8(0x220),_0x4c0ed8(0x2a3),_0x4c0ed8(0x1bd),_0x4c0ed8(0x1be),_0x5793f1(0x246),_0x18dddb(0x1e7),_0x4c0ed8(0x1ea),_0x4c0ed8(0x270),_0x4c0ed8(0x1a6),_0x4c0ed8(0x20f),_0x18dddb(0x141),_0x5793f1(0x256),_0x4c0ed8(0x268),_0x4c0ed8(0x1cd),_0x4c0ed8(0x25b),_0x4c0ed8(0x254),_0x4c0ed8(0x241),_0x4c0ed8(0x28b),_0x4c0ed8(0x21b),_0x5793f1(0x202),_0x5793f1(0x23b),_0x4c0ed8(0x242),_0x4c0ed8(0x24a),_0x4c0ed8(0x244),_0x4c0ed8(0x23c),_0x4c0ed8(0x24c),_0x5793f1(0x22e),_0x4c0ed8(0x1ee),_0x4c0ed8(0x291),_0x4c0ed8(0x29d),_0x4c0ed8(0x2b9),_0x4c0ed8(0x263),_0x4c0ed8(0x292),_0x4c0ed8(0x24b),_0x4c0ed8(0x26f),_0x4c0ed8(0x1de),_0x4c0ed8(0x1f7),_0x18dddb(0x146),_0x5793f1(0x1ae),_0x4c0ed8(0x282),_0x4c0ed8(0x2ae),_0x4c0ed8(0x262),_0x18dddb(0x10d),_0x4c0ed8(0x1fb),_0x18dddb(0x19a),_0x4c0ed8(0x294),_0x5793f1(0x1fb),_0x4c0ed8(0x1b7),_0x4c0ed8(0x267),_0x5793f1(0x26d),_0x5793f1(0x208),_0x4c0ed8(0x224),_0x4c0ed8(0x1cf),_0x4c0ed8(0x20a),_0x4c0ed8(0x2ab),_0x4c0ed8(0x2a2),_0x4c0ed8(0x1d0),_0x4c0ed8(0x1f1),_0x4c0ed8(0x1ff),_0x5793f1(0x27a),_0x5793f1(0x1b9),_0x4c0ed8(0x1b9),_0x4c0ed8(0x24f),_0x4c0ed8(0x236),_0x4c0ed8(0x258),_0x5793f1(0x1f0),_0x5793f1(0x22a),_0x4c0ed8(0x295),_0x4c0ed8(0x2a9),_0x4c0ed8(0x259),_0x18dddb(0x1ed),_0x5793f1(0x1f3),_0x4c0ed8(0x25a),_0x570bf6(0x272),_0x18dddb(0x19d),_0x4c0ed8(0x1f6),_0x4c0ed8(0x233),_0x5793f1(0x18d),_0x5793f1(0x282),_0x4c0ed8(0x2ac),_0x4c0ed8(0x21f),_0x4c0ed8(0x20b),_0x4c0ed8(0x271),_0x4c0ed8(0x211),_0x5793f1(0x294),_0x18dddb(0x1d4),_0x4c0ed8(0x1e2),_0x4c0ed8(0x1ec),_0x4c0ed8(0x218),_0x4c0ed8(0x289),_0x5793f1(0x204),_0x570bf6(0x268),_0x5793f1(0x225),_0x4c0ed8(0x1c3),_0x4c0ed8(0x287),_0x4c0ed8(0x245),_0x4c0ed8(0x226),_0x4c0ed8(0x27b),_0x4c0ed8(0x29a),_0x5793f1(0x201),_0x4c0ed8(0x22b),_0x4c0ed8(0x1bf),_0x5793f1(0x240),_0x5793f1(0x2a5),_0x4c0ed8(0x1db),_0x4c0ed8(0x1a8),_0x4c0ed8(0x219),_0x4fd671(0x20e),_0x5793f1(0x267),_0x4c0ed8(0x265),_0x4c0ed8(0x228),_0x4c0ed8(0x28c),_0x5793f1(0x1fc),_0x4c0ed8(0x23f),_0x4c0ed8(0x1e5),_0x4c0ed8(0x1f0),_0x4c0ed8(0x21c),_0x4c0ed8(0x298),_0x4c0ed8(0x2ad),_0x4c0ed8(0x2a7),_0x5793f1(0x184),_0x5793f1(0x272),_0x4c0ed8(0x1ad),_0x4c0ed8(0x1bb),_0x4c0ed8(0x273),_0x4c0ed8(0x1ae),_0x4c0ed8(0x21e),_0x44f3c7(0x174),_0x4c0ed8(0x20e),_0x4c0ed8(0x207),_0x4c0ed8(0x27a),_0x5793f1(0x197),_0x4c0ed8(0x29f),_0x4c0ed8(0x1dd),_0x4c0ed8(0x238),_0x4c0ed8(0x256),_0x4c0ed8(0x2ba),_0x5793f1(0x1ba),_0x4c0ed8(0x1ce),_0x4c0ed8(0x1d8),_0x4c0ed8(0x209),_0x4c0ed8(0x1e9),_0x4c0ed8(0x1c5),_0x5793f1(0x1a6),_0x4c0ed8(0x22e),_0x4c0ed8(0x2a8),_0x4c0ed8(0x2b7),_0x4c0ed8(0x266),_0x4c0ed8(0x2b5),_0x4c0ed8(0x1ef),_0x4c0ed8(0x232),_0x4c0ed8(0x279),_0x4c0ed8(0x23d),_0x4c0ed8(0x1b2),_0x18dddb(0x108),_0x4c0ed8(0x1fe),_0x4c0ed8(0x208),_0x5793f1(0x1e9),_0x4c0ed8(0x255),_0x4c0ed8(0x269),_0x4c0ed8(0x283),_0x4c0ed8(0x1a0),_0x4c0ed8(0x27c),_0x4c0ed8(0x2a5),_0x4c0ed8(0x264),_0x4c0ed8(0x293),_0x4c0ed8(0x231),_0x5793f1(0x21a),_0x4c0ed8(0x1b3),_0x4c0ed8(0x1b6),_0x4c0ed8(0x28f),_0x4c0ed8(0x225),_0x4c0ed8(0x1fc),_0x4c0ed8(0x277),_0x4c0ed8(0x247),_0x4c0ed8(0x26b),_0x18dddb(0x110),_0x4c0ed8(0x1d2),_0x4c0ed8(0x1ab),_0x4c0ed8(0x202),_0x4c0ed8(0x280),_0x4c0ed8(0x22a),_0x4c0ed8(0x1e3),_0x4c0ed8(0x1b0),_0x5793f1(0x226),_0x18dddb(0xf8),_0x4c0ed8(0x29b),_0x4c0ed8(0x21d),_0x4c0ed8(0x29e),_0x4c0ed8(0x261),_0x4c0ed8(0x1c1),_0x4c0ed8(0x1f5),_0x4c0ed8(0x1cb),_0x4c0ed8(0x2a4),_0x4c0ed8(0x28e),_0x4c0ed8(0x251),_0x4c0ed8(0x1b1),_0x4c0ed8(0x1aa),_0x4c0ed8(0x2c3),_0x4c0ed8(0x296),_0x5793f1(0x284),_0x4c0ed8(0x275),_0x4c0ed8(0x297),_0x4c0ed8(0x260),_0x4c0ed8(0x222),_0x4c0ed8(0x1d4),_0x4c0ed8(0x235),_0x5793f1(0x257),_0x4c0ed8(0x278),_0x4c0ed8(0x2bc),_0x5793f1(0x243),_0x5793f1(0x1ab),_0x4c0ed8(0x217),_0x4c0ed8(0x203),_0x4c0ed8(0x1a1),_0x5793f1(0x19a),_0x4c0ed8(0x1e8),_0x4c0ed8(0x230),_0x5793f1(0x298),_0x4c0ed8(0x237),_0x4c0ed8(0x1c6),_0x5793f1(0x20f),_0x5793f1(0x1fa),_0x4c0ed8(0x204),_0x4c0ed8(0x21a),_0x4c0ed8(0x1c9),_0x4c0ed8(0x257),_0x4c0ed8(0x1dc),_0x4c0ed8(0x299),_0x4c0ed8(0x20d),_0x4c0ed8(0x248),_0x4c0ed8(0x243),_0x18dddb(0x121),_0x4c0ed8(0x290),_0x4c0ed8(0x1ac),_0x5793f1(0x25e),_0x4c0ed8(0x1ca),_0x4c0ed8(0x1da),_0x18dddb(0x124),_0x5793f1(0x286),_0x4c0ed8(0x250),_0x4c0ed8(0x24e),_0x5793f1(0x264),_0x4c0ed8(0x2be),_0x4c0ed8(0x23b),_0x4c0ed8(0x285),_0x4c0ed8(0x1e4),_0x4c0ed8(0x253),_0x4c0ed8(0x23e),_0x4c0ed8(0x2bd),_0x5793f1(0x1fd),_0x4c0ed8(0x1d9),_0x4c0ed8(0x1a9),_0x4c0ed8(0x2b2),_0x4c0ed8(0x221),_0x4c0ed8(0x1b5),_0x4c0ed8(0x1c2),_0x4c0ed8(0x25c),_0x4c0ed8(0x284),_0x4c0ed8(0x24d),_0x4c0ed8(0x2c2),_0x5793f1(0x249),_0x4c0ed8(0x1e7),_0x4c0ed8(0x205),_0x4c0ed8(0x25e),_0x4c0ed8(0x1bc),_0x4c0ed8(0x200),_0x5793f1(0x1cd),_0x4c0ed8(0x2a0),_0x4c0ed8(0x2bb),_0x4c0ed8(0x23a),_0x4c0ed8(0x1d3),_0x5793f1(0x2a9),_0x5793f1(0x185),_0x4c0ed8(0x1e6),_0x5793f1(0x1ad),_0x4c0ed8(0x281),_0x4c0ed8(0x1c8),_0x5793f1(0x26c),_0x5793f1(0x26b),_0x4c0ed8(0x227),_0x4c0ed8(0x1c4),_0x5793f1(0x1d8),_0x4c0ed8(0x2b4),_0x4c0ed8(0x239),_0x4c0ed8(0x1ed),_0x5793f1(0x182),_0x5793f1(0x203),_0x4c0ed8(0x249)];return a0_0x119d=function(){return _0x5dd802;},a0_0x119d();}function a0_0x47ff(){var _0x386679=a0_0x1a8e,_0x379acb=a0_0x1275,_0x9c28b2=a0_0x23ca,_0x2fa6e1=a0_0x32fc,_0xac1507=[_0x2fa6e1(0x19e),_0x2fa6e1(0x1a3),_0x2fa6e1(0x1c4),_0x2fa6e1(0x26c),_0x2fa6e1(0x1ff),_0x2fa6e1(0x2ac),_0x2fa6e1(0x215),_0x2fa6e1(0x265),_0x9c28b2(0x146),_0x2fa6e1(0x204),_0x2fa6e1(0x1db),_0x386679(0x1f4),_0x2fa6e1(0x1e1),_0x2fa6e1(0x1ca),_0x9c28b2(0x11a),_0x2fa6e1(0x1b1),_0x2fa6e1(0x27a),_0x2fa6e1(0x1d6),_0x2fa6e1(0x2a5),_0x9c28b2(0xe5),_0x2fa6e1(0x267),_0x2fa6e1(0x1aa),_0x2fa6e1(0x294),_0x2fa6e1(0x276),_0x2fa6e1(0x1f0),_0x2fa6e1(0x211),_0x2fa6e1(0x269),_0x9c28b2(0x101),_0x2fa6e1(0x27b),_0x9c28b2(0x15f),_0x2fa6e1(0x1ef),_0x2fa6e1(0x1b7),_0x2fa6e1(0x1c3),_0x2fa6e1(0x280),_0x2fa6e1(0x1d8),_0x379acb(0x1e6),_0x2fa6e1(0x27d),_0x9c28b2(0x159),_0x2fa6e1(0x2a1),_0x2fa6e1(0x24f),_0x2fa6e1(0x1b6),_0x9c28b2(0x118),_0x2fa6e1(0x1a4),_0x2fa6e1(0x28b),_0x2fa6e1(0x1a5),_0x2fa6e1(0x243),_0x2fa6e1(0x21b),_0x2fa6e1(0x22f),_0x2fa6e1(0x2b4),_0x2fa6e1(0x2a9),_0x2fa6e1(0x202),_0x2fa6e1(0x20d),_0x2fa6e1(0x206),_0x2fa6e1(0x29b),_0x2fa6e1(0x2ba),_0x2fa6e1(0x1f9),_0x2fa6e1(0x275),_0x2fa6e1(0x244),_0x2fa6e1(0x2b2),_0x2fa6e1(0x248),_0x2fa6e1(0x1d1),_0x2fa6e1(0x258),_0x2fa6e1(0x209),_0x9c28b2(0xd7),_0x2fa6e1(0x253),_0x2fa6e1(0x235),_0x9c28b2(0x119),_0x9c28b2(0x133),_0x9c28b2(0x128),_0x2fa6e1(0x29f),_0x9c28b2(0xef),_0x2fa6e1(0x1ae),_0x2fa6e1(0x288),_0x2fa6e1(0x1f1),_0x2fa6e1(0x28f),_0x2fa6e1(0x200),_0x2fa6e1(0x1c2),_0x2fa6e1(0x27e),_0x2fa6e1(0x1c0),_0x2fa6e1(0x1b3),_0x2fa6e1(0x24d),_0x9c28b2(0x160),_0x2fa6e1(0x225),_0x2fa6e1(0x1f3),_0x2fa6e1(0x20f),_0x379acb(0x22d),_0x2fa6e1(0x22d),_0x2fa6e1(0x234),_0x9c28b2(0xac),_0x2fa6e1(0x299),_0x2fa6e1(0x28d),_0x9c28b2(0x18e),_0x2fa6e1(0x298),_0x2fa6e1(0x260),_0x9c28b2(0x123),_0x2fa6e1(0x1bd),_0x2fa6e1(0x29e),_0x2fa6e1(0x220),_0x2fa6e1(0x208),_0x2fa6e1(0x242),_0x2fa6e1(0x268),_0x2fa6e1(0x262),_0x2fa6e1(0x274),_0x2fa6e1(0x270),_0x2fa6e1(0x27f),_0x2fa6e1(0x1d7),_0x9c28b2(0x18b),_0x2fa6e1(0x224),_0x2fa6e1(0x1da),_0x2fa6e1(0x230),_0x379acb(0x189),_0x2fa6e1(0x22c),_0x2fa6e1(0x25e),_0x2fa6e1(0x295),_0x2fa6e1(0x29a),_0x2fa6e1(0x213),_0x2fa6e1(0x210),_0x2fa6e1(0x20a),_0x2fa6e1(0x23c),_0x9c28b2(0x184),_0x2fa6e1(0x22e),_0x2fa6e1(0x2b9),_0x2fa6e1(0x279),_0x2fa6e1(0x21a),_0x2fa6e1(0x246),_0x379acb(0x1b4),_0x379acb(0x24d),_0x2fa6e1(0x1c8),_0x9c28b2(0xe9),_0x2fa6e1(0x23e),_0x2fa6e1(0x273),_0x2fa6e1(0x2b0),_0x9c28b2(0x13d),_0x2fa6e1(0x291),_0x2fa6e1(0x227),_0x2fa6e1(0x1ed),_0x9c28b2(0x1b4),_0x2fa6e1(0x1ab),_0x2fa6e1(0x23f),_0x2fa6e1(0x237),_0x2fa6e1(0x2b6),_0x2fa6e1(0x236),_0x9c28b2(0x19b),_0x2fa6e1(0x212),_0x2fa6e1(0x26a),_0x2fa6e1(0x216),_0x2fa6e1(0x1a7),_0x9c28b2(0x147),_0x2fa6e1(0x249),_0x9c28b2(0x17e),_0x2fa6e1(0x1fb),_0x379acb(0x1ac),_0x9c28b2(0x107),_0x2fa6e1(0x1fa),_0x2fa6e1(0x2a2),_0x2fa6e1(0x1e9),_0x2fa6e1(0x259),_0x2fa6e1(0x1cf),_0x2fa6e1(0x287),_0x2fa6e1(0x1f4),_0x2fa6e1(0x226),_0x386679(0x2c0),_0x2fa6e1(0x2a4),_0x2fa6e1(0x257),_0x2fa6e1(0x223),_0x2fa6e1(0x1de),_0x9c28b2(0xbc),_0x2fa6e1(0x228),_0x2fa6e1(0x2aa),_0x2fa6e1(0x2ad),_0x2fa6e1(0x1f2),_0x2fa6e1(0x256),_0x2fa6e1(0x1f5),_0x2fa6e1(0x1d0),_0x9c28b2(0x139),_0x2fa6e1(0x25b),_0x2fa6e1(0x229),_0x2fa6e1(0x1a6),_0x2fa6e1(0x1a0),_0x2fa6e1(0x203),_0x2fa6e1(0x25f),_0x2fa6e1(0x219),_0x2fa6e1(0x2bb),_0x2fa6e1(0x1d4),_0x2fa6e1(0x1be),_0x2fa6e1(0x29d),_0x379acb(0x20a),_0x379acb(0x157),_0x2fa6e1(0x1fd),_0x9c28b2(0xa3),_0x9c28b2(0xc0),_0x2fa6e1(0x1f8),_0x2fa6e1(0x22a),_0x2fa6e1(0x2a8),_0x2fa6e1(0x271),_0x2fa6e1(0x238),_0x2fa6e1(0x1e3),_0x2fa6e1(0x297),_0x2fa6e1(0x239),_0x2fa6e1(0x28e),_0x2fa6e1(0x218),_0x2fa6e1(0x1af),_0x2fa6e1(0x232),_0x2fa6e1(0x21c),_0x2fa6e1(0x2a6),_0x9c28b2(0x134),_0x2fa6e1(0x286),_0x9c28b2(0xea),_0x9c28b2(0x13b),_0x2fa6e1(0x1ac),_0x2fa6e1(0x1a2),_0x2fa6e1(0x290),_0x2fa6e1(0x1ea),_0x2fa6e1(0x2ae),_0x2fa6e1(0x28a),_0x2fa6e1(0x2b1),_0x9c28b2(0xad),_0x2fa6e1(0x231),_0x2fa6e1(0x1e0),_0x2fa6e1(0x1a1),_0x379acb(0x1d1),_0x2fa6e1(0x1bf),_0x2fa6e1(0x277),_0x379acb(0x191),_0x2fa6e1(0x1d9),_0x2fa6e1(0x1dd),_0x2fa6e1(0x264),_0x9c28b2(0x150),_0x9c28b2(0xcb),_0x2fa6e1(0x1eb),_0x2fa6e1(0x2a7),_0x2fa6e1(0x24e),_0x2fa6e1(0x1a8),_0x2fa6e1(0x1b9),_0x2fa6e1(0x283),_0x2fa6e1(0x2b5),_0x2fa6e1(0x1bc),_0x2fa6e1(0x25d),_0x2fa6e1(0x24a),_0x2fa6e1(0x1e6),_0x2fa6e1(0x2a0),_0x2fa6e1(0x1b2),_0x2fa6e1(0x1b0),_0x2fa6e1(0x1cc),_0x2fa6e1(0x1a9),_0x2fa6e1(0x285),_0x2fa6e1(0x2ab),_0x2fa6e1(0x25c),_0x2fa6e1(0x252),_0x2fa6e1(0x22b),_0x2fa6e1(0x293),_0x2fa6e1(0x26b),_0x2fa6e1(0x284),_0x2fa6e1(0x296),_0x2fa6e1(0x240),_0x2fa6e1(0x1f6),_0x2fa6e1(0x1f7),_0x9c28b2(0x162),_0x9c28b2(0xee),_0x386679(0x2aa),_0x9c28b2(0x103),_0x9c28b2(0x19f),_0x2fa6e1(0x2b8),_0x2fa6e1(0x1c1),_0x379acb(0x181),_0x2fa6e1(0x29c)];return a0_0x47ff=function(){return _0xac1507;},a0_0x47ff();}function a0_0x413e(_0x1b39e0,_0x45d241){var _0x2b5fde=a0_0x21c5();return a0_0x413e=function(_0x2b8a14,_0xf8cc25){_0x2b8a14=_0x2b8a14-0xc5;var _0xd481fa=_0x2b5fde[_0x2b8a14];return _0xd481fa;},a0_0x413e(_0x1b39e0,_0x45d241);}function a0_0x5baf(){var _0x189f35=a0_0x413e,_0x1a3903=a0_0x543f,_0xa1c3a6=a0_0x5a15,_0x179824=a0_0x2c3f,_0x4635e1=a0_0x2f41,_0x5d2697=[_0x4635e1(0x1d3),_0xa1c3a6(0x22e),_0xa1c3a6(0x24c),_0x4635e1(0x19d),_0x4635e1(0x1fe),_0x179824(0xe8),_0x179824(0xc5),_0x4635e1(0x230),_0x4635e1(0x1b8),_0x4635e1(0x1b6),_0x4635e1(0x1f5),_0x4635e1(0x191),_0x4635e1(0x254),_0x179824(0x182),_0x4635e1(0x25b),_0x4635e1(0x28f),_0x4635e1(0x285),_0xa1c3a6(0x1b9),_0x179824(0xd7),_0x4635e1(0x238),_0x179824(0x170),_0x4635e1(0x29c),_0x179824(0x13c),_0x4635e1(0x252),_0x4635e1(0x2a8),_0x1a3903(0x111),_0x4635e1(0x1b5),_0x179824(0x16c),_0x4635e1(0x196),_0x179824(0x1a0),_0x179824(0x1d2),_0x4635e1(0x1ea),_0x179824(0x143),_0x4635e1(0x200),_0x179824(0x148),_0x4635e1(0x223),_0xa1c3a6(0x241),_0x4635e1(0x1c2),_0x4635e1(0x1b7),_0x4635e1(0x24c),_0x4635e1(0x1f2),_0x4635e1(0x278),_0x4635e1(0x2a1),_0x4635e1(0x244),_0x4635e1(0x192),_0x4635e1(0x212),_0x179824(0x12a),_0x4635e1(0x23c),_0x4635e1(0x206),_0x4635e1(0x233),_0x4635e1(0x1f9),_0x4635e1(0x220),_0x4635e1(0x183),_0x4635e1(0x29a),_0x4635e1(0x291),_0x4635e1(0x27e),_0x4635e1(0x1d4),_0x4635e1(0x1ed),_0x179824(0x1a9),_0x4635e1(0x241),_0x179824(0x185),_0x4635e1(0x1e3),_0x179824(0xdc),_0x4635e1(0x19c),_0x4635e1(0x24a),_0xa1c3a6(0x286),_0x4635e1(0x1c8),_0x4635e1(0x27f),_0x4635e1(0x2a0),_0x4635e1(0x1e6),_0x4635e1(0x180),_0x4635e1(0x24f),_0x179824(0x1a1),_0x4635e1(0x1e4),_0x179824(0x160),_0xa1c3a6(0x235),_0x4635e1(0x187),_0xa1c3a6(0x240),_0x4635e1(0x1c7),_0x4635e1(0x247),_0x4635e1(0x24e),_0x4635e1(0x20e),_0x179824(0x13d),_0x4635e1(0x219),_0x179824(0x1ca),_0x4635e1(0x239),_0x4635e1(0x29f),_0x4635e1(0x29d),_0x4635e1(0x288),_0x4635e1(0x1c1),_0x4635e1(0x1e8),_0x4635e1(0x1a5),_0x4635e1(0x259),_0x4635e1(0x22c),_0x4635e1(0x1c6),_0x4635e1(0x1a1),_0x1a3903(0x11d),_0x4635e1(0x263),_0x179824(0x1ad),_0x4635e1(0x190),_0x179824(0x10e),_0x4635e1(0x1f7),_0x4635e1(0x1a3),_0x4635e1(0x2a7),_0x4635e1(0x1ce),_0x4635e1(0x217),_0x4635e1(0x181),_0x4635e1(0x213),_0x4635e1(0x271),_0x4635e1(0x229),_0x4635e1(0x280),_0x4635e1(0x195),_0x4635e1(0x251),_0x4635e1(0x232),_0x4635e1(0x1ee),_0x4635e1(0x269),_0x4635e1(0x1db),_0x4635e1(0x198),_0x4635e1(0x28b),_0x4635e1(0x22d),_0x4635e1(0x1b2),_0x1a3903(0x1c6),_0x4635e1(0x2a3),_0x4635e1(0x276),_0x179824(0x17e),_0x4635e1(0x1c3),_0x4635e1(0x1d6),_0x4635e1(0x205),_0x4635e1(0x18f),_0x179824(0x1a8),_0x4635e1(0x1a0),_0x179824(0x1cf),_0x4635e1(0x19f),_0x4635e1(0x1d9),_0x179824(0xf5),_0x179824(0xcb),_0x179824(0x106),_0x4635e1(0x274),_0x4635e1(0x270),_0x4635e1(0x20d),_0x4635e1(0x235),_0x189f35(0x18d),_0x4635e1(0x20b),_0x4635e1(0x297),_0x4635e1(0x1bb),_0x4635e1(0x1ff),_0x4635e1(0x1bf),_0x4635e1(0x283),_0x4635e1(0x21d),_0x179824(0x126),_0x4635e1(0x281),_0x4635e1(0x1cb),_0x4635e1(0x19b),_0x4635e1(0x22f),_0x4635e1(0x27c),_0x4635e1(0x1d2),_0x4635e1(0x1c5),_0x4635e1(0x28a),_0x4635e1(0x1a9),_0x4635e1(0x1e0),_0x4635e1(0x1c4),_0x179824(0x15a),_0x4635e1(0x2aa),_0xa1c3a6(0x1a2),_0x4635e1(0x18c),_0xa1c3a6(0x1a8),_0x4635e1(0x1cf),_0x4635e1(0x25d),_0x4635e1(0x237),_0x4635e1(0x21e),_0x4635e1(0x1dc),_0x4635e1(0x1cc),_0x4635e1(0x18b),_0x4635e1(0x18e),_0x4635e1(0x279),_0x179824(0x12d),_0x179824(0xdb),_0x4635e1(0x186),_0x4635e1(0x1aa),_0x4635e1(0x231),_0x179824(0xf0),_0x4635e1(0x25f),_0x179824(0x198),_0x4635e1(0x228),_0x4635e1(0x24b),_0x179824(0x132),_0x4635e1(0x209),_0xa1c3a6(0x19e),_0x179824(0x1db),_0x4635e1(0x23f),_0x4635e1(0x22b),_0x4635e1(0x211),_0x4635e1(0x1df),_0x4635e1(0x2a2),_0x4635e1(0x289),_0x179824(0x16d),_0x4635e1(0x255),_0x4635e1(0x20a),_0x4635e1(0x1a2),_0x4635e1(0x29e),_0x4635e1(0x293),_0x4635e1(0x290),_0xa1c3a6(0x1ad),_0x179824(0x156),_0x4635e1(0x1d5),_0x4635e1(0x236),_0x179824(0x1b1),_0x179824(0x168),_0x4635e1(0x1d1),_0x4635e1(0x1b1),_0x4635e1(0x1ec),_0xa1c3a6(0x17e),_0x4635e1(0x216),_0x4635e1(0x25a),_0x4635e1(0x250),_0x4635e1(0x207),_0x4635e1(0x26e),_0x4635e1(0x210),_0x4635e1(0x1e2),_0x4635e1(0x215),_0x4635e1(0x19e),_0x179824(0x15e),_0x4635e1(0x189),_0x4635e1(0x287),_0x179824(0x1c4),_0x4635e1(0x1af),_0x4635e1(0x199),_0x179824(0x100),_0x179824(0x14c),_0x4635e1(0x1bd),_0x4635e1(0x292),_0x4635e1(0x266),_0x179824(0x196),_0x4635e1(0x28c),_0x179824(0x1a6),_0x4635e1(0x262),_0x4635e1(0x242),_0x179824(0x164),_0x179824(0xf1),_0x4635e1(0x277),_0x179824(0xec),_0x179824(0x120),_0x4635e1(0x273),_0x4635e1(0x221),_0x179824(0xc9),_0x4635e1(0x2ab),_0x4635e1(0x23e),_0x4635e1(0x265),_0x4635e1(0x261),_0x179824(0xe9),_0x4635e1(0x25c),_0x4635e1(0x234),_0x4635e1(0x1f4),_0x4635e1(0x248),_0x4635e1(0x29b),_0x4635e1(0x1bc),_0x4635e1(0x2a6),_0x179824(0x1b8),_0x4635e1(0x1e5),_0x4635e1(0x1d0),_0x4635e1(0x1f1),_0x4635e1(0x1b4),_0x4635e1(0x1c9),_0x4635e1(0x227),_0x4635e1(0x1f6),_0x4635e1(0x299),_0x179824(0x17b),_0x4635e1(0x21f),_0x4635e1(0x258),_0xa1c3a6(0x199),_0x4635e1(0x27d),_0x4635e1(0x275),_0x4635e1(0x222),_0x4635e1(0x1a7),_0x4635e1(0x1ef),_0x189f35(0x153),_0x4635e1(0x296),_0x4635e1(0x26a),_0x4635e1(0x24d),_0x4635e1(0x193),_0x179824(0x1bd),_0x179824(0x12e),_0x4635e1(0x1d7),_0x4635e1(0x268),_0xa1c3a6(0x21b),_0x4635e1(0x194),_0xa1c3a6(0x1aa),_0x179824(0x1cb),_0x179824(0x172),_0x4635e1(0x1ac),_0x179824(0x107),_0x179824(0xd8)];return a0_0x5baf=function(){return _0x5d2697;},a0_0x5baf();}function a0_0x107a(_0x4f1ffd,_0x28bba7){var _0x9d02dd=a0_0x1cc3();return a0_0x107a=function(_0x2f0848,_0x3d9351){_0x2f0848=_0x2f0848-0xcf;var _0x41dd27=_0x9d02dd[_0x2f0848];return _0x41dd27;},a0_0x107a(_0x4f1ffd,_0x28bba7);}function a0_0x491c(_0x59d7b7,_0x496592){var _0x56e83c=a0_0x1f6c();return a0_0x491c=function(_0x32a85a,_0x33c455){_0x32a85a=_0x32a85a-0x10a;var _0x1a919a=_0x56e83c[_0x32a85a];return _0x1a919a;},a0_0x491c(_0x59d7b7,_0x496592);}function a0_0x284e(_0x2d7d5e,_0x32714d){var _0x6203ad=a0_0x179f();return a0_0x284e=function(_0x57c168,_0x3d5606){_0x57c168=_0x57c168-0xde;var _0x2ede38=_0x6203ad[_0x57c168];return _0x2ede38;},a0_0x284e(_0x2d7d5e,_0x32714d);}function a0_0x46c3(_0x9e6bbe,_0x363c85){var _0x419a60=a0_0xfff2();return a0_0x46c3=function(_0x24c197,_0xdef36d){_0x24c197=_0x24c197-0x185;var _0x240765=_0x419a60[_0x24c197];return _0x240765;},a0_0x46c3(_0x9e6bbe,_0x363c85);}function a0_0x44bc(){var _0x532da5=a0_0x543f,_0x164fae=a0_0x2c3f,_0x3ea50b=a0_0x2f41,_0x4d7f5d=a0_0x1a8e,_0x1264d5=a0_0x1275,_0x19d06c=[_0x1264d5(0x167),_0x532da5(0xe9),_0x4d7f5d(0x234),_0x1264d5(0x226),_0x1264d5(0x1a7),_0x1264d5(0x13c),_0x1264d5(0x19c),_0x4d7f5d(0x272),_0x4d7f5d(0x1fa),_0x4d7f5d(0x1df),_0x4d7f5d(0x240),_0x1264d5(0x222),_0x1264d5(0x1a1),_0x1264d5(0x1b0),_0x3ea50b(0x1a8),_0x1264d5(0x138),_0x1264d5(0x23b),_0x1264d5(0x15f),_0x4d7f5d(0x215),_0x1264d5(0x1ec),_0x1264d5(0x1eb),_0x1264d5(0x1dc),_0x1264d5(0x1f9),_0x1264d5(0x1cb),_0x1264d5(0x194),_0x1264d5(0x1c9),_0x1264d5(0x190),_0x1264d5(0x1aa),_0x1264d5(0x179),_0x1264d5(0x199),_0x3ea50b(0x20c),_0x1264d5(0x24f),_0x1264d5(0x24e),_0x1264d5(0x1ce),_0x4d7f5d(0x1a3),_0x1264d5(0x1f5),_0x4d7f5d(0x2c1),_0x1264d5(0x146),_0x3ea50b(0x1ca),_0x1264d5(0x1a4),_0x4d7f5d(0x1af),_0x1264d5(0x1ed),_0x4d7f5d(0x1fd),_0x1264d5(0x1ef),_0x4d7f5d(0x26b),_0x1264d5(0x1b1),_0x1264d5(0x228),_0x4d7f5d(0x2b8),_0x1264d5(0x18b),_0x4d7f5d(0x25d),_0x1264d5(0x215),_0x1264d5(0x1e9),_0x1264d5(0x165),_0x1264d5(0x18e),_0x4d7f5d(0x26c),_0x1264d5(0x196),_0x1264d5(0x207),_0x1264d5(0x17c),_0x1264d5(0x1a0),_0x1264d5(0x1c1),_0x4d7f5d(0x1e0),_0x1264d5(0x1fb),_0x4d7f5d(0x274),_0x4d7f5d(0x229),_0x1264d5(0x158),_0x1264d5(0x219),_0x4d7f5d(0x1eb),_0x3ea50b(0x28e),_0x1264d5(0x15c),_0x3ea50b(0x1da),_0x1264d5(0x145),_0x1264d5(0x225),_0x1264d5(0x1d9),_0x4d7f5d(0x1d5),_0x1264d5(0x14a),_0x1264d5(0x13a),_0x4d7f5d(0x1d1),_0x1264d5(0x248),_0x1264d5(0x220),_0x1264d5(0x16d),_0x1264d5(0x1f2),_0x164fae(0x12b),_0x1264d5(0x166),_0x4d7f5d(0x1c7),_0x1264d5(0x13d),_0x1264d5(0x23a),_0x1264d5(0x1b8),_0x4d7f5d(0x1d7),_0x1264d5(0x1d4),_0x1264d5(0x151),_0x1264d5(0x13e),_0x1264d5(0x12e),_0x1264d5(0x1f8),_0x4d7f5d(0x28d),_0x1264d5(0x17d),_0x1264d5(0x1c0),_0x1264d5(0x163),_0x1264d5(0x1e7),_0x1264d5(0x1b9),_0x1264d5(0x147),_0x3ea50b(0x1c0),_0x1264d5(0x1be),_0x4d7f5d(0x1f2),_0x164fae(0xce),_0x4d7f5d(0x2a1),_0x1264d5(0x195),_0x4d7f5d(0x2b1),_0x1264d5(0x153),_0x1264d5(0x173),_0x1264d5(0x152),_0x1264d5(0x159),_0x4d7f5d(0x1a2),_0x1264d5(0x1c2),_0x1264d5(0x1d6),_0x1264d5(0x235),_0x1264d5(0x1e2),_0x1264d5(0x19d),_0x1264d5(0x1d8),_0x1264d5(0x198),_0x1264d5(0x169),_0x1264d5(0x24c),_0x1264d5(0x230),_0x1264d5(0x172),_0x1264d5(0x15b),_0x1264d5(0x21c),_0x164fae(0x177),_0x1264d5(0x24a),_0x1264d5(0x185),_0x1264d5(0x244),_0x3ea50b(0x1dd),_0x4d7f5d(0x1f8),_0x1264d5(0x227),_0x4d7f5d(0x1cc),_0x1264d5(0x148),_0x1264d5(0x243),_0x1264d5(0x18d),_0x1264d5(0x246),_0x1264d5(0x14f),_0x1264d5(0x1c5),_0x1264d5(0x1a9),_0x1264d5(0x197),_0x1264d5(0x224),_0x1264d5(0x214),_0x4d7f5d(0x26a),_0x1264d5(0x218),_0x1264d5(0x20e),_0x1264d5(0x1b7),_0x1264d5(0x156),_0x1264d5(0x178),_0x4d7f5d(0x1b4),_0x1264d5(0x16b),_0x1264d5(0x161),_0x1264d5(0x12d),_0x1264d5(0x16f),_0x1264d5(0x1e8),_0x3ea50b(0x26f),_0x1264d5(0x249),_0x1264d5(0x12f),_0x4d7f5d(0x1ba),_0x1264d5(0x142),_0x1264d5(0x188),_0x1264d5(0x1a8),_0x1264d5(0x23e),_0x1264d5(0x1bc),_0x1264d5(0x16c),_0x1264d5(0x231),_0x1264d5(0x1fc),_0x3ea50b(0x224),_0x1264d5(0x1cf),_0x4d7f5d(0x276),_0x1264d5(0x212),_0x3ea50b(0x1b0),_0x1264d5(0x20c),_0x4d7f5d(0x212),_0x1264d5(0x1df),_0x4d7f5d(0x254),_0x1264d5(0x18f),_0x1264d5(0x1fa),_0x1264d5(0x22a),_0x1264d5(0x1b2),_0x1264d5(0x19e),_0x1264d5(0x139),_0x4d7f5d(0x223),_0x1264d5(0x17b),_0x1264d5(0x1d2),_0x3ea50b(0x1b3),_0x3ea50b(0x23a),_0x1264d5(0x22c),_0x1264d5(0x21f),_0x4d7f5d(0x22d),_0x1264d5(0x1ba),_0x1264d5(0x136),_0x1264d5(0x155),_0x1264d5(0x22e),_0x1264d5(0x1cc),_0x1264d5(0x180),_0x1264d5(0x247),_0x1264d5(0x1ee),_0x3ea50b(0x21c),_0x1264d5(0x237),_0x1264d5(0x221),_0x1264d5(0x1e1),_0x1264d5(0x1a5),_0x1264d5(0x1e0),_0x1264d5(0x1b3),_0x4d7f5d(0x1a4),_0x1264d5(0x240),_0x1264d5(0x206),_0x4d7f5d(0x214),_0x4d7f5d(0x1a7),_0x1264d5(0x137),_0x4d7f5d(0x206),_0x1264d5(0x15e),_0x1264d5(0x19b),_0x1264d5(0x14b),_0x4d7f5d(0x286),_0x1264d5(0x204),_0x1264d5(0x1d5),_0x4d7f5d(0x20c),_0x1264d5(0x1f4),_0x1264d5(0x183),_0x3ea50b(0x28d),_0x1264d5(0x21e),_0x1264d5(0x20f),_0x3ea50b(0x1eb),_0x1264d5(0x22f),_0x1264d5(0x1e3),_0x4d7f5d(0x29c),_0x1264d5(0x217),_0x1264d5(0x144),_0x1264d5(0x154),_0x1264d5(0x233),_0x1264d5(0x1bb),_0x1264d5(0x17f),_0x1264d5(0x168),_0x1264d5(0x1c6),_0x1264d5(0x21a),_0x1264d5(0x239),_0x1264d5(0x1dd),_0x1264d5(0x210),_0x3ea50b(0x27b),_0x1264d5(0x200),_0x4d7f5d(0x1f3),_0x1264d5(0x174),_0x1264d5(0x1ae),_0x1264d5(0x19a),_0x4d7f5d(0x1b8),_0x1264d5(0x1b6),_0x1264d5(0x193),_0x1264d5(0x17e),_0x1264d5(0x17a),_0x1264d5(0x232),_0x1264d5(0x18a),_0x1264d5(0x175),_0x1264d5(0x1bf),_0x1264d5(0x171),_0x1264d5(0x241),_0x164fae(0x175),_0x4d7f5d(0x210),_0x1264d5(0x1d7),_0x1264d5(0x1ab),_0x1264d5(0x223),_0x1264d5(0x1fd),_0x1264d5(0x170),_0x1264d5(0x149),_0x1264d5(0x160),_0x3ea50b(0x245),_0x1264d5(0x229),_0x4d7f5d(0x26d),_0x1264d5(0x1f3),_0x1264d5(0x22b),_0x1264d5(0x1fe),_0x4d7f5d(0x288),_0x4d7f5d(0x201),_0x1264d5(0x208),_0x1264d5(0x23f)];return a0_0x44bc=function(){return _0x19d06c;},a0_0x44bc();}function a0_0x5754(_0x3b5e5d,_0x4ec61e){var _0x516836=a0_0x58e4();return a0_0x5754=function(_0x2927b8,_0x29acf0){_0x2927b8=_0x2927b8-0x69;var _0x110226=_0x516836[_0x2927b8];return _0x110226;},a0_0x5754(_0x3b5e5d,_0x4ec61e);}function a0_0x4e13(){var _0x44abaa=a0_0x2f85,_0xaa38ee=a0_0x413e,_0x38506e=a0_0x543f,_0x443577=a0_0x5a15,_0x100c39=[_0x443577(0x1ce),_0x443577(0x231),_0x443577(0x1c9),_0xaa38ee(0x1d5),_0x443577(0x1ca),_0x443577(0x237),_0x443577(0x25c),_0x443577(0x1d6),_0x443577(0x223),_0x443577(0x266),_0x443577(0x1e5),_0x443577(0x1b0),_0x38506e(0x1b7),_0x443577(0x279),_0x443577(0x28c),_0x38506e(0x1ae),_0x443577(0x283),_0x443577(0x151),_0x443577(0x15b),_0x443577(0x1f6),_0x443577(0x187),_0xaa38ee(0xd5),_0x443577(0x1fd),_0x443577(0x213),_0x443577(0x1f9),_0x443577(0x1f4),_0x38506e(0x158),_0xaa38ee(0xf4),_0x443577(0x174),_0x443577(0x1b1),_0x38506e(0x100),_0x443577(0x250),_0x443577(0x1d1),_0x443577(0x1cd),_0x443577(0x160),_0x443577(0x207),_0x443577(0x1e4),_0x443577(0x23a),_0x443577(0x185),_0x443577(0x288),_0x443577(0x229),_0x38506e(0x174),_0x443577(0x1fb),_0x38506e(0x120),_0x443577(0x18d),_0x443577(0x245),_0x443577(0x1c1),_0x443577(0x236),_0x443577(0x19c),_0xaa38ee(0x121),_0x443577(0x205),_0x443577(0x1d3),_0x443577(0x218),_0x443577(0x164),_0x443577(0x16a),_0x443577(0x20c),_0x38506e(0x14e),_0x443577(0x181),_0x443577(0x21d),_0x443577(0x157),_0x443577(0x22a),_0x443577(0x1e3),_0x443577(0x1a0),_0x443577(0x168),_0x443577(0x15c),_0xaa38ee(0x178),_0x38506e(0x1cb),_0x443577(0x1df),_0x443577(0x244),_0x38506e(0xed),_0x443577(0x197),_0x443577(0x243),_0x443577(0x161),_0x443577(0x1f7),_0x443577(0x1b2),_0x443577(0x216),_0x443577(0x27f),_0x443577(0x293),_0x443577(0x1b7),_0x443577(0x173),_0x38506e(0x162),_0x443577(0x26f),_0x443577(0x251),_0x443577(0x212),_0x443577(0x17a),_0x443577(0x1ac),_0x443577(0x1da),_0x443577(0x18f),_0x38506e(0x135),_0x443577(0x1b4),_0x38506e(0x147),_0x443577(0x16d),_0x443577(0x21c),_0x443577(0x14f),_0x443577(0x192),_0x443577(0x1b6),_0x443577(0x289),_0x443577(0x287),_0x443577(0x282),_0x443577(0x18e),_0x38506e(0x1dc),_0x443577(0x267),_0x443577(0x256),_0xaa38ee(0xcc),_0x443577(0x1be),_0x38506e(0xff),_0x38506e(0x123),_0x443577(0x1a5),_0x443577(0x1cc),_0x443577(0x152),_0x443577(0x25e),_0x38506e(0x139),_0x38506e(0x195),_0x38506e(0x182),_0xaa38ee(0x1a1),_0x443577(0x1eb),_0x443577(0x1bd),_0x443577(0x1a6),_0x443577(0x156),_0x443577(0x225),_0x38506e(0x1df),_0x443577(0x17b),_0x443577(0x1ec),_0xaa38ee(0xd6),_0x38506e(0x1b9),_0x443577(0x170),_0x443577(0x21e),_0x443577(0x1fa),_0x443577(0x25a),_0x38506e(0x18c),_0x443577(0x26a),_0x443577(0x230),_0x443577(0x1de),_0x443577(0x19d),_0x443577(0x27c),_0x443577(0x269),_0x443577(0x1bc),_0x443577(0x167),_0x443577(0x1f0),_0xaa38ee(0xed),_0x443577(0x226),_0x443577(0x28e),_0x443577(0x270),_0x443577(0x1dd),_0x443577(0x26c),_0x443577(0x224),_0x443577(0x1d7),_0x44abaa(0x1a3),_0x443577(0x24f),_0x443577(0x264),_0x443577(0x150),_0x443577(0x163),_0x443577(0x1d5),_0x443577(0x23c),_0x38506e(0x15f),_0x443577(0x171),_0x443577(0x210),_0x443577(0x1c3),_0x443577(0x154),_0x443577(0x24d),_0x443577(0x1bb),_0x443577(0x166),_0x443577(0x222),_0x38506e(0x136),_0x443577(0x25b),_0x443577(0x16b),_0x443577(0x15f),_0x443577(0x281),_0x443577(0x214),_0x443577(0x1a7),_0x443577(0x198),_0x443577(0x261),_0x443577(0x1d0),_0x443577(0x1ef),_0x443577(0x247),_0x443577(0x176),_0x38506e(0x17f),_0x443577(0x24a),_0x443577(0x277),_0xaa38ee(0x1a4),_0x443577(0x1fe),_0x38506e(0x118),_0x443577(0x1d9),_0x443577(0x1f8),_0x443577(0x239),_0x443577(0x1f1),_0x443577(0x273),_0x443577(0x24e),_0x443577(0x271),_0x443577(0x24b),_0x443577(0x19b),_0x38506e(0x184),_0x443577(0x183),_0x443577(0x1e1),_0x38506e(0x1a0),_0x443577(0x23e),_0x38506e(0x117),_0x38506e(0x15b),_0x443577(0x221),_0x443577(0x255),_0x443577(0x1bf),_0x443577(0x190),_0x443577(0x27a),_0x443577(0x22f),_0x443577(0x180),_0x443577(0x184),_0x443577(0x25d),_0x443577(0x16c),_0x443577(0x1d2),_0x443577(0x228),_0xaa38ee(0x19c),_0x443577(0x20a),_0x443577(0x159),_0x443577(0x22d),_0x443577(0x290),_0x443577(0x165),_0x443577(0x189),_0x38506e(0x1ea),_0x443577(0x1b3),_0x443577(0x296),_0x443577(0x1c5),_0x443577(0x1e2),_0x443577(0x169),_0x443577(0x1fc),_0x443577(0x162),_0x443577(0x15a),_0xaa38ee(0x17b),_0x443577(0x1c7),_0x443577(0x284),_0x443577(0x249),_0x443577(0x1b5),_0x443577(0x158),_0x443577(0x1ed),_0x443577(0x248),_0x443577(0x276),_0x443577(0x1e8),_0x38506e(0x129),_0x443577(0x179),_0x443577(0x238),_0x443577(0x278),_0xaa38ee(0x10e),_0x443577(0x1c4),_0x443577(0x1db),_0x443577(0x1ae),_0x443577(0x28a),_0x443577(0x252),_0x38506e(0x213),_0x443577(0x26e),_0x443577(0x23d),_0x443577(0x1f2),_0x38506e(0x1ff),_0x443577(0x1c0),_0x44abaa(0x196),_0x443577(0x259),_0x443577(0x285),_0x38506e(0x108),_0x443577(0x208),_0x38506e(0x1e8),_0x443577(0x201),_0x38506e(0xf3),_0x38506e(0xf9),_0x443577(0x186),_0x443577(0x1ff),_0x38506e(0x206),_0x443577(0x209),_0x443577(0x1f5),_0x443577(0x1e7),_0x443577(0x211),_0x443577(0x297),_0x443577(0x191),_0x38506e(0x14b),_0x443577(0x1ee),_0x443577(0x202),_0x38506e(0x199),_0x443577(0x1c8),_0x38506e(0x19c),_0x443577(0x220),_0x443577(0x18a),_0x38506e(0x109),_0x38506e(0x1d5),_0x443577(0x172),_0x38506e(0xe8),_0x443577(0x18b),_0x443577(0x275),_0x38506e(0x1cc),_0x443577(0x194),_0xaa38ee(0x161),_0x443577(0x17f),_0x443577(0x1ab),_0x443577(0x177),_0x443577(0x21f),_0x38506e(0x15a),_0x443577(0x263),_0x443577(0x1a4),_0x443577(0x227),_0x38506e(0x1fc),_0x443577(0x254),_0x443577(0x1af),_0x443577(0x20b),_0x443577(0x1c6),_0x443577(0x1b8),_0x38506e(0x1c5),_0x38506e(0x155),_0x38506e(0xef),_0x443577(0x215),_0x38506e(0x1cf),_0x443577(0x17c)];return a0_0x4e13=function(){return _0x100c39;},a0_0x4e13();}function a0_0x2c3f(_0x4b3a13,_0x4b7fc6){var _0x10fcf7=a0_0x4e13();return a0_0x2c3f=function(_0x5bfaf9,_0xca6b6b){_0x5bfaf9=_0x5bfaf9-0xc3;var _0x7760a8=_0x10fcf7[_0x5bfaf9];return _0x7760a8;},a0_0x2c3f(_0x4b3a13,_0x4b7fc6);}function a0_0x543f(_0x17e8d4,_0x486b1a){var _0x523885=a0_0x1e4b();return a0_0x543f=function(_0x47e610,_0x34377f){_0x47e610=_0x47e610-0xdb;var _0x5e3c18=_0x523885[_0x47e610];return _0x5e3c18;},a0_0x543f(_0x17e8d4,_0x486b1a);}function a0_0x32fc(_0x509266,_0x399b38){var _0x3c76fb=a0_0x2c19();return a0_0x32fc=function(_0x157740,_0x387db0){_0x157740=_0x157740-0x19e;var _0x231858=_0x3c76fb[_0x157740];return _0x231858;},a0_0x32fc(_0x509266,_0x399b38);}function a0_0xfff2(){var _0xf0201c=a0_0x32fc,_0x5be3ac=a0_0x8457,_0x47fbd8=a0_0x3ebb,_0x85d20d=a0_0x58d6,_0x1ea640=[_0x85d20d(0x22b),_0x85d20d(0x1d1),_0x85d20d(0x18d),_0x85d20d(0x178),_0x85d20d(0x162),_0x85d20d(0x207),_0x85d20d(0x22a),_0x47fbd8(0x1f8),_0x5be3ac(0x287),_0x85d20d(0x1c4),_0x5be3ac(0x21b),_0x85d20d(0x20e),_0x85d20d(0x17f),_0x47fbd8(0x1bb),_0xf0201c(0x1c5),_0x85d20d(0x180),_0x85d20d(0x16e),_0x85d20d(0x153),_0x47fbd8(0x18e),_0x85d20d(0x179),_0x47fbd8(0x1a6),_0x85d20d(0x1ea),_0x85d20d(0x211),_0x85d20d(0x1e4),_0x85d20d(0x141),_0x85d20d(0x146),_0x85d20d(0x223),_0x47fbd8(0x194),_0x85d20d(0x17e),_0x85d20d(0x16c),_0x85d20d(0x14c),_0x85d20d(0x1c1),_0x5be3ac(0x273),_0x47fbd8(0x1d3),_0x85d20d(0x214),_0x47fbd8(0x147),_0x85d20d(0x19a),_0x85d20d(0x176),_0x5be3ac(0x1d4),_0x85d20d(0x1f9),_0x85d20d(0x1a2),_0x47fbd8(0x201),_0x85d20d(0x1c2),_0x85d20d(0x14f),_0x85d20d(0x228),_0x47fbd8(0x111),_0x85d20d(0x1f0),_0x85d20d(0x1ce),_0x85d20d(0x148),_0x85d20d(0x175),_0x85d20d(0x1be),_0x85d20d(0x16b),_0x85d20d(0x161),_0x85d20d(0x1e0),_0x47fbd8(0x1b3),_0x85d20d(0x18e),_0x85d20d(0x1ca),_0x85d20d(0x16a),_0x85d20d(0x1cc),_0x47fbd8(0x185),_0x47fbd8(0x187),_0x47fbd8(0x18f),_0x85d20d(0x20b),_0x85d20d(0x1d9),_0x85d20d(0x206),_0x47fbd8(0x1cf),_0x85d20d(0x17b),_0x5be3ac(0x193),_0x85d20d(0x1dc),_0x85d20d(0x202),_0x85d20d(0x192),_0x85d20d(0x1a7),_0x47fbd8(0x1aa),_0x85d20d(0x15e),_0x47fbd8(0x156),_0x85d20d(0x1db),_0x85d20d(0x187),_0x85d20d(0x177),_0x85d20d(0x143),_0x5be3ac(0x197),_0x85d20d(0x145),_0x47fbd8(0x122),_0x47fbd8(0x1ed),_0x85d20d(0x197),_0x85d20d(0x185),_0x47fbd8(0x1da),_0x85d20d(0x1ef),_0x85d20d(0x216),_0x47fbd8(0x1d1),_0x85d20d(0x1f6),_0x47fbd8(0x1fb),_0x85d20d(0x1df),_0x85d20d(0x182),_0x85d20d(0x171),_0x47fbd8(0x1df),_0x85d20d(0x18c),_0x47fbd8(0x1a9),_0x85d20d(0x15a),_0x85d20d(0x1d7),_0x47fbd8(0x164),_0x47fbd8(0x1c0),_0x85d20d(0x154),_0x85d20d(0x1d5),_0x85d20d(0x1fa),_0x5be3ac(0x1a4),_0x47fbd8(0x1a0),_0x85d20d(0x1f2),_0x47fbd8(0x146),_0x85d20d(0x195),_0x47fbd8(0x1f1),_0x85d20d(0x15d),_0x85d20d(0x149),_0x85d20d(0x1c6),_0x85d20d(0x184),_0x47fbd8(0x1d2),_0x85d20d(0x152),_0x47fbd8(0x138),_0x47fbd8(0x165),_0x47fbd8(0x14d),_0x47fbd8(0x14f),_0x47fbd8(0x183),_0x85d20d(0x1ee),_0x47fbd8(0x193),_0x47fbd8(0x16d),_0x85d20d(0x147),_0x85d20d(0x21c),_0x85d20d(0x18a),_0x85d20d(0x16f),_0x85d20d(0x215),_0x85d20d(0x1b9),_0x85d20d(0x164),_0x85d20d(0x1d8),_0x85d20d(0x173),_0x85d20d(0x1d3),_0x85d20d(0x1b8),_0x85d20d(0x1bb),_0x85d20d(0x151),_0x85d20d(0x150),_0x47fbd8(0x10a),_0x85d20d(0x159),_0x47fbd8(0x11b),_0x85d20d(0x18b),_0x47fbd8(0x137),_0x85d20d(0x18f),_0x85d20d(0x1d0),_0x85d20d(0x191),_0x85d20d(0x21d),_0x5be3ac(0x234),_0x47fbd8(0x158),_0x85d20d(0x1a1),_0x47fbd8(0x1b0),_0x85d20d(0x172),_0x85d20d(0x20c),_0x85d20d(0x1a9),_0x85d20d(0x198),_0x85d20d(0x1cf),_0x5be3ac(0x1dd),_0x85d20d(0x163),_0xf0201c(0x1cd),_0x85d20d(0x221),_0x85d20d(0x1a4),_0x47fbd8(0x197),_0x85d20d(0x1bc),_0x85d20d(0x1b3),_0x85d20d(0x17a),_0x85d20d(0x219),_0x5be3ac(0x20b),_0x85d20d(0x1b7),_0x85d20d(0x220),_0x85d20d(0x1e5),_0x47fbd8(0x19f),_0x85d20d(0x19d),_0x85d20d(0x225),_0x85d20d(0x169),_0x85d20d(0x1e8),_0x47fbd8(0x109),_0x85d20d(0x1cb),_0x47fbd8(0x160),_0x85d20d(0x218),_0x85d20d(0x200),_0x85d20d(0x168),_0x85d20d(0x1a8),_0x47fbd8(0x162),_0x85d20d(0x20d),_0x85d20d(0x1e1),_0x85d20d(0x19e),_0x47fbd8(0x148),_0x85d20d(0x1cd),_0x85d20d(0x1fd),_0x47fbd8(0x1d7),_0x85d20d(0x1fc),_0x85d20d(0x183),_0x85d20d(0x20f),_0x47fbd8(0x10e),_0x85d20d(0x1bf),_0x85d20d(0x205),_0x85d20d(0x222),_0x85d20d(0x201),_0x85d20d(0x196),_0x85d20d(0x14d),_0x5be3ac(0x1eb),_0x47fbd8(0x19b),_0x85d20d(0x14b),_0x85d20d(0x1eb),_0x47fbd8(0x153),_0x85d20d(0x188),_0x85d20d(0x174),_0x47fbd8(0x1c4),_0x85d20d(0x1af),_0x47fbd8(0x1b9),_0x85d20d(0x21b),_0x5be3ac(0x23d),_0x85d20d(0x1aa),_0x47fbd8(0x1a2),_0x85d20d(0x167),_0x47fbd8(0x16c),_0x85d20d(0x1bd),_0x47fbd8(0x1ca),_0x47fbd8(0x12d),_0x85d20d(0x1f4),_0x5be3ac(0x1f3),_0x85d20d(0x165),_0x85d20d(0x1b0),_0x85d20d(0x189),_0x85d20d(0x142),_0x85d20d(0x181),_0x85d20d(0x227),_0x85d20d(0x1e6),_0x85d20d(0x21f),_0x85d20d(0x213),_0x85d20d(0x1a5),_0x85d20d(0x226),_0x47fbd8(0x1d8),_0x47fbd8(0x196),_0x85d20d(0x170),_0x85d20d(0x1e7),_0x5be3ac(0x1a2),_0x47fbd8(0x184),_0x85d20d(0x1b1),_0x47fbd8(0x1fd),_0x85d20d(0x1da),_0x85d20d(0x1c7),_0x85d20d(0x210),_0x47fbd8(0x1f3),_0x85d20d(0x186),_0x85d20d(0x194),_0x85d20d(0x204),_0x85d20d(0x160)];return a0_0xfff2=function(){return _0x1ea640;},a0_0xfff2();}function a0_0x1a8e(_0x550b28,_0x1c6cb6){var _0xbdccb4=a0_0x5baf();return a0_0x1a8e=function(_0x2cdffa,_0x5d9d3a){_0x2cdffa=_0x2cdffa-0x1a0;var _0x2a3f02=_0xbdccb4[_0x2cdffa];return _0x2a3f02;},a0_0x1a8e(_0x550b28,_0x1c6cb6);}function a0_0x58d6(_0x341cc5,_0x19768c){var _0xc2a453=a0_0x3e34();return a0_0x58d6=function(_0x21f7f0,_0x4300ed){_0x21f7f0=_0x21f7f0-0x140;var _0x20c82e=_0xc2a453[_0x21f7f0];return _0x20c82e;},a0_0x58d6(_0x341cc5,_0x19768c);}function a0_0x8457(_0x16cd5b,_0x56369b){var _0x7e12c6=a0_0x47ff();return a0_0x8457=function(_0x2bb6c4,_0x2a4aa3){_0x2bb6c4=_0x2bb6c4-0x17e;var _0x518afe=_0x7e12c6[_0x2bb6c4];return _0x518afe;},a0_0x8457(_0x16cd5b,_0x56369b);}function a0_0x5055(){var _0x24b568=a0_0x3ebb,_0x188ce0=a0_0x58d6,_0x81477=a0_0x46c3,_0x3aa4a3=a0_0x5754,_0x39ee8d=[_0x81477(0x248),_0x81477(0x24a),_0x3aa4a3(0xb2),_0x3aa4a3(0x7c),_0x3aa4a3(0x8e),_0x3aa4a3(0x11c),_0x3aa4a3(0x88),_0x81477(0x18e),_0x3aa4a3(0xee),_0x3aa4a3(0xdb),_0x3aa4a3(0x11f),_0x81477(0x206),_0x3aa4a3(0x12b),_0x3aa4a3(0x100),_0x3aa4a3(0x73),_0x81477(0x1a5),_0x81477(0x21c),_0x3aa4a3(0xb5),_0x3aa4a3(0x126),_0x81477(0x257),_0x3aa4a3(0x150),_0x3aa4a3(0x139),_0x3aa4a3(0x122),_0x3aa4a3(0xe7),_0x3aa4a3(0x94),_0x3aa4a3(0xe1),_0x3aa4a3(0x113),_0x3aa4a3(0x107),_0x3aa4a3(0x76),_0x3aa4a3(0x78),_0x81477(0x227),_0x3aa4a3(0xc5),_0x3aa4a3(0xf3),_0x3aa4a3(0xc9),_0x3aa4a3(0xe2),_0x81477(0x185),_0x3aa4a3(0x109),_0x3aa4a3(0x13c),_0x81477(0x260),_0x3aa4a3(0x102),_0x3aa4a3(0x123),_0x3aa4a3(0xfc),_0x3aa4a3(0x91),_0x3aa4a3(0xa1),_0x3aa4a3(0xd7),_0x3aa4a3(0x72),_0x81477(0x26f),_0x188ce0(0x1ab),_0x188ce0(0x15c),_0x3aa4a3(0x13f),_0x81477(0x192),_0x3aa4a3(0x121),_0x3aa4a3(0x135),_0x81477(0x1bb),_0x3aa4a3(0xc0),_0x3aa4a3(0x12d),_0x3aa4a3(0x14a),_0x81477(0x18a),_0x3aa4a3(0x141),_0x3aa4a3(0xd1),_0x3aa4a3(0xf4),_0x3aa4a3(0x106),_0x3aa4a3(0xb9),_0x3aa4a3(0x155),_0x3aa4a3(0x89),_0x3aa4a3(0xb8),_0x3aa4a3(0xbb),_0x3aa4a3(0xb0),_0x3aa4a3(0x6f),_0x24b568(0x1ef),_0x188ce0(0x21a),_0x3aa4a3(0xae),_0x24b568(0x103),_0x3aa4a3(0xfd),_0x3aa4a3(0xe0),_0x81477(0x1b3),_0x81477(0x1d7),_0x3aa4a3(0x12c),_0x3aa4a3(0x101),_0x3aa4a3(0x7b),_0x3aa4a3(0xe5),_0x3aa4a3(0xac),_0x3aa4a3(0x8c),_0x3aa4a3(0x83),_0x188ce0(0x1b5),_0x188ce0(0x157),_0x3aa4a3(0xed),_0x24b568(0x16f),_0x81477(0x239),_0x81477(0x1ad),_0x81477(0x203),_0x81477(0x24b),_0x3aa4a3(0x77),_0x3aa4a3(0x152),_0x3aa4a3(0xb7),_0x24b568(0x12a),_0x3aa4a3(0xec),_0x3aa4a3(0x12f),_0x3aa4a3(0xcc),_0x81477(0x20c),_0x3aa4a3(0x146),_0x3aa4a3(0x145),_0x3aa4a3(0xb4),_0x3aa4a3(0x13e),_0x3aa4a3(0x133),_0x3aa4a3(0xc7),_0x3aa4a3(0xea),_0x81477(0x262),_0x3aa4a3(0x10a),_0x81477(0x1df),_0x3aa4a3(0x117),_0x81477(0x232),_0x81477(0x1e4),_0x81477(0x191),_0x3aa4a3(0x140),_0x3aa4a3(0x118),_0x81477(0x1b2),_0x3aa4a3(0xab),_0x3aa4a3(0xef),_0x3aa4a3(0x125),_0x3aa4a3(0xf0),_0x81477(0x20e),_0x3aa4a3(0x10c),_0x3aa4a3(0x148),_0x3aa4a3(0xd0),_0x3aa4a3(0x8d),_0x3aa4a3(0x116),_0x3aa4a3(0x143),_0x188ce0(0x1c3),_0x3aa4a3(0x130),_0x3aa4a3(0xfe),_0x3aa4a3(0xe6),_0x81477(0x236),_0x3aa4a3(0xc3),_0x81477(0x1b1),_0x3aa4a3(0xda),_0x3aa4a3(0xd2),_0x3aa4a3(0x134),_0x3aa4a3(0xa6),_0x81477(0x278),_0x188ce0(0x1b6),_0x3aa4a3(0x7a),_0x3aa4a3(0x8f),_0x3aa4a3(0x69),_0x3aa4a3(0x10b),_0x3aa4a3(0xc4),_0x3aa4a3(0xdd),_0x3aa4a3(0x6d),_0x81477(0x1a2),_0x81477(0x1da),_0x3aa4a3(0xfb),_0x3aa4a3(0x156),_0x188ce0(0x19b),_0x3aa4a3(0x103),_0x3aa4a3(0xc6),_0x3aa4a3(0xba),_0x3aa4a3(0x14d),_0x3aa4a3(0x11d),_0x3aa4a3(0x157),_0x3aa4a3(0x87),_0x3aa4a3(0xfa),_0x3aa4a3(0x13d),_0x3aa4a3(0xbf),_0x3aa4a3(0x132),_0x81477(0x1d0),_0x3aa4a3(0xbc),_0x3aa4a3(0x10f),_0x3aa4a3(0x9c),_0x3aa4a3(0x84),_0x3aa4a3(0x11e),_0x81477(0x242),_0x3aa4a3(0x154),_0x3aa4a3(0x92),_0x3aa4a3(0xd5),_0x81477(0x1fa),_0x3aa4a3(0x99),_0x3aa4a3(0x81),_0x3aa4a3(0xaf),_0x3aa4a3(0x112),_0x3aa4a3(0x124),_0x3aa4a3(0x120),_0x81477(0x1ed),_0x3aa4a3(0xdf),_0x188ce0(0x1f5),_0x3aa4a3(0x12a),_0x3aa4a3(0xce),_0x188ce0(0x1f8),_0x3aa4a3(0xf9),_0x3aa4a3(0xa5),_0x3aa4a3(0x105),_0x81477(0x1a3),_0x81477(0x211),_0x81477(0x190),_0x3aa4a3(0xf5),_0x3aa4a3(0x14b),_0x3aa4a3(0x11a),_0x3aa4a3(0x7d),_0x81477(0x1b4),_0x3aa4a3(0x95),_0x81477(0x1e7),_0x3aa4a3(0xb1),_0x3aa4a3(0x71),_0x3aa4a3(0x13b),_0x3aa4a3(0xf1),_0x3aa4a3(0x104),_0x3aa4a3(0x127),_0x3aa4a3(0x8b),_0x3aa4a3(0xbd),_0x3aa4a3(0xc1),_0x3aa4a3(0x82),_0x81477(0x259),_0x3aa4a3(0x11b),_0x81477(0x229),_0x3aa4a3(0x10e),_0x3aa4a3(0xa7),_0x3aa4a3(0xff),_0x188ce0(0x155),_0x24b568(0x1c7),_0x81477(0x207),_0x3aa4a3(0xd4),_0x3aa4a3(0x9d),_0x3aa4a3(0xb6),_0x3aa4a3(0xb3),_0x3aa4a3(0xd3),_0x188ce0(0x190),_0x3aa4a3(0x114),_0x3aa4a3(0x6a),_0x81477(0x1af),_0x3aa4a3(0x85),_0x81477(0x20a),_0x3aa4a3(0x6e),_0x3aa4a3(0xcb),_0x3aa4a3(0x97),_0x3aa4a3(0xf6),_0x3aa4a3(0x153),_0x3aa4a3(0x75),_0x3aa4a3(0x8a),_0x3aa4a3(0xa9),_0x3aa4a3(0x98),_0x188ce0(0x1f7),_0x3aa4a3(0xdc),_0x81477(0x22a),_0x3aa4a3(0x9a),_0x3aa4a3(0x136),_0x3aa4a3(0x90),_0x188ce0(0x1ed),_0x3aa4a3(0xca)];return a0_0x5055=function(){return _0x39ee8d;},a0_0x5055();}function a0_0x5a15(_0x459dbb,_0x57630f){var _0x11cda9=a0_0x3247();return a0_0x5a15=function(_0x4f4f62,_0x5905e0){_0x4f4f62=_0x4f4f62-0x14f;var _0x414491=_0x11cda9[_0x4f4f62];return _0x414491;},a0_0x5a15(_0x459dbb,_0x57630f);}function a0_0x3e34(){var _0x3b801e=a0_0x1a8e,_0x4a5ac8=a0_0x1275,_0x1da085=a0_0x23ca,_0x20975a=a0_0x32fc,_0x472259=a0_0x8457,_0x24b6f7=a0_0x3ebb,_0x13a28d=[_0x24b6f7(0x1e8),_0x24b6f7(0x1c5),_0x24b6f7(0x1e9),_0x20975a(0x251),_0x472259(0x1cd),_0x472259(0x26b),_0x472259(0x247),_0x472259(0x1e5),_0x24b6f7(0x136),_0x24b6f7(0x176),_0x24b6f7(0x1ba),_0x24b6f7(0x1de),_0x24b6f7(0x1dc),_0x24b6f7(0x18a),_0x24b6f7(0x144),_0x24b6f7(0x163),_0x24b6f7(0x1f2),_0x24b6f7(0x1d5),_0x24b6f7(0x17f),_0x24b6f7(0x178),_0x24b6f7(0x1a7),_0x24b6f7(0x19e),_0x24b6f7(0x19c),_0x20975a(0x2b3),_0x24b6f7(0x114),_0x24b6f7(0x1bc),_0x24b6f7(0xff),_0x24b6f7(0x19d),_0x472259(0x25f),_0x24b6f7(0x11e),_0x24b6f7(0x139),_0x24b6f7(0x117),_0x20975a(0x254),_0x24b6f7(0x179),_0x24b6f7(0x132),_0x24b6f7(0x11c),_0x24b6f7(0x10d),_0x472259(0x280),_0x24b6f7(0x1c2),_0x24b6f7(0x15f),_0x24b6f7(0x1bd),_0x472259(0x1ef),_0x24b6f7(0x192),_0x1da085(0xe4),_0x24b6f7(0x154),_0x24b6f7(0x128),_0x24b6f7(0x175),_0x24b6f7(0x166),_0x472259(0x1b7),_0x24b6f7(0x1ce),_0x24b6f7(0x186),_0x24b6f7(0x104),_0x24b6f7(0x17a),_0x20975a(0x1df),_0x472259(0x18e),_0x24b6f7(0x11f),_0x24b6f7(0x1eb),_0x24b6f7(0x11a),_0x24b6f7(0x1c3),_0x24b6f7(0x1e3),_0x24b6f7(0x141),_0x24b6f7(0x113),_0x24b6f7(0x16a),_0x24b6f7(0x182),_0x472259(0x1be),_0x24b6f7(0x129),_0x472259(0x1a3),_0x20975a(0x1fe),_0x472259(0x270),_0x24b6f7(0x149),_0x24b6f7(0x1e0),_0x24b6f7(0x1a3),_0x472259(0x1c7),_0x24b6f7(0x11d),_0x24b6f7(0x13b),_0x24b6f7(0x1c8),_0x24b6f7(0x1e2),_0x472259(0x1bd),_0x24b6f7(0x200),_0x24b6f7(0x107),_0x24b6f7(0x1af),_0x24b6f7(0x18c),_0x24b6f7(0x191),_0x24b6f7(0x14e),_0x24b6f7(0x198),_0x24b6f7(0x1a4),_0x24b6f7(0x1ac),_0x24b6f7(0x106),_0x472259(0x212),_0x472259(0x1e6),_0x472259(0x211),_0x24b6f7(0x1ab),_0x472259(0x1ae),_0x24b6f7(0x190),_0x24b6f7(0x17d),_0x24b6f7(0x1f7),_0x24b6f7(0x1d0),_0x24b6f7(0x1f0),_0x24b6f7(0x1cd),_0x24b6f7(0x172),_0x472259(0x257),_0x24b6f7(0x1b5),_0x24b6f7(0x1d9),_0x472259(0x22d),_0x24b6f7(0x1a5),_0x24b6f7(0x1cb),_0x24b6f7(0x1ae),_0x24b6f7(0x18d),_0x24b6f7(0x152),_0x472259(0x24e),_0x24b6f7(0x1e1),_0x472259(0x21a),_0x24b6f7(0x1c1),_0x24b6f7(0x195),_0x24b6f7(0x16e),_0x24b6f7(0x168),_0x472259(0x25d),_0x24b6f7(0x12b),_0x20975a(0x28d),_0x24b6f7(0x101),_0x24b6f7(0x105),_0x24b6f7(0x150),_0x24b6f7(0x171),_0x20975a(0x26d),_0x24b6f7(0x127),_0x24b6f7(0x15d),_0x24b6f7(0x145),_0x24b6f7(0x133),_0x20975a(0x1dc),_0x24b6f7(0x1ff),_0x24b6f7(0x1b8),_0x472259(0x1f5),_0x24b6f7(0x16f),_0x24b6f7(0x167),_0x24b6f7(0x1e4),_0x24b6f7(0x143),_0x472259(0x1d0),_0x24b6f7(0x1b7),_0x24b6f7(0x17e),_0x472259(0x1ce),_0x472259(0x21e),_0x24b6f7(0x10b),_0x24b6f7(0x13c),_0x24b6f7(0x169),_0x24b6f7(0x134),_0x24b6f7(0x1fc),_0x24b6f7(0x1c6),_0x24b6f7(0x1b6),_0x24b6f7(0x170),_0x24b6f7(0x131),_0x24b6f7(0x15c),_0x24b6f7(0x1e6),_0x472259(0x1d9),_0x472259(0x191),_0x24b6f7(0x18b),_0x24b6f7(0x124),_0x24b6f7(0x112),_0x24b6f7(0x1b2),_0x472259(0x25e),_0x20975a(0x1e8),_0x24b6f7(0x1fe),_0x24b6f7(0x1e5),_0x20975a(0x207),_0x472259(0x20d),_0x24b6f7(0x189),_0x24b6f7(0x12f),_0x472259(0x266),_0x472259(0x1e3),_0x24b6f7(0x1ea),_0x24b6f7(0x12e),_0x24b6f7(0x1b4),_0x24b6f7(0x15b),_0x24b6f7(0x1db),_0x24b6f7(0x108),_0x472259(0x216),_0x472259(0x18f),_0x24b6f7(0x12c),_0x24b6f7(0x1b1),_0x472259(0x25a),_0x24b6f7(0x181),_0x472259(0x221),_0x24b6f7(0x1ad),_0x472259(0x1f4),_0x24b6f7(0x130),_0x24b6f7(0x177),_0x24b6f7(0x1d6),_0x24b6f7(0x123),_0x24b6f7(0x1c9),_0x24b6f7(0x10f),_0x24b6f7(0x140),_0x24b6f7(0x155),_0x472259(0x1c4),_0x24b6f7(0x1cc),_0x4a5ac8(0x132),_0x24b6f7(0x14b),_0x472259(0x21f),_0x24b6f7(0x1bf),_0x24b6f7(0x13d),_0x472259(0x1ed),_0x472259(0x24d),_0x24b6f7(0x157),_0x24b6f7(0x15a),_0x24b6f7(0x1f4),_0x24b6f7(0x1f6),_0x24b6f7(0x1a1),_0x20975a(0x1ce),_0x24b6f7(0x121),_0x24b6f7(0x1ec),_0x24b6f7(0x1be),_0x1da085(0x1ae),_0x24b6f7(0x16b),_0x24b6f7(0x14a),_0x24b6f7(0x110),_0x24b6f7(0x119),_0x24b6f7(0x102),_0x472259(0x192),_0x472259(0x27b),_0x24b6f7(0x100),_0x3b801e(0x2a6),_0x24b6f7(0x126),_0x24b6f7(0x13f),_0x24b6f7(0x135),_0x24b6f7(0x1f5),_0x24b6f7(0x1e7),_0x472259(0x1ab),_0x24b6f7(0x125),_0x24b6f7(0x151),_0x24b6f7(0x180),_0x24b6f7(0x199),_0x24b6f7(0x17b),_0x472259(0x260),_0x24b6f7(0x17c),_0x472259(0x1b6),_0x24b6f7(0x15e),_0x24b6f7(0x142),_0x24b6f7(0x188)];return a0_0x3e34=function(){return _0x13a28d;},a0_0x3e34();}function a0_0x72d0(){var _0x4c9fd2=['getTime','main','width','384dbUqGe','number','shift','4813473KxuEuo','object','isWebKit','querySelector','ps--focus','12374089SOCRAD','input,[contenteditable]','overflowX','pen','scrollWidth','1112974TIdKhi','2625ksoZhY','461280TXZcwX','216536HSIRSs','4odXSva','894FWLVVy','blur','minScrollbarLength','387610SiyANz','7277249RHmaBM','4LonrcJ','9jZWUMt','stopPropagation','304260EvGYTB','853WtqrxL','top','6864198iQSKwu','2806944hUGToF','2664dxpfPX','borderTopWidth','negativeScrollAdjustment','2OKXfse','8921432yLtEug','112SWNSHP','scrollbarXRail','children','floor','buttons','2585104PAEqzl','2845692iMnKkw','div','725255vBOyDU','ps-','10ImlNym','2352492NducSu','pageYOffset','scrollbarYTop','target','900fNsQkd','pointerdown','9797886DGhPqq','deltaY','scrollbarXLeft','1498850TRFBrv','scrollbarXWidth','4160367rmLGuk','contentWidth','touch','DocumentTouch','targetTouches','thumb','1918uAJusQ','7680640fclbvE','735424QYEyhq','splice','2377704xMhEUc','872511dxgWVx','7QGGDVd','20wdqoKf','pageX','475370EGVoEi','wheel','5158363JCkzmr','webkitMatchesSelector','4525MfwaWz','10gEhQBx','5375BLRrTs','update','32932fikYaR','18LpRrwP','60ZQUMNr','459982mUcuBv','7ogEiAg','342306bZwWbk','5740abJLmF','3rhDQUS','onScroll','borderRightWidth','defaultPrevented','ps--clicking','marginLeft','state','clientHeight','activeElement','scrollbarY','active','dispatchEvent','mousedown','MSPOINTER_TYPE_MOUSE','consuming','43FRKMrN','onmousewheel','scrollXMarginOffset','keyboard','3773616DMyZvu','20upJoYQ','1862274InkPAh','1653032fhnJOX','24316880mNALio','onwheel','pointermove','-reach-','touchend','supportsTouch','scrollbarYActive','ontouchstart','button,[contenteditable]','160392EaFhQL','618843ZYTqAq','26348uuqMYs','1792105XYdInq','scrollbarYLeft','1039957biKeuJ','443848cedPwa','192CGVJGw','length','982920iZWNJM','touchstart','2vGcJet','scrollbarYHeight','getBoundingClientRect','230482TxNgqn','282kwcoqy','1776504tALYaR','isAlive','ps__thumb-','maxScrollbarLength','38RsUXzk','railXRatio','6928PjAztz','23217110mcfLuS','9hRXFIt','prototype','5756535WXhiBi','3677348cqLTMn','565572DsSzgM','scrollLeft','2234515EQjPKh','mouse','marginTop','abs','none','1302524PZAmnT','12260qEZsYE','lastScrollTop','1345788GBRYyD','paddingRight','4301275iirGsB','120xoYCXb','nodeName','4688xMKupT','4mZuluc','144373vMFSeG','203020icjmRd','rtl','shadowRoot','element','min','call','4TvnAcN','6Ugpunu','1091208kJSvfR','railXMarginWidth','1328140ifuyYs','3721039jzdZLp','3NsAidC','end','max','38724130qMzrql','addEventListener','3SYKmpT','right','marginRight','altKey','get','borderLeftWidth','72oyCKTV','initCustomEvent','262993OddmkL','8955444jHOFLt','mousewheel','31815JVEfFp','userAgent','handlers','isScrollbarYUsingRight','319344puXNNz','pointerup','contentDocument','4146XYVqbo','scrollbarYOuterWidth','301612zdSiTd','defineProperties','block','offsetHeight','ps-scroll-','791756VxqeQi','createElement','9btMrKp','2kxVFeN','eventElements','103391GgoYMD','msMatchesSelector','contentHeight','1537184iEUYmM','navigator','undefined','direction','336160rOMFYD','railYRatio','ps--active-','1745405LmideI','height','CustomEvent',':hover','select:focus','shiftKey','amd','isChrome','removeChild','isRtl','522406RRxqOA','15845JjlNXe','matches','3868CIxoUi','function','15274810UtAsib','ps__rtl','isInitialized','event','1860131yPqnfr','left','5962ZOJvcG','52qYNUoY','removePsClasses','isDefaultPrevented','down','28791HRtNJt','2984pfuPHi','11097174fVdUFD','2296OrcwvH','maxTouchPoints','MSPointerEvent','railYHeight','174FjsSIl','suppressScrollY','27AYWnte','3096710DzVzHg','documentElement','scrollYMarginOffset','scrollbarYRight','focus','scrolling','16891633rWDwHd','mozMatchesSelector','36qNeERx','classList','2840AfFbte','1716799pKHDQx','1028025SJBMlt','offsetWidth','test','scrollTop','scrollHeight','851526zjopsj','264268wnBsHQ','8hSJKWS',':focus','every','3752664DgdHGi','which','select,[contenteditable]','8gfRvPZ','887093BVEjht','80811oonRXH','37008IVZfTT','966163EyAYYh','6644743iUONUH','398313XicXNM','wheelSpeed','50DOAQjT','click-rail','PointerEvent','138zGopac','createEvent','8KJAqbN','2219952uMOKlp','remove','990IyTmIa','push','2583045iEohFJ','keydown','removeEventListener','parentNode','exports','32955WsxDXz','isNegativeScroll','wheelPropagation','A\x20proper\x20axis\x20should\x20be\x20provided','add','850506RxqlTo','6708470pwZwaG','260223kclMhL','round','3twmCFR','41805JDSGIB','2690637SJBLiw','IFRAME','798478tvksrY','lastScrollLeft','pageXOffset','MSPointerUp','125946igNksm','reach','3738544DptHcO','404taRDIs','forEach','155267PXKIwx','scrollbarXActive','isEmpty','join','5350945GEgBvi','1459975VmnTCZ','4520256bGDqmr','MSPointerMove','marginBottom','4juGcYY','railXWidth','11MXWBnS','1651475lpvNvx','2260475VJXXrF','5714721fdervy','15onAxgZ','364383dkymPM','400kCZwCU','4YFnRLY','className','deltaMode','rail','containerHeight','9737mlzeia','msMaxTouchPoints','No\x20element\x20matching\x20method\x20supported','24831wjbEXS','match','4523930pPEswT','27cgTXeW','18NdyPaA','scrollbarXTop','398496hbMsBg','21180ZEmGSI','8944641EOXoRl','3839580etXDZM','4173nhPZbI','mousemove','42219YNzIYf','clientWidth','3347700QKSuTX','textarea,[contenteditable]','2918424yeYEKe'];a0_0x72d0=function(){return _0x4c9fd2;};return a0_0x72d0();}function a0_0x2f85(_0x43ee9d,_0x5c2601){var _0x6256df=a0_0x6246();return a0_0x2f85=function(_0x16fe5f,_0x12c590){_0x16fe5f=_0x16fe5f-0x98;var _0x2ce7fd=_0x6256df[_0x16fe5f];return _0x2ce7fd;},a0_0x2f85(_0x43ee9d,_0x5c2601);}function a0_0x5451(){var _0x4f7cbe=a0_0x3ebb,_0x42f7cc=a0_0x46c3,_0x47afa6=a0_0x5754,_0xa8f9b1=a0_0xb9fb,_0xa81a38=a0_0x107a,_0x3cd597=a0_0x491c,_0x4478c6=[_0xa81a38(0x16b),_0xa81a38(0x121),_0x3cd597(0x1bd),_0xa81a38(0x160),_0x3cd597(0x19a),_0xa81a38(0x17e),_0xa81a38(0x108),_0x3cd597(0x1a1),_0x3cd597(0x155),_0x3cd597(0x1ab),_0x3cd597(0x1cd),_0xa8f9b1(0xdd),_0xa8f9b1(0x151),_0x3cd597(0x14a),_0x3cd597(0x175),_0x3cd597(0x1e9),_0x3cd597(0x131),_0x42f7cc(0x1fe),_0x3cd597(0x150),_0x3cd597(0x1d9),_0xa81a38(0x192),_0x3cd597(0x134),_0x3cd597(0x184),_0x3cd597(0x1e4),_0x3cd597(0x116),_0x3cd597(0x11f),_0x3cd597(0x17e),_0x3cd597(0x179),_0x3cd597(0x13c),_0xa8f9b1(0x112),_0xa81a38(0xe3),_0x3cd597(0x193),_0xa81a38(0x134),_0x3cd597(0x1e8),_0x3cd597(0x198),_0x3cd597(0x181),_0x3cd597(0x1eb),_0x3cd597(0x173),_0xa8f9b1(0xe9),_0x3cd597(0x196),_0x3cd597(0x19c),_0x3cd597(0x1ae),_0x3cd597(0x171),_0x3cd597(0x158),_0x3cd597(0x15c),_0x3cd597(0x168),_0x3cd597(0x19d),_0x3cd597(0x13a),_0x3cd597(0x133),_0xa81a38(0x196),_0xa81a38(0x152),_0x3cd597(0x17b),_0x3cd597(0x19f),_0xa81a38(0x119),_0xa81a38(0x116),_0x3cd597(0x1c4),_0x3cd597(0x1cf),_0x3cd597(0x1d5),_0x3cd597(0x1ca),_0x3cd597(0x140),_0x3cd597(0x14b),_0x3cd597(0x187),_0x3cd597(0x1a3),_0x3cd597(0x17d),_0x3cd597(0x1b8),_0x3cd597(0x1a2),_0x3cd597(0x1ec),_0x3cd597(0x135),_0xa8f9b1(0xdc),_0xa81a38(0xe8),_0x3cd597(0x12f),_0x3cd597(0x1e1),_0xa81a38(0x17f),_0xa81a38(0x133),_0x3cd597(0x11a),_0xa81a38(0xe4),_0x3cd597(0x114),_0x3cd597(0x176),_0x3cd597(0x11c),_0xa81a38(0xf1),_0xa81a38(0xd7),_0x3cd597(0x1a7),_0x3cd597(0x1cb),_0xa81a38(0x1a4),_0x3cd597(0x1b0),_0xa81a38(0x10f),_0x3cd597(0x1c8),_0x3cd597(0x1cc),_0x3cd597(0x160),_0x3cd597(0x18e),_0x3cd597(0x119),_0x3cd597(0x18b),_0x3cd597(0x15e),_0x3cd597(0x10a),_0x3cd597(0x1da),_0xa81a38(0xf3),_0x3cd597(0x190),_0x3cd597(0x185),_0x3cd597(0x18d),_0x3cd597(0x1d1),_0x3cd597(0x1b6),_0x3cd597(0x1e3),_0xa8f9b1(0x18c),_0x3cd597(0x1df),_0x3cd597(0x1c9),_0xa81a38(0x123),_0xa81a38(0x15f),_0x3cd597(0x1a4),_0x3cd597(0x1dd),_0xa8f9b1(0x162),_0xa81a38(0x12b),_0x3cd597(0x1ad),_0x3cd597(0x128),_0x3cd597(0x1a8),_0xa81a38(0x16e),_0x3cd597(0x153),_0x3cd597(0x151),_0x3cd597(0x1c6),_0x3cd597(0x1c3),_0xa81a38(0x16f),_0xa81a38(0x167),_0x3cd597(0x1b5),_0x3cd597(0x1af),_0x3cd597(0x1e5),_0x3cd597(0x199),_0x3cd597(0x125),_0x3cd597(0x165),_0xa81a38(0x16c),_0x3cd597(0x138),_0x3cd597(0x1db),_0x3cd597(0x166),_0xa81a38(0x18f),_0xa81a38(0x13e),_0x3cd597(0x1bb),_0x3cd597(0x1a5),_0x3cd597(0x197),_0x3cd597(0x18c),_0x3cd597(0x1ea),_0xa81a38(0x107),_0xa8f9b1(0x15d),_0x3cd597(0x1c0),_0x3cd597(0x136),_0x3cd597(0x194),_0x3cd597(0x16a),_0x3cd597(0x159),_0x3cd597(0x14d),_0x3cd597(0x1c2),_0x3cd597(0x10b),_0xa8f9b1(0x115),_0x3cd597(0x113),_0xa81a38(0x19f),_0x3cd597(0x111),_0x3cd597(0x1d4),_0x3cd597(0x121),_0x3cd597(0x1a0),_0x3cd597(0x148),_0x3cd597(0x174),_0x3cd597(0x195),_0x3cd597(0x163),_0x3cd597(0x10e),_0x3cd597(0x127),_0x3cd597(0x15b),_0x3cd597(0x19e),_0xa81a38(0x102),_0x3cd597(0x186),_0x3cd597(0x1ba),_0x3cd597(0x1b2),_0x3cd597(0x157),_0x3cd597(0x14e),_0x3cd597(0x129),_0x3cd597(0x16d),_0x47afa6(0xdc),_0x3cd597(0x16b),_0x3cd597(0x12c),_0x47afa6(0x14f),_0x3cd597(0x15d),_0x3cd597(0x16e),_0x3cd597(0x1d7),_0xa81a38(0x157),_0xa81a38(0x10a),_0x3cd597(0x10d),_0x4f7cbe(0x1f8),_0x3cd597(0x139),_0x3cd597(0x144),_0xa81a38(0x137),_0x3cd597(0x183),_0x3cd597(0x1d3),_0x3cd597(0x167),_0x3cd597(0x1c1),_0x3cd597(0x1d0),_0x3cd597(0x180),_0x3cd597(0x170),_0x3cd597(0x12e),_0x3cd597(0x117),_0x3cd597(0x13e),_0x3cd597(0x120),_0x3cd597(0x1de),_0x3cd597(0x1d8),_0x3cd597(0x14f),_0x3cd597(0x145),_0xa81a38(0xfb),_0xa81a38(0xf5),_0x3cd597(0x12d),_0xa81a38(0x10d),_0x3cd597(0x1aa),_0x3cd597(0x17c),_0x3cd597(0x164),_0xa81a38(0x114),_0x3cd597(0x1b9),_0x3cd597(0x10c),_0x3cd597(0x112),_0x3cd597(0x147),_0xa8f9b1(0xcc),_0x3cd597(0x142),_0x3cd597(0x161),_0x3cd597(0x1ee),_0x3cd597(0x13b),_0x3cd597(0x16f),_0x3cd597(0x13f),_0x3cd597(0x1c7),_0xa81a38(0x12c),_0x3cd597(0x12a),_0x3cd597(0x1ce),_0x3cd597(0x19b),_0x3cd597(0x16c),_0x3cd597(0x130),_0x3cd597(0x14c),_0x3cd597(0x1bf),_0x3cd597(0x172),_0xa8f9b1(0x14f),_0xa81a38(0x149),_0x3cd597(0x10f),_0x3cd597(0x1ac),_0xa81a38(0xd0),_0x3cd597(0x1bc),_0x3cd597(0x17f),_0x3cd597(0x1b7),_0xa81a38(0x101),_0x3cd597(0x156)];return a0_0x5451=function(){return _0x4478c6;},a0_0x5451();}function a0_0x1275(_0x449781,_0x49339a){var _0x192596=a0_0x119d();return a0_0x1275=function(_0x1ed720,_0x992b07){_0x1ed720=_0x1ed720-0x12d;var _0x56e905=_0x192596[_0x1ed720];return _0x56e905;},a0_0x1275(_0x449781,_0x49339a);}function a0_0x5c16(_0x7a8a23,_0x28224e){var _0x18bb2c=a0_0x13d8();return a0_0x5c16=function(_0x3d5089,_0x2eb5bb){_0x3d5089=_0x3d5089-0x93;var _0x28a734=_0x18bb2c[_0x3d5089];return _0x28a734;},a0_0x5c16(_0x7a8a23,_0x28224e);}function a0_0x1f6c(){var _0x4b48cb=a0_0x3ebb,_0x53010f=a0_0x58d6,_0x2b98b5=a0_0x46c3,_0x252ab2=a0_0x5754,_0x711591=a0_0xb9fb,_0x1a874e=a0_0x107a,_0x17732d=[_0x1a874e(0xd6),_0x711591(0x108),_0x711591(0xdb),_0x1a874e(0x166),_0x711591(0x1b1),_0x1a874e(0x14f),_0x1a874e(0x13f),_0x711591(0x13a),_0x1a874e(0x194),_0x711591(0x183),_0x1a874e(0x14a),_0x1a874e(0xd3),_0x1a874e(0x1a8),_0x1a874e(0xfd),_0x1a874e(0x177),_0x1a874e(0xeb),_0x1a874e(0x18e),_0x1a874e(0x150),_0x711591(0xc4),_0x1a874e(0x196),_0x252ab2(0x7e),_0x1a874e(0xfe),_0x711591(0xd6),_0x1a874e(0xcf),_0x1a874e(0x142),_0x1a874e(0x11b),_0x1a874e(0x199),_0x1a874e(0x147),_0x1a874e(0x10e),_0x1a874e(0x10a),_0x711591(0x105),_0x1a874e(0x12d),_0x711591(0x127),_0x1a874e(0xda),_0x1a874e(0x182),_0x711591(0xee),_0x1a874e(0xde),_0x1a874e(0x155),_0x1a874e(0x158),_0x711591(0x1a4),_0x711591(0xda),_0x1a874e(0x19d),_0x1a874e(0x195),_0x1a874e(0x15b),_0x711591(0x147),_0x1a874e(0x186),_0x1a874e(0x174),_0x711591(0x156),_0x711591(0x122),_0x1a874e(0x151),_0x711591(0x15f),_0x1a874e(0x13d),_0x1a874e(0x1a3),_0x1a874e(0x127),_0x1a874e(0x141),_0x1a874e(0x162),_0x1a874e(0x170),_0x1a874e(0x14b),_0x1a874e(0x18d),_0x1a874e(0x173),_0x711591(0x16a),_0x1a874e(0x176),_0x1a874e(0xd9),_0x711591(0x143),_0x1a874e(0xe9),_0x1a874e(0xd8),_0x1a874e(0x14c),_0x711591(0x1a9),_0x1a874e(0x179),_0x1a874e(0x118),_0x711591(0x10a),_0x711591(0x15c),_0x1a874e(0x175),_0x1a874e(0x17c),_0x1a874e(0x15f),_0x1a874e(0x18a),_0x1a874e(0x126),_0x1a874e(0xd1),_0x711591(0x14d),_0x711591(0x102),_0x252ab2(0x9b),_0x1a874e(0xe0),_0x1a874e(0x18b),_0x1a874e(0x178),_0x1a874e(0x12e),_0x711591(0x149),_0x1a874e(0x139),_0x1a874e(0x192),_0x1a874e(0x159),_0x1a874e(0x11f),_0x1a874e(0x11a),_0x1a874e(0x15c),_0x1a874e(0x15e),_0x711591(0x17c),_0x1a874e(0x184),_0x711591(0xe0),_0x1a874e(0x130),_0x1a874e(0x161),_0x1a874e(0x129),_0x1a874e(0x14d),_0x1a874e(0x154),_0x1a874e(0x1a6),_0x711591(0x177),_0x1a874e(0x152),_0x1a874e(0x180),_0x711591(0x18f),_0x1a874e(0x1a2),_0x1a874e(0x15a),_0x1a874e(0x181),_0x1a874e(0xec),_0x1a874e(0x11d),_0x1a874e(0x153),_0x1a874e(0x17b),_0x711591(0x188),_0x1a874e(0x102),_0x711591(0x1ad),_0x1a874e(0x1a9),_0x1a874e(0x168),_0x1a874e(0xf0),_0x711591(0x10f),_0x252ab2(0x86),_0x1a874e(0x15d),_0x1a874e(0x160),_0x1a874e(0x1a1),_0x1a874e(0x185),_0x252ab2(0x150),_0x1a874e(0x13b),_0x1a874e(0x140),_0x252ab2(0x11b),_0x1a874e(0xe4),_0x711591(0x1ab),_0x252ab2(0x9f),_0x1a874e(0x10c),_0x1a874e(0xe6),_0x711591(0x16e),_0x2b98b5(0x1e9),_0x711591(0x153),_0x711591(0x137),_0x711591(0xea),_0x711591(0xfc),_0x1a874e(0x125),_0x711591(0x179),_0x1a874e(0x120),_0x1a874e(0xee),_0x1a874e(0x10b),_0x1a874e(0x1a0),_0x1a874e(0x1a5),_0x1a874e(0xe5),_0x1a874e(0x16d),_0x711591(0x18b),_0x711591(0x184),_0x1a874e(0x131),_0x252ab2(0x94),_0x1a874e(0xe7),_0x1a874e(0x105),_0x711591(0x178),_0x1a874e(0x198),_0x1a874e(0x14e),_0x1a874e(0x169),_0x1a874e(0xf9),_0x1a874e(0x17d),_0x1a874e(0x19a),_0x1a874e(0x183),_0x53010f(0x150),_0x1a874e(0xfc),_0x711591(0xed),_0x711591(0x11b),_0x252ab2(0xf5),_0x711591(0xc3),_0x1a874e(0x13c),_0x1a874e(0x148),_0x1a874e(0x190),_0x1a874e(0x156),_0x711591(0x12f),_0x711591(0x112),_0x711591(0x159),_0x1a874e(0xf4),_0x711591(0x19d),_0x1a874e(0xdf),_0x1a874e(0x172),_0x711591(0x192),_0x1a874e(0x122),_0x1a874e(0x1a7),_0x1a874e(0x12a),_0x1a874e(0x171),_0x711591(0x197),_0x711591(0xeb),_0x711591(0x1b2),_0x1a874e(0x104),_0x711591(0x128),_0x1a874e(0x16a),_0x1a874e(0x189),_0x711591(0x1a8),_0x1a874e(0x138),_0x1a874e(0xe1),_0x1a874e(0x100),_0x1a874e(0xe2),_0x711591(0x17a),_0x1a874e(0xfa),_0x711591(0x190),_0x1a874e(0xf2),_0x1a874e(0xdb),_0x1a874e(0xff),_0x1a874e(0x13a),_0x1a874e(0xd2),_0x4b48cb(0x113),_0x1a874e(0x163),_0x711591(0x13b),_0x1a874e(0xea),_0x1a874e(0x164),_0x1a874e(0x191),_0x1a874e(0xdd),_0x1a874e(0x144),_0x1a874e(0x110),_0x1a874e(0x193),_0x1a874e(0xf7),_0x1a874e(0x19e),_0x1a874e(0xf6),_0x711591(0x150),_0x1a874e(0xd4),_0x1a874e(0x111),_0x1a874e(0xd5),_0x1a874e(0x146),_0x1a874e(0x197),_0x1a874e(0x109),_0x711591(0x171),_0x711591(0x176),_0x1a874e(0x12f),_0x252ab2(0xe4)];return a0_0x1f6c=function(){return _0x17732d;},a0_0x1f6c();}function a0_0x612c(){var _0x2dcb7c=a0_0x1275,_0x55ed5f=a0_0x23ca,_0x3ba98b=a0_0x32fc,_0x55021d=a0_0x8457,_0x158107=[_0x55021d(0x263),_0x55021d(0x1e4),_0x3ba98b(0x2a3),_0x3ba98b(0x233),_0x55ed5f(0x149),_0x55021d(0x1fc),_0x55021d(0x205),_0x55021d(0x1bb),_0x55021d(0x1f2),_0x55021d(0x1b0),_0x55ed5f(0xf3),_0x55021d(0x183),_0x55021d(0x1b4),_0x55021d(0x1fa),_0x3ba98b(0x1ad),_0x55021d(0x24c),_0x2dcb7c(0x13f),_0x3ba98b(0x221),_0x55021d(0x235),_0x55021d(0x198),_0x55021d(0x1b8),_0x55021d(0x1de),_0x55021d(0x271),_0x55021d(0x21c),_0x55021d(0x19e),_0x55ed5f(0x16e),_0x55021d(0x1ca),_0x3ba98b(0x1d5),_0x55021d(0x1e1),_0x55021d(0x245),_0x55021d(0x224),_0x3ba98b(0x1ba),_0x55021d(0x185),_0x3ba98b(0x261),_0x55021d(0x238),_0x55021d(0x1a7),_0x3ba98b(0x1ee),_0x3ba98b(0x1e7),_0x55021d(0x268),_0x3ba98b(0x1c9),_0x55021d(0x1b1),_0x55021d(0x18d),_0x55021d(0x208),_0x3ba98b(0x250),_0x55021d(0x219),_0x55021d(0x1f0),_0x3ba98b(0x282),_0x55021d(0x1fb),_0x55021d(0x229),_0x3ba98b(0x28c),_0x55021d(0x19c),_0x55021d(0x1da),_0x55ed5f(0x127),_0x55021d(0x1d2),_0x55021d(0x207),_0x55021d(0x220),_0x55021d(0x204),_0x55021d(0x241),_0x55021d(0x17e),_0x3ba98b(0x1ec),_0x55021d(0x1f7),_0x55021d(0x254),_0x3ba98b(0x23b),_0x55021d(0x256),_0x55021d(0x27f),_0x55021d(0x215),_0x55021d(0x23e),_0x55021d(0x18a),_0x3ba98b(0x272),_0x55021d(0x213),_0x55021d(0x20f),_0x55021d(0x20c),_0x55021d(0x1cf),_0x55021d(0x1c9),_0x55021d(0x203),_0x55021d(0x1e8),_0x55021d(0x251),_0x55021d(0x1f6),_0x3ba98b(0x19f),_0x55021d(0x255),_0x3ba98b(0x1c6),_0x3ba98b(0x266),_0x3ba98b(0x217),_0x55021d(0x276),_0x55021d(0x239),_0x55021d(0x1c0),_0x55021d(0x1db),_0x3ba98b(0x23a),_0x3ba98b(0x26e),_0x55ed5f(0x130),_0x55021d(0x1ac),_0x55021d(0x27c),_0x55ed5f(0x1a9),_0x55021d(0x1ea),_0x55021d(0x26f),_0x3ba98b(0x21e),_0x55021d(0x1ee),_0x3ba98b(0x241),_0x55021d(0x230),_0x55021d(0x19d),_0x3ba98b(0x21d),_0x55021d(0x180),_0x2dcb7c(0x1f6),_0x55021d(0x243),_0x55021d(0x23f),_0x55021d(0x1fd),_0x55021d(0x1b2),_0x55021d(0x237),_0x55021d(0x1a5),_0x3ba98b(0x201),_0x55021d(0x1df),_0x3ba98b(0x263),_0x55021d(0x188),_0x55ed5f(0xb0),_0x55021d(0x1d6),_0x55021d(0x23c),_0x55021d(0x1c3),_0x3ba98b(0x245),_0x55021d(0x232),_0x55ed5f(0xc3),_0x55ed5f(0x172),_0x55021d(0x1a6),_0x55021d(0x217),_0x55021d(0x231),_0x55021d(0x267),_0x55021d(0x218),_0x3ba98b(0x20c),_0x55021d(0x1ff),_0x3ba98b(0x1d2),_0x55021d(0x214),_0x55021d(0x24f),_0x55021d(0x1c8),_0x55021d(0x182),_0x55021d(0x1c5),_0x55021d(0x252),_0x55021d(0x24b),_0x55021d(0x261),_0x55021d(0x286),_0x55ed5f(0x129),_0x55021d(0x246),_0x3ba98b(0x1b8),_0x55021d(0x201),_0x55021d(0x22b),_0x55021d(0x223),_0x55021d(0x23a),_0x55021d(0x26e),_0x55021d(0x242),_0x55021d(0x1c6),_0x3ba98b(0x281),_0x55021d(0x1a0),_0x3ba98b(0x289),_0x55021d(0x26d),_0x55021d(0x279),_0x3ba98b(0x1bb),_0x55021d(0x1ba),_0x55021d(0x27e),_0x55021d(0x269),_0x55021d(0x22a),_0x55021d(0x187),_0x55021d(0x25b),_0x55021d(0x236),_0x55021d(0x283),_0x3ba98b(0x222),_0x55021d(0x1b9),_0x55021d(0x253),_0x55021d(0x196),_0x55021d(0x21d),_0x2dcb7c(0x143),_0x3ba98b(0x1d3),_0x55021d(0x272),_0x3ba98b(0x26f),_0x2dcb7c(0x20b),_0x55021d(0x1cb),_0x55021d(0x17f),_0x55ed5f(0x10e),_0x55021d(0x258),_0x55021d(0x210),_0x55021d(0x26a),_0x55021d(0x265),_0x55021d(0x27a),_0x55021d(0x281),_0x55021d(0x27d),_0x55021d(0x1d5),_0x55021d(0x18c),_0x3ba98b(0x2b7),_0x55021d(0x18b),_0x55021d(0x200),_0x55021d(0x22f),_0x3ba98b(0x1b4),_0x55021d(0x274),_0x3ba98b(0x1fc),_0x3ba98b(0x20e),_0x3ba98b(0x255),_0x55021d(0x1f1),_0x55021d(0x1ec),_0x55021d(0x1aa),_0x55021d(0x1e2),_0x55021d(0x181),_0x55021d(0x22c),_0x3ba98b(0x214),_0x55021d(0x228),_0x55021d(0x195),_0x55021d(0x264),_0x55021d(0x1e9),_0x55021d(0x206),_0x55021d(0x1fe),_0x55021d(0x1a1),_0x55021d(0x194),_0x55021d(0x19b),_0x55021d(0x1d8),_0x55021d(0x275),_0x55021d(0x19a),_0x55ed5f(0x12a),_0x55021d(0x1e0),_0x55021d(0x225),_0x55021d(0x23b),_0x55021d(0x189),_0x55021d(0x202),_0x55021d(0x20e),_0x55021d(0x282),_0x3ba98b(0x1a5),_0x55021d(0x1d3),_0x55021d(0x190),_0x55021d(0x1c2),_0x55021d(0x1d1),_0x3ba98b(0x1e5),_0x55021d(0x26c),_0x3ba98b(0x23d),_0x55021d(0x284),_0x55021d(0x1ad),_0x55021d(0x184),_0x55021d(0x1e7),_0x55021d(0x25c),_0x55021d(0x22e),_0x3ba98b(0x24b),_0x3ba98b(0x2af),_0x55021d(0x226),_0x55021d(0x227),_0x55021d(0x1a8),_0x55021d(0x262),_0x3ba98b(0x1b5),_0x55021d(0x20a),_0x55021d(0x209),_0x55021d(0x249),_0x55021d(0x1d7),_0x3ba98b(0x292),_0x55021d(0x186),_0x55021d(0x1b5),_0x55021d(0x233),_0x55021d(0x250),_0x55021d(0x1c1),_0x55021d(0x1b3),_0x3ba98b(0x28d),_0x55ed5f(0xb7),_0x55021d(0x1dc),_0x55021d(0x1bf),_0x55021d(0x259),_0x55021d(0x1cc),_0x55ed5f(0xf2)];return a0_0x612c=function(){return _0x158107;},a0_0x612c();}function a0_0x179f(){var _0x5673a7=a0_0x8e03,_0x25bc62=a0_0x1f50,_0x54ae49=a0_0x5c16,_0x3a75ec=[_0x54ae49(0x1a5),_0x5673a7(0x14b),_0x54ae49(0xd1),_0x54ae49(0xb3),_0x25bc62(0x1b0),_0x54ae49(0xd2),_0x25bc62(0x1ac),_0x54ae49(0x1a0),_0x5673a7(0x183),_0x54ae49(0x189),_0x54ae49(0xf9),_0x54ae49(0xdb),_0x54ae49(0xb8),_0x25bc62(0x2d2),_0x54ae49(0x1a8),_0x54ae49(0x134),_0x54ae49(0x9d),_0x54ae49(0x173),_0x5673a7(0x173),_0x54ae49(0xb7),_0x54ae49(0x175),_0x25bc62(0x2db),_0x25bc62(0x1ef),_0x54ae49(0xcd),_0x54ae49(0xf2),_0x54ae49(0x118),_0x54ae49(0x95),_0x54ae49(0x1af),_0x54ae49(0x1be),_0x54ae49(0x17a),_0x54ae49(0x132),_0x54ae49(0x1da),_0x54ae49(0x13c),_0x54ae49(0xad),_0x25bc62(0x29f),_0x54ae49(0x1e8),_0x54ae49(0x1f1),_0x54ae49(0x1ab),_0x54ae49(0x194),_0x54ae49(0x125),_0x54ae49(0x161),_0x25bc62(0x2c0),_0x54ae49(0x11f),_0x25bc62(0x1a8),_0x54ae49(0x93),_0x54ae49(0x143),_0x54ae49(0x1c2),'deltaX',_0x54ae49(0xa2),_0x54ae49(0x10b),_0x25bc62(0x207),_0x54ae49(0x117),_0x54ae49(0x120),_0x54ae49(0x1c4),_0x54ae49(0xfa),_0x54ae49(0x121),_0x25bc62(0x1b5),_0x25bc62(0x1f7),_0x54ae49(0x160),_0x54ae49(0xfe),_0x54ae49(0x1f8),_0x54ae49(0x1b7),_0x54ae49(0x124),_0x54ae49(0x155),_0x54ae49(0x104),_0x54ae49(0x1a4),_0x54ae49(0x19c),_0x54ae49(0x1ce),_0x25bc62(0x2af),_0x25bc62(0x238),_0x54ae49(0x1b1),_0x54ae49(0xb5),_0x54ae49(0x192),_0x25bc62(0x1bd),_0x54ae49(0x164),_0x25bc62(0x213),_0x54ae49(0x107),_0x54ae49(0x16e),_0x54ae49(0x128),_0x54ae49(0x1a2),_0x54ae49(0xbe),_0x54ae49(0xd6),_0x54ae49(0x9b),_0x54ae49(0x10f),_0x25bc62(0x269),_0x54ae49(0x178),_0x25bc62(0x2fb),_0x5673a7(0x111),_0x25bc62(0x21f),_0x25bc62(0x1fb),_0x54ae49(0x199),_0x54ae49(0x198),_0x25bc62(0x253),_0x54ae49(0x11a),_0x54ae49(0x1d2),_0x54ae49(0xf7),_0x25bc62(0x21a),_0x5673a7(0x204),_0x54ae49(0xbb),_0x25bc62(0x1ec),_0x54ae49(0x115),_0x54ae49(0x123),_0x54ae49(0x1c0),_0x25bc62(0x2b8),_0x54ae49(0x105),_0x54ae49(0x1b4),_0x54ae49(0x1a6),_0x25bc62(0x195),_0x54ae49(0x1ee),_0x54ae49(0x1a7),_0x54ae49(0xa6),_0x25bc62(0x282),_0x54ae49(0xc7),_0x54ae49(0x133),_0x25bc62(0x1e1),_0x54ae49(0x1fa),_0x54ae49(0x1cc),_0x54ae49(0x1d5),_0x54ae49(0xf1),_0x5673a7(0x247),_0x54ae49(0x130),_0x54ae49(0x15a),_0x54ae49(0xe0),_0x54ae49(0x127),_0x54ae49(0x10c),_0x54ae49(0xda),'mouseup',_0x54ae49(0x149),_0x54ae49(0x1cf),_0x54ae49(0x19f),_0x54ae49(0xf4),_0x54ae49(0x179),_0x54ae49(0xdf),_0x54ae49(0x1e6),_0x54ae49(0x136),_0x54ae49(0x146),_0x54ae49(0x1c7),'22xIvOnB',_0x25bc62(0x223),_0x54ae49(0x14f),_0x54ae49(0x1ba),_0x54ae49(0x113),'useBothWheelAxes',_0x54ae49(0xf5),_0x25bc62(0x2cb),_0x54ae49(0x1d9),_0x54ae49(0x1ed),_0x54ae49(0xff),_0x54ae49(0xd7),_0x54ae49(0x122),_0x54ae49(0x174),_0x25bc62(0x20b),_0x54ae49(0xd0),_0x54ae49(0xf8),_0x54ae49(0xcf),_0x54ae49(0x9f),_0x54ae49(0xd8),_0x54ae49(0x1f7),_0x54ae49(0x1f3),_0x54ae49(0x1e0),_0x54ae49(0x1bf),_0x54ae49(0x191),_0x54ae49(0x144),_0x25bc62(0x1ce),_0x54ae49(0xd5),_0x54ae49(0x183),_0x54ae49(0xef),_0x54ae49(0x13e),_0x5673a7(0x201),_0x54ae49(0x1ae),_0x25bc62(0x1be),_0x54ae49(0x138),_0x54ae49(0xc2),_0x54ae49(0x112),_0x5673a7(0x16f),_0x5673a7(0x140),_0x54ae49(0x1d1),_0x54ae49(0xeb),_0x54ae49(0x167),_0x54ae49(0xb6),_0x54ae49(0x126),_0x25bc62(0x2b6),_0x54ae49(0x1bc),_0x54ae49(0x1c3),_0x5673a7(0x104),_0x54ae49(0x15b),_0x54ae49(0xba),_0x54ae49(0x1df),'contains',_0x54ae49(0xc3),_0x54ae49(0x154),_0x54ae49(0x1f0),_0x54ae49(0x10a),_0x54ae49(0x1cb),_0x54ae49(0x17e),_0x25bc62(0x1f5),_0x54ae49(0xe4),_0x54ae49(0xb4),_0x25bc62(0x2f1),_0x54ae49(0xc5),_0x25bc62(0x28f),_0x54ae49(0x9e),_0x54ae49(0x1f9),_0x54ae49(0x170),_0x54ae49(0x1d3),_0x54ae49(0x11c),_0x54ae49(0x99),_0x25bc62(0x1a0),_0x54ae49(0xf0),_0x54ae49(0x1d8),_0x54ae49(0x15f),_0x54ae49(0x188),_0x54ae49(0x111),_0x25bc62(0x2df),_0x54ae49(0x119),_0x25bc62(0x235),_0x54ae49(0xa7),_0x54ae49(0x1a3),_0x54ae49(0x18c),_0x54ae49(0x1ea),_0x54ae49(0x1c5),_0x54ae49(0xa1),_0x54ae49(0x1c8),_0x25bc62(0x2f6),_0x54ae49(0x110),_0x5673a7(0x1aa),_0x54ae49(0x1f2),_0x25bc62(0x29d),_0x54ae49(0x171),_0x5673a7(0x232),_0x25bc62(0x1a2),_0x5673a7(0x154),_0x54ae49(0x15c),_0x54ae49(0x114),_0x54ae49(0xc0),_0x54ae49(0xb1),_0x54ae49(0x1bd),_0x54ae49(0x18f),_0x54ae49(0xf6),_0x54ae49(0x18a),_0x54ae49(0x116),_0x54ae49(0xea),_0x5673a7(0x110),_0x54ae49(0x1a1),_0x54ae49(0xa0),_0x54ae49(0x196),_0x54ae49(0x135),_0x54ae49(0x150),_0x54ae49(0x1cd),_0x25bc62(0x2aa),'4LEJiba',_0x54ae49(0x1dc),_0x54ae49(0x17d),'2324944bvGWoB',_0x54ae49(0xd9),_0x54ae49(0x17b),_0x54ae49(0x14b),_0x54ae49(0x9a),_0x54ae49(0xa9),_0x54ae49(0x1ac),_0x54ae49(0x13f),_0x25bc62(0x2ab),_0x25bc62(0x1b2),_0x54ae49(0x177),_0x54ae49(0x94),_0x25bc62(0x2c5),_0x54ae49(0x1e1),_0x54ae49(0x12f),_0x54ae49(0x190),_0x54ae49(0x12b),_0x54ae49(0x166),_0x54ae49(0xc1),_0x54ae49(0x1e4),_0x54ae49(0xcb),_0x54ae49(0x14e),_0x54ae49(0x1b3),_0x54ae49(0x1d6),_0x54ae49(0x157),_0x5673a7(0x22b),_0x54ae49(0x19e),_0x54ae49(0x14a),_0x54ae49(0x1f4),_0x54ae49(0xb9),_0x54ae49(0xc9),_0x54ae49(0x172),_0x54ae49(0x16c),_0x25bc62(0x2cf),_0x54ae49(0xdd),_0x54ae49(0x100),_0x54ae49(0x10d),_0x54ae49(0x1c6),_0x54ae49(0x1de),_0x5673a7(0x223),_0x25bc62(0x1b7),_0x54ae49(0x184),_0x25bc62(0x24d),_0x25bc62(0x1ff),_0x25bc62(0x263),_0x54ae49(0xf3),_0x25bc62(0x26c),_0x54ae49(0x1d4),_0x25bc62(0x2ae),_0x25bc62(0x1d0),_0x25bc62(0x274),_0x54ae49(0x195),_0x54ae49(0x16f),_0x25bc62(0x2d3),_0x54ae49(0x1c9),_0x25bc62(0x2a1),_0x54ae49(0x12e),_0x54ae49(0x1c1),_0x25bc62(0x205),_0x54ae49(0xfb),_0x54ae49(0x1b2),_0x54ae49(0x9c),_0x54ae49(0x141),_0x54ae49(0x158),_0x54ae49(0xbc),_0x54ae49(0x142),_0x54ae49(0x19d),_0x54ae49(0x151),_0x54ae49(0x19a),_0x5673a7(0x1b7),_0x54ae49(0x181),_0x54ae49(0x1ef),_0x25bc62(0x24a),_0x25bc62(0x1ca),_0x54ae49(0xdc),_0x25bc62(0x231),_0x54ae49(0x193),_0x54ae49(0x1f6),_0x54ae49(0xe1),_0x54ae49(0x14d),_0x54ae49(0x18b),_0x54ae49(0x12c),_0x25bc62(0x19d),_0x54ae49(0x96),_0x54ae49(0x17c),_0x54ae49(0xab),_0x54ae49(0x15d),_0x54ae49(0x98),_0x25bc62(0x23a),_0x54ae49(0x1e3),_0x54ae49(0x1b9),_0x5673a7(0x113),_0x25bc62(0x27d),_0x54ae49(0x152),_0x54ae49(0xd4),_0x54ae49(0xe7),_0x25bc62(0x18f),_0x54ae49(0x1e2),_0x54ae49(0x176),_0x25bc62(0x2a3)];return a0_0x179f=function(){return _0x3a75ec;},a0_0x179f();}(function(_0x5b133e,_0x5adcec){var _0x21dede=a0_0x491c,_0x3aa127=a0_0x16bb,_0xe8b0f5=_0x5b133e();while(!![]){try{var _0x439898=parseInt(_0x3aa127(0x133))/0x1*(-parseInt(_0x3aa127(0x18e))/0x2)+parseInt(_0x3aa127(0xcd))/0x3*(parseInt(_0x3aa127(0x103))/0x4)+parseInt(_0x3aa127(0x16c))/0x5*(parseInt(_0x3aa127(0xe0))/0x6)+parseInt(_0x3aa127(0x143))/0x7+-parseInt(_0x3aa127(0x16f))/0x8*(-parseInt(_0x3aa127(0x152))/0x9)+parseInt(_0x3aa127(0x17b))/0xa*(parseInt(_0x3aa127(0x1b0))/0xb)+-parseInt(_0x3aa127(0x178))/0xc;if(_0x439898===_0x5adcec)break;else _0xe8b0f5[_0x21dede(0x127)](_0xe8b0f5[_0x21dede(0x126)]());}catch(_0x323116){_0xe8b0f5[_0x21dede(0x127)](_0xe8b0f5[_0x21dede(0x126)]());}}}(a0_0x5451,0xbd7b0),function(_0x1cb02c,_0x1fe235){var _0x5a33e3=a0_0x107a,_0x2c4573=a0_0x491c,_0x25f892=a0_0x16bb;_0x5a33e3(0x11e)==typeof exports&&_0x25f892(0xd8)!=typeof module?module[_0x2c4573(0x141)]=_0x1fe235():_0x25f892(0xfb)==typeof define&&define[_0x25f892(0x105)]?define(_0x1fe235):(_0x1cb02c=_0x1cb02c||self,_0x1cb02c[_0x25f892(0x11e)]=_0x1fe235());}(this,function(){'use strict';var _0x225934=a0_0x5754,_0x52358d=a0_0xb9fb,_0x121de3=a0_0x107a,_0x2cb7ba=a0_0x491c,_0x4a06b3=a0_0x16bb,_0x3ef382=Math[_0x52358d(0xf7)],_0x5c2329=Math[_0x4a06b3(0xf2)];function _0x39eb0a(_0x4b3fcc){return getComputedStyle(_0x4b3fcc);}function _0x209060(_0x62dc99,_0x1841b1){var _0x18e453=_0x4a06b3;for(var _0x4718fe in _0x1841b1){var _0x1d0373=_0x1841b1[_0x4718fe];_0x18e453(0x130)==typeof _0x1d0373&&(_0x1d0373+='px'),_0x62dc99[_0x18e453(0xd9)][_0x4718fe]=_0x1d0373;}return _0x62dc99;}function _0x40119d(_0xbbf2e6){var _0x4a32f1=_0x52358d,_0x5c1222=_0x4a06b3,_0x471af5=document[_0x4a32f1(0x16b)](_0x5c1222(0x187));return _0x471af5[_0x5c1222(0xf1)]=_0xbbf2e6,_0x471af5;}function _0xd8f915(_0x5f3e7f,_0x560785){var _0x433b93=a0_0x491c,_0x4592a5=_0x4a06b3;if(!_0x404d2f)throw new Error(_0x433b93(0x1b4));return _0x404d2f[_0x4592a5(0x111)](_0x5f3e7f,_0x560785);}function _0x1ac443(_0x124fa3){var _0x1ebc34=a0_0x107a,_0x30b9d4=a0_0x491c,_0x175d2d=_0x4a06b3;_0x124fa3[_0x1ebc34(0x144)]?_0x124fa3[_0x175d2d(0x137)]():_0x124fa3[_0x175d2d(0xf7)]&&_0x124fa3[_0x30b9d4(0x1e8)][_0x175d2d(0x19f)](_0x124fa3);}function _0x5d729a(_0x4b0721,_0x212bd6){var _0x5404eb=_0x4a06b3;return Array[_0x5404eb(0x151)][_0x5404eb(0xdf)][_0x5404eb(0x111)](_0x4b0721[_0x5404eb(0xe2)],function(_0x4540f6){return _0xd8f915(_0x4540f6,_0x212bd6);});}function _0x499ec5(_0x4257b9,_0x5c8367){var _0x41df01=a0_0x491c,_0x3a9741=_0x4a06b3,_0x21dde5=_0x4257b9[_0x3a9741(0x160)][_0x3a9741(0x141)],_0x348dff=_0x37e162[_0x3a9741(0x1a3)][_0x3a9741(0x165)](_0x5c8367);_0x21dde5[_0x41df01(0x1b3)](_0x348dff)?clearTimeout(_0x51cd02[_0x5c8367]):_0x21dde5[_0x3a9741(0x18c)](_0x348dff);}function _0x4da6c0(_0x46bbb2,_0x5dbb5c){var _0x58bef1=a0_0x491c,_0x4f8991=_0x4a06b3;_0x51cd02[_0x5dbb5c]=setTimeout(function(){var _0x19c07d=a0_0x107a,_0x1aa94a=a0_0x491c,_0x102083=a0_0x16bb;return _0x46bbb2[_0x1aa94a(0x1d5)]&&_0x46bbb2[_0x102083(0x160)][_0x102083(0x141)][_0x102083(0x137)](_0x37e162[_0x19c07d(0x13a)][_0x102083(0x165)](_0x5dbb5c));},_0x46bbb2[_0x58bef1(0x149)][_0x4f8991(0x163)]);}function _0x1e8b5f(_0x30b6cb,_0x9b2677){_0x499ec5(_0x30b6cb,_0x9b2677),_0x4da6c0(_0x30b6cb,_0x9b2677);}function _0x36fa1a(_0x4be173){var _0x744b9=a0_0x107a,_0x656929=a0_0x491c,_0x17c2af=_0x4a06b3;if(_0x656929(0x173)==typeof window[_0x744b9(0x150)])return new CustomEvent(_0x4be173);var _0x3634d3=document[_0x17c2af(0x161)](_0x17c2af(0x127));return _0x3634d3[_0x744b9(0x188)](_0x4be173,!0x1,!0x1,void 0x0),_0x3634d3;}function _0x815f7(_0x56febf,_0x71f5a3,_0xb06f0d,_0x1a0731,_0x304f1a){var _0x56a327=a0_0x107a,_0x278a43=a0_0x491c,_0x471179=_0x4a06b3;void 0x0===_0x1a0731&&(_0x1a0731=!0x0),void 0x0===_0x304f1a&&(_0x304f1a=!0x1);var _0x7b780;if(_0x471179(0x18f)===_0x71f5a3)_0x7b780=[_0x278a43(0x13e),_0x471179(0xe5),_0x471179(0x101),'y','up',_0x471179(0x110)];else{if(_0x56a327(0x14a)===_0x71f5a3)_0x7b780=[_0x471179(0xe7),_0x471179(0x164),_0x471179(0x12f),'x',_0x471179(0x170),_0x471179(0x155)];else throw new Error(_0x471179(0x11d));}_0x3987c6(_0x56febf,_0xb06f0d,_0x7b780,_0x1a0731,_0x304f1a);}function _0x3987c6(_0x1202b2,_0x1e46e2,_0xf9849b,_0x192481,_0x25c827){var _0x599e63=a0_0x107a,_0x5d91ae=a0_0x491c,_0x497e48=_0x4a06b3,_0xc66e05=_0xf9849b[0x0],_0x5c06d5=_0xf9849b[0x1],_0x4b6c35=_0xf9849b[0x2],_0x5d2c62=_0xf9849b[0x3],_0x16da11=_0xf9849b[0x4],_0x14fbd9=_0xf9849b[0x5];void 0x0===_0x192481&&(_0x192481=!0x0),void 0x0===_0x25c827&&(_0x25c827=!0x1);var _0x3c363f=_0x1202b2[_0x497e48(0x160)];_0x1202b2[_0x497e48(0x190)][_0x5d2c62]=null,0x1>_0x3c363f[_0x4b6c35]&&(_0x1202b2[_0x497e48(0x190)][_0x5d2c62]=_0x497e48(0x129)),_0x3c363f[_0x4b6c35]>_0x1202b2[_0xc66e05]-_0x1202b2[_0x5c06d5]-0x1&&(_0x1202b2[_0x497e48(0x190)][_0x5d2c62]=_0x497e48(0x1a9)),_0x1e46e2&&(_0x3c363f[_0x497e48(0xcb)](_0x36fa1a(_0x497e48(0x12d)+_0x5d2c62)),0x0>_0x1e46e2?_0x3c363f[_0x5d91ae(0x172)](_0x36fa1a(_0x497e48(0x12d)+_0x16da11)):0x0<_0x1e46e2&&_0x3c363f[_0x497e48(0xcb)](_0x36fa1a(_0x497e48(0x12d)+_0x14fbd9)),_0x192481&&_0x1e8b5f(_0x1202b2,_0x5d2c62)),_0x1202b2[_0x497e48(0x190)][_0x5d2c62]&&(_0x1e46e2||_0x25c827)&&_0x3c363f[_0x599e63(0x138)](_0x36fa1a(_0x497e48(0x171)+_0x5d2c62+_0x497e48(0x18a)+_0x1202b2[_0x497e48(0x190)][_0x5d2c62]));}function _0x2becf7(_0x3f389c){return parseInt(_0x3f389c,0xa)||0x0;}function _0x232aab(_0x3e786a){var _0x2a6dc5=_0x4a06b3;return _0xd8f915(_0x3e786a,_0x2a6dc5(0xf6))||_0xd8f915(_0x3e786a,_0x2a6dc5(0x11a))||_0xd8f915(_0x3e786a,_0x2a6dc5(0xd1))||_0xd8f915(_0x3e786a,_0x2a6dc5(0x135));}function _0x15069f(_0x255b4e){var _0x21061a=a0_0x491c,_0x4e0677=_0x4a06b3,_0x25f63d=_0x39eb0a(_0x255b4e);return _0x2becf7(_0x25f63d[_0x4e0677(0xed)])+_0x2becf7(_0x25f63d[_0x4e0677(0x142)])+_0x2becf7(_0x25f63d[_0x4e0677(0xd4)])+_0x2becf7(_0x25f63d[_0x4e0677(0x13a)])+_0x2becf7(_0x25f63d[_0x21061a(0x18c)]);}function _0x124b4a(_0x4bcf0e){var _0x1a64a8=a0_0x107a,_0x31a290=a0_0x491c,_0x466baf=_0x4a06b3,_0x5e202d=Math[_0x466baf(0x11b)],_0x48fccd=_0x4bcf0e[_0x466baf(0x160)],_0x1ab0c0=_0x5c2329(_0x48fccd[_0x466baf(0x101)]),_0x425ef4=_0x48fccd[_0x1a64a8(0x156)]();_0x4bcf0e[_0x466baf(0x164)]=_0x5e202d(_0x425ef4[_0x466baf(0xed)]),_0x4bcf0e[_0x31a290(0x1e9)]=_0x5e202d(_0x425ef4[_0x466baf(0x10b)]),_0x4bcf0e[_0x31a290(0x182)]=_0x48fccd[_0x466baf(0x157)],_0x4bcf0e[_0x31a290(0x13e)]=_0x48fccd[_0x466baf(0x138)],_0x48fccd[_0x466baf(0x189)](_0x4bcf0e[_0x466baf(0x107)])||(_0x5d729a(_0x48fccd,_0x37e162[_0x31a290(0x1d2)][_0x31a290(0x16c)]('x'))[_0x466baf(0x174)](function(_0x48fe80){return _0x1ac443(_0x48fe80);}),_0x48fccd[_0x466baf(0x1af)](_0x4bcf0e[_0x31a290(0x1a9)])),_0x48fccd[_0x466baf(0x189)](_0x4bcf0e[_0x466baf(0x140)])||(_0x5d729a(_0x48fccd,_0x37e162[_0x31a290(0x1d2)][_0x466baf(0x1b6)]('y'))[_0x31a290(0x163)](function(_0x38c078){return _0x1ac443(_0x38c078);}),_0x48fccd[_0x466baf(0x1af)](_0x4bcf0e[_0x31a290(0x1e0)])),!_0x4bcf0e[_0x466baf(0x1a5)][_0x466baf(0x14c)]&&_0x4bcf0e[_0x31a290(0x194)]+_0x4bcf0e[_0x466baf(0x1a5)][_0x466baf(0x126)]<_0x4bcf0e[_0x466baf(0xe7)]?(_0x4bcf0e[_0x466baf(0xfc)]=!0x0,_0x4bcf0e[_0x466baf(0x145)]=_0x4bcf0e[_0x31a290(0x194)]-_0x4bcf0e[_0x466baf(0xf5)],_0x4bcf0e[_0x466baf(0xde)]=_0x4bcf0e[_0x466baf(0x164)]/_0x4bcf0e[_0x466baf(0x145)],_0x4bcf0e[_0x466baf(0x116)]=_0x254b99(_0x4bcf0e,_0x2becf7(_0x4bcf0e[_0x466baf(0x145)]*_0x4bcf0e[_0x466baf(0x164)]/_0x4bcf0e[_0x466baf(0xe7)])),_0x4bcf0e[_0x466baf(0xdd)]=_0x2becf7((_0x4bcf0e[_0x31a290(0x1d9)]+_0x48fccd[_0x466baf(0x12f)])*(_0x4bcf0e[_0x1a64a8(0xcf)]-_0x4bcf0e[_0x466baf(0x116)])/(_0x4bcf0e[_0x466baf(0xe7)]-_0x4bcf0e[_0x466baf(0x164)]))):_0x4bcf0e[_0x466baf(0xfc)]=!0x1,!_0x4bcf0e[_0x466baf(0x1a5)][_0x466baf(0x100)]&&_0x4bcf0e[_0x466baf(0xe5)]+_0x4bcf0e[_0x466baf(0x1a5)][_0x466baf(0x12e)]<_0x4bcf0e[_0x466baf(0x198)]?(_0x4bcf0e[_0x466baf(0x13e)]=!0x0,_0x4bcf0e[_0x466baf(0x17e)]=_0x4bcf0e[_0x466baf(0xe5)]-_0x4bcf0e[_0x31a290(0x18f)],_0x4bcf0e[_0x31a290(0x176)]=_0x4bcf0e[_0x466baf(0xe5)]/_0x4bcf0e[_0x31a290(0x14e)],_0x4bcf0e[_0x466baf(0xe3)]=_0x254b99(_0x4bcf0e,_0x2becf7(_0x4bcf0e[_0x466baf(0x17e)]*_0x4bcf0e[_0x466baf(0xe5)]/_0x4bcf0e[_0x466baf(0x198)])),_0x4bcf0e[_0x466baf(0x115)]=_0x2becf7(_0x1ab0c0*(_0x4bcf0e[_0x466baf(0x17e)]-_0x4bcf0e[_0x466baf(0xe3)])/(_0x4bcf0e[_0x466baf(0x198)]-_0x4bcf0e[_0x31a290(0x1e9)]))):_0x4bcf0e[_0x466baf(0x13e)]=!0x1,_0x4bcf0e[_0x466baf(0xdd)]>=_0x4bcf0e[_0x466baf(0x145)]-_0x4bcf0e[_0x466baf(0x116)]&&(_0x4bcf0e[_0x31a290(0x1a1)]=_0x4bcf0e[_0x466baf(0x145)]-_0x4bcf0e[_0x466baf(0x116)]),_0x4bcf0e[_0x466baf(0x115)]>=_0x4bcf0e[_0x31a290(0x14e)]-_0x4bcf0e[_0x466baf(0xe3)]&&(_0x4bcf0e[_0x466baf(0x115)]=_0x4bcf0e[_0x466baf(0x17e)]-_0x4bcf0e[_0x31a290(0x14a)]),_0x34a550(_0x48fccd,_0x4bcf0e),_0x4bcf0e[_0x466baf(0xfc)]?_0x48fccd[_0x466baf(0x141)][_0x466baf(0x18c)](_0x37e162[_0x1a64a8(0x13a)][_0x466baf(0x149)]('x')):(_0x48fccd[_0x466baf(0x141)][_0x466baf(0x137)](_0x37e162[_0x31a290(0x17c)][_0x466baf(0x149)]('x')),_0x4bcf0e[_0x31a290(0x1b8)]=0x0,_0x4bcf0e[_0x466baf(0xdd)]=0x0,_0x48fccd[_0x466baf(0x12f)]=!0x0===_0x4bcf0e[_0x466baf(0x109)]?_0x4bcf0e[_0x466baf(0xe7)]:0x0),_0x4bcf0e[_0x466baf(0x13e)]?_0x48fccd[_0x466baf(0x141)][_0x31a290(0x139)](_0x37e162[_0x466baf(0x1a3)][_0x466baf(0x149)]('y')):(_0x48fccd[_0x31a290(0x1a4)][_0x466baf(0x137)](_0x37e162[_0x466baf(0x1a3)][_0x466baf(0x149)]('y')),_0x4bcf0e[_0x31a290(0x14a)]=0x0,_0x4bcf0e[_0x31a290(0x17d)]=0x0,_0x48fccd[_0x466baf(0x101)]=0x0);}function _0x254b99(_0x306611,_0x3fbdc1){var _0x3f56bd=a0_0x491c,_0x15ec6d=_0x4a06b3,_0x14433e=Math[_0x15ec6d(0x159)],_0x2975e=Math[_0x15ec6d(0x158)];return _0x306611[_0x15ec6d(0x1a5)][_0x15ec6d(0xf8)]&&(_0x3fbdc1=_0x2975e(_0x3fbdc1,_0x306611[_0x3f56bd(0x149)][_0x15ec6d(0xf8)])),_0x306611[_0x3f56bd(0x149)][_0x15ec6d(0x15c)]&&(_0x3fbdc1=_0x14433e(_0x3fbdc1,_0x306611[_0x15ec6d(0x1a5)][_0x15ec6d(0x15c)])),_0x3fbdc1;}function _0x34a550(_0x3fe397,_0x187e11){var _0x29a4ce=_0x52358d,_0x6f48db=a0_0x107a,_0x13c927=a0_0x491c,_0x57504a=_0x4a06b3,_0x5ba85c={'width':_0x187e11[_0x13c927(0x1ad)]},_0x2051ec=_0x5c2329(_0x3fe397[_0x57504a(0x101)]);_0x5ba85c[_0x57504a(0x170)]=_0x187e11[_0x13c927(0x17b)]?_0x187e11[_0x13c927(0x1d9)]+_0x3fe397[_0x57504a(0x12f)]+_0x187e11[_0x29a4ce(0xff)]-_0x187e11[_0x57504a(0xe7)]:_0x3fe397[_0x57504a(0x12f)],_0x187e11[_0x57504a(0xc8)]?_0x5ba85c[_0x57504a(0x15f)]=_0x187e11[_0x57504a(0x147)]-_0x2051ec:_0x5ba85c[_0x57504a(0x18f)]=_0x187e11[_0x13c927(0x135)]+_0x2051ec,_0x209060(_0x187e11[_0x57504a(0x107)],_0x5ba85c);var _0x1ef96e={'top':_0x2051ec,'height':_0x187e11[_0x13c927(0x14e)]};_0x187e11[_0x57504a(0xcf)]?_0x187e11[_0x57504a(0x109)]?_0x1ef96e[_0x57504a(0x155)]=_0x187e11[_0x13c927(0x182)]-(_0x187e11[_0x57504a(0xe9)]+_0x3fe397[_0x13c927(0x18e)])-_0x187e11[_0x13c927(0x15f)]-_0x187e11[_0x13c927(0x13b)]-0x9:_0x1ef96e[_0x57504a(0x155)]=_0x187e11[_0x57504a(0xf3)]-_0x3fe397[_0x57504a(0x12f)]:_0x187e11[_0x13c927(0x17b)]?_0x1ef96e[_0x57504a(0x170)]=_0x187e11[_0x57504a(0xe9)]+_0x3fe397[_0x6f48db(0xd5)]+0x2*_0x187e11[_0x57504a(0x164)]-_0x187e11[_0x57504a(0xe7)]-_0x187e11[_0x57504a(0xd3)]-_0x187e11[_0x57504a(0x1ae)]:_0x1ef96e[_0x6f48db(0x14a)]=_0x187e11[_0x57504a(0xd3)]+_0x3fe397[_0x13c927(0x18e)],_0x209060(_0x187e11[_0x6f48db(0x15f)],_0x1ef96e),_0x209060(_0x187e11[_0x57504a(0x156)],{'left':_0x187e11[_0x57504a(0xdd)],'width':_0x187e11[_0x13c927(0x1b8)]-_0x187e11[_0x57504a(0x194)]}),_0x209060(_0x187e11[_0x57504a(0x181)],{'top':_0x187e11[_0x57504a(0x115)],'height':_0x187e11[_0x57504a(0xe3)]-_0x187e11[_0x57504a(0x128)]});}function _0x1df2fa(_0x381d95,_0x3eac45){var _0x14fc81=a0_0x491c,_0x4bc965=_0x4a06b3;function _0x4d267a(_0x34fa24){var _0x418c6f=a0_0x491c,_0x333ef4=a0_0x16bb;_0x34fa24[_0x333ef4(0x108)]&&_0x34fa24[_0x333ef4(0x108)][0x0]&&(_0x34fa24[_0x6d99fc]=_0x34fa24[_0x418c6f(0x118)][0x0][_0x333ef4(0x1b4)]),_0x2ed618[_0x6fcdcd]=_0x3b9215+_0xa88bf2*(_0x34fa24[_0x6d99fc]-_0x1dbc9d),_0x499ec5(_0x381d95,_0xab99fa),_0x124b4a(_0x381d95),_0x34fa24[_0x333ef4(0x14a)](),_0x34fa24[_0x333ef4(0x11c)]();}function _0x49c61b(){var _0x504917=a0_0x491c,_0x3121a6=a0_0x16bb;_0x4da6c0(_0x381d95,_0xab99fa),_0x381d95[_0x38dbc9][_0x504917(0x1a4)][_0x3121a6(0x137)](_0x37e162[_0x504917(0x17c)][_0x3121a6(0x16a)]),_0x381d95[_0x504917(0x1bf)][_0x3121a6(0x18d)](_0x381d95[_0x3121a6(0x13f)],_0x3121a6(0x17f),_0x4d267a);}function _0x539515(_0x548968,_0x2cea55){var _0x36cbd7=a0_0x107a,_0x466ba2=a0_0x16bb;_0x3b9215=_0x2ed618[_0x6fcdcd],_0x2cea55&&_0x548968[_0x466ba2(0x108)]&&(_0x548968[_0x6d99fc]=_0x548968[_0x466ba2(0x108)][0x0][_0x466ba2(0x1b4)]),_0x1dbc9d=_0x548968[_0x6d99fc],_0xa88bf2=(_0x381d95[_0x4047e6]-_0x381d95[_0x397342])/(_0x381d95[_0x383e9d]-_0x381d95[_0x1e8e23]),_0x2cea55?_0x381d95[_0x466ba2(0xca)][_0x36cbd7(0x18d)](_0x381d95[_0x466ba2(0x13f)],_0x466ba2(0x106),_0x4d267a):(_0x381d95[_0x466ba2(0xca)][_0x466ba2(0x193)](_0x381d95[_0x466ba2(0x13f)],_0x466ba2(0x17f),_0x4d267a),_0x381d95[_0x466ba2(0xca)][_0x466ba2(0x172)](_0x381d95[_0x466ba2(0x13f)],_0x466ba2(0xfe),_0x49c61b),_0x548968[_0x466ba2(0x11c)]()),_0x381d95[_0x38dbc9][_0x466ba2(0x141)][_0x466ba2(0x18c)](_0x37e162[_0x466ba2(0x1a3)][_0x36cbd7(0x145)]),_0x548968[_0x466ba2(0x14a)]();}var _0x397342=_0x3eac45[0x0],_0x4047e6=_0x3eac45[0x1],_0x6d99fc=_0x3eac45[0x2],_0x383e9d=_0x3eac45[0x3],_0x46c0a6=_0x3eac45[0x4],_0x1e8e23=_0x3eac45[0x5],_0x6fcdcd=_0x3eac45[0x6],_0xab99fa=_0x3eac45[0x7],_0x38dbc9=_0x3eac45[0x8],_0x2ed618=_0x381d95[_0x4bc965(0x160)],_0x3b9215=null,_0x1dbc9d=null,_0xa88bf2=null;_0x381d95[_0x4bc965(0xca)][_0x4bc965(0x193)](_0x381d95[_0x46c0a6],_0x14fc81(0x123),function(_0x1f1d61){_0x539515(_0x1f1d61);}),_0x381d95[_0x14fc81(0x1bf)][_0x14fc81(0x1d0)](_0x381d95[_0x46c0a6],_0x4bc965(0xd5),function(_0x3c80ed){_0x539515(_0x3c80ed,!0x0);});}var _0x404d2f=_0x4a06b3(0xd8)!=typeof Element&&(Element[_0x4a06b3(0x151)][_0x4a06b3(0x15a)]||Element[_0x4a06b3(0x151)][_0x4a06b3(0x1a6)]||Element[_0x2cb7ba(0x1e5)][_0x2cb7ba(0x192)]||Element[_0x52358d(0x102)][_0x2cb7ba(0x177)]),_0x37e162={'main':'ps','rtl':_0x52358d(0x17d),'element':{'thumb':function(_0x176006){var _0x28239e=a0_0x107a;return _0x28239e(0xdc)+_0x176006;},'rail':function(_0x233578){var _0x37aa35=_0x4a06b3;return _0x37aa35(0xce)+_0x233578;},'consuming':_0x2cb7ba(0x18a)},'state':{'focus':_0x4a06b3(0xd7),'clicking':_0x4a06b3(0x112),'active':function(_0x46d26f){var _0x17fb0a=_0x4a06b3;return _0x17fb0a(0x177)+_0x46d26f;},'scrolling':function(_0x1a3d49){var _0x2ffc6c=_0x4a06b3;return _0x2ffc6c(0xdb)+_0x1a3d49;}}},_0x51cd02={'x':null,'y':null},_0x369b52=function(_0x454dc8){var _0x1e4501=_0x4a06b3;this[_0x1e4501(0x160)]=_0x454dc8,this[_0x1e4501(0xe8)]={};},_0x2b84a4={'isEmpty':{'configurable':!0x0}};_0x369b52[_0x4a06b3(0x151)][_0x4a06b3(0x193)]=function(_0x140ef8,_0xe46efa){var _0x4332b8=_0x2cb7ba,_0x1cb26e=_0x4a06b3;_0x1cb26e(0xd8)==typeof this[_0x1cb26e(0xe8)][_0x140ef8]&&(this[_0x1cb26e(0xe8)][_0x140ef8]=[]),this[_0x4332b8(0x150)][_0x140ef8][_0x1cb26e(0x176)](_0xe46efa),this[_0x1cb26e(0x160)][_0x4332b8(0x178)](_0x140ef8,_0xe46efa,!0x1);},_0x369b52[_0x4a06b3(0x151)][_0x2cb7ba(0x144)]=function(_0x45219e,_0x21e432){var _0x24e0d6=_0x2cb7ba,_0x1fe940=_0x4a06b3,_0x3b3ddf=this;this[_0x24e0d6(0x150)][_0x45219e]=this[_0x24e0d6(0x150)][_0x45219e][_0x1fe940(0xdf)](function(_0x1f7c5f){var _0x2565b4=_0x24e0d6,_0x1b903b=_0x1fe940;return!!(_0x21e432&&_0x1f7c5f!==_0x21e432)||(_0x3b3ddf[_0x2565b4(0x1d2)][_0x1b903b(0xee)](_0x45219e,_0x1f7c5f,!0x1),!0x1);});},_0x369b52[_0x4a06b3(0x151)][_0x4a06b3(0x12a)]=function(){var _0x2b1dc8=_0x4a06b3;for(var _0x578838 in this[_0x2b1dc8(0xe8)])this[_0x2b1dc8(0x18d)](_0x578838);},_0x2b84a4[_0x4a06b3(0x196)][_0x4a06b3(0x153)]=function(){var _0x16f2d6=_0x4a06b3,_0x9d5775=this;return Object[_0x16f2d6(0xc9)](this[_0x16f2d6(0xe8)])[_0x16f2d6(0x184)](function(_0x42ecba){var _0x1d5928=_0x16f2d6;return 0x0===_0x9d5775[_0x1d5928(0xe8)][_0x42ecba][_0x1d5928(0x1b2)];});},Object[_0x121de3(0xef)](_0x369b52[_0x2cb7ba(0x1e5)],_0x2b84a4);var _0x3617df=function(){var _0x409647=_0x4a06b3;this[_0x409647(0x195)]=[];};_0x3617df[_0x2cb7ba(0x1e5)][_0x121de3(0x124)]=function(_0x26775e){var _0x42996f=_0x2cb7ba,_0x5d7cbf=_0x4a06b3,_0x4185ca=this[_0x5d7cbf(0x195)][_0x5d7cbf(0xdf)](function(_0x139d84){var _0x5077f3=a0_0x491c;return _0x139d84[_0x5077f3(0x1d2)]===_0x26775e;})[0x0];return _0x4185ca||(_0x4185ca=new _0x369b52(_0x26775e),this[_0x5d7cbf(0x195)][_0x42996f(0x127)](_0x4185ca)),_0x4185ca;},_0x3617df[_0x4a06b3(0x151)][_0x4a06b3(0x193)]=function(_0x54c844,_0x24f9ec,_0x1a3116){var _0x2008f3=_0x4a06b3;this[_0x2008f3(0xf0)](_0x54c844)[_0x2008f3(0x193)](_0x24f9ec,_0x1a3116);},_0x3617df[_0x4a06b3(0x151)][_0x4a06b3(0x18d)]=function(_0x577168,_0x33658e,_0x415833){var _0x2e8a70=_0x52358d,_0x3746be=_0x2cb7ba,_0x135e0f=_0x4a06b3,_0x171c6e=this[_0x135e0f(0xf0)](_0x577168);_0x171c6e[_0x3746be(0x144)](_0x33658e,_0x415833),_0x171c6e[_0x2e8a70(0xf5)]&&this[_0x3746be(0x170)][_0x135e0f(0x131)](this[_0x135e0f(0x195)][_0x135e0f(0x114)](_0x171c6e),0x1);},_0x3617df[_0x4a06b3(0x151)][_0x4a06b3(0x12a)]=function(){var _0x10900f=_0x2cb7ba,_0x50d64b=_0x4a06b3;this[_0x50d64b(0x195)][_0x50d64b(0x174)](function(_0x937def){var _0x2ee1ea=_0x50d64b;return _0x937def[_0x2ee1ea(0x12a)]();}),this[_0x10900f(0x170)]=[];},_0x3617df[_0x4a06b3(0x151)][_0x4a06b3(0x172)]=function(_0x95565d,_0x4f3a23,_0x12c8dd){var _0x51ac54=a0_0x5754,_0x48817f=_0x4a06b3,_0x3a459c=this[_0x51ac54(0xec)](_0x95565d),_0x39262c=function(_0x1d9ecc){var _0x16480f=a0_0x16bb;_0x3a459c[_0x16480f(0x18d)](_0x4f3a23,_0x39262c),_0x12c8dd(_0x1d9ecc);};_0x3a459c[_0x48817f(0x193)](_0x4f3a23,_0x39262c);};var _0x271c2b={'isWebKit':_0x4a06b3(0xd8)!=typeof document&&_0x4a06b3(0x134)in document[_0x225934(0x7f)][_0x2cb7ba(0x12b)],'supportsTouch':_0x4a06b3(0xd8)!=typeof window&&(_0x4a06b3(0x182)in window||_0x4a06b3(0x10d)in window[_0x4a06b3(0xeb)]&&0x0_0x494b19[_0x57b09a(0x115)]?0x1:-0x1;_0x494b19[_0x57b09a(0x160)][_0x117f5e(0x158)]+=_0x4d105d*_0x494b19[_0x57b09a(0xe5)],_0x124b4a(_0x494b19),_0x5ec5af[_0x117f5e(0x151)]();}),_0x494b19[_0x5a11d1(0xca)][_0x15f6e3(0x1d0)](_0x494b19[_0x53443c(0xf8)],_0x5a11d1(0x179),function(_0x5b7f3c){var _0x10b119=_0x15f6e3;return _0x5b7f3c[_0x10b119(0x151)]();}),_0x494b19[_0x5a11d1(0xca)][_0x5a11d1(0x193)](_0x494b19[_0x15f6e3(0x1a9)],_0x15f6e3(0x123),function(_0x40ca8d){var _0x5804d2=a0_0xb9fb,_0x215e90=_0x15f6e3,_0x53ec3a=_0x5a11d1,_0xbed5f7=_0x40ca8d[_0x53ec3a(0xda)]-window[_0x215e90(0x11b)]-_0x494b19[_0x53ec3a(0x107)][_0x53ec3a(0x185)]()[_0x53ec3a(0x170)],_0x2d16fc=_0xbed5f7>_0x494b19[_0x53ec3a(0xdd)]?0x1:-0x1;_0x494b19[_0x53ec3a(0x160)][_0x53ec3a(0x12f)]+=_0x2d16fc*_0x494b19[_0x5804d2(0xff)],_0x124b4a(_0x494b19),_0x40ca8d[_0x53ec3a(0x14a)]();}));},'drag-thumb':function(_0x21ca1e){var _0x9a3af2=_0x2cb7ba,_0x2a9ece=_0x4a06b3;_0x1df2fa(_0x21ca1e,[_0x2a9ece(0x164),_0x2a9ece(0xe7),_0x9a3af2(0x19a),_0x9a3af2(0x1ad),_0x2a9ece(0x156),_0x2a9ece(0x116),_0x2a9ece(0x12f),'x',_0x2a9ece(0x107)]),_0x1df2fa(_0x21ca1e,[_0x2a9ece(0xe5),_0x2a9ece(0x198),_0x2a9ece(0x1b4),_0x2a9ece(0x17e),_0x2a9ece(0x181),_0x9a3af2(0x14a),_0x9a3af2(0x158),'y',_0x9a3af2(0x1e0)]);},'keyboard':function(_0x2c8c78){var _0x19d704=_0x2cb7ba,_0x43cafa=_0x4a06b3;function _0x1557f9(_0x5fc09,_0x26d268){var _0x140882=a0_0x16bb,_0x864a=_0x5c2329(_0x4e1498[_0x140882(0x101)]);if(0x0===_0x5fc09){if(!_0x2c8c78[_0x140882(0x13e)])return!0x1;if(0x0===_0x864a&&0x0<_0x26d268||_0x864a>=_0x2c8c78[_0x140882(0x198)]-_0x2c8c78[_0x140882(0xe5)]&&0x0>_0x26d268)return!_0x2c8c78[_0x140882(0x1a5)][_0x140882(0xff)];}var _0x5634f5=_0x4e1498[_0x140882(0x12f)];if(0x0===_0x26d268){if(!_0x2c8c78[_0x140882(0xfc)])return!0x1;if(0x0===_0x5634f5&&0x0>_0x5fc09||_0x5634f5>=_0x2c8c78[_0x140882(0xe7)]-_0x2c8c78[_0x140882(0x164)]&&0x0<_0x5fc09)return!_0x2c8c78[_0x140882(0x1a5)][_0x140882(0xff)];}return!0x0;}var _0x4e1498=_0x2c8c78[_0x43cafa(0x160)],_0x222a7b=function(){var _0x133745=_0x43cafa;return _0xd8f915(_0x4e1498,_0x133745(0x169));},_0x224007=function(){var _0x518aa6=a0_0x491c,_0x5c3942=_0x43cafa;return _0xd8f915(_0x2c8c78[_0x518aa6(0x138)],_0x5c3942(0x102))||_0xd8f915(_0x2c8c78[_0x5c3942(0x181)],_0x5c3942(0x102));};_0x2c8c78[_0x19d704(0x1bf)][_0x43cafa(0x193)](_0x2c8c78[_0x19d704(0x146)],_0x43cafa(0x180),function(_0x3306fa){var _0x582807=a0_0x107a,_0x28c01a=_0x19d704,_0x273d05=_0x43cafa;if(!(_0x3306fa[_0x273d05(0x166)]&&_0x3306fa[_0x273d05(0x166)]()||_0x3306fa[_0x273d05(0x16b)])&&(_0x222a7b()||_0x224007())){var _0x160203=document[_0x582807(0x192)]?document[_0x28c01a(0x1ed)]:_0x2c8c78[_0x28c01a(0x146)][_0x273d05(0xea)];if(_0x160203){if(_0x28c01a(0x11e)===_0x160203[_0x273d05(0x15b)])_0x160203=_0x160203[_0x273d05(0x1a8)][_0x28c01a(0x1ed)];else{for(;_0x160203[_0x28c01a(0x152)];)_0x160203=_0x160203[_0x273d05(0x18b)][_0x273d05(0xea)];}if(_0x232aab(_0x160203))return;}var _0xf38b40=0x0,_0x5c4d84=0x0;switch(_0x3306fa[_0x273d05(0x17c)]){case 0x25:_0xf38b40=_0x3306fa[_0x273d05(0x139)]?-_0x2c8c78[_0x273d05(0xe7)]:_0x3306fa[_0x28c01a(0x1c0)]?-_0x2c8c78[_0x28c01a(0x194)]:-0x1e;break;case 0x26:_0x5c4d84=_0x3306fa[_0x273d05(0x139)]?_0x2c8c78[_0x273d05(0x198)]:_0x3306fa[_0x273d05(0x162)]?_0x2c8c78[_0x273d05(0xe5)]:0x1e;break;case 0x27:_0xf38b40=_0x3306fa[_0x273d05(0x139)]?_0x2c8c78[_0x273d05(0xe7)]:_0x3306fa[_0x273d05(0x162)]?_0x2c8c78[_0x273d05(0x164)]:0x1e;break;case 0x28:_0x5c4d84=_0x3306fa[_0x28c01a(0x1d1)]?-_0x2c8c78[_0x28c01a(0x13e)]:_0x3306fa[_0x273d05(0x162)]?-_0x2c8c78[_0x273d05(0xe5)]:-0x1e;break;case 0x20:_0x5c4d84=_0x3306fa[_0x273d05(0xfd)]?_0x2c8c78[_0x273d05(0xe5)]:-_0x2c8c78[_0x273d05(0xe5)];break;case 0x21:_0x5c4d84=_0x2c8c78[_0x273d05(0xe5)];break;case 0x22:_0x5c4d84=-_0x2c8c78[_0x273d05(0xe5)];break;case 0x24:_0x5c4d84=_0x2c8c78[_0x273d05(0x198)];break;case 0x23:_0x5c4d84=-_0x2c8c78[_0x273d05(0x198)];break;default:return;}_0x2c8c78[_0x273d05(0x1a5)][_0x273d05(0x14c)]&&0x0!==_0xf38b40||_0x2c8c78[_0x273d05(0x1a5)][_0x273d05(0x100)]&&0x0!==_0x5c4d84||(_0x4e1498[_0x28c01a(0x158)]-=_0x5c4d84,_0x4e1498[_0x273d05(0x12f)]+=_0xf38b40,_0x124b4a(_0x2c8c78),_0x1557f9(_0xf38b40,_0x5c4d84)&&_0x3306fa[_0x273d05(0x11c)]());}});},'wheel':function(_0x5767eb){var _0x2188c8=_0x2cb7ba,_0x3b0b6e=_0x4a06b3;function _0x43e00b(_0x87ad46,_0x2fa230){var _0x40a15e=a0_0x107a,_0x4f75b1=a0_0x491c,_0x1e8b34=a0_0x16bb,_0x2d71ba,_0x405275=_0x5c2329(_0x347d02[_0x1e8b34(0x101)]),_0x2dd83c=0x0===_0x347d02[_0x1e8b34(0x101)],_0x3e4eef=_0x405275+_0x347d02[_0x1e8b34(0xfa)]===_0x347d02[_0x1e8b34(0x138)],_0x1df8ab=0x0===_0x347d02[_0x1e8b34(0x12f)],_0x193e20=_0x347d02[_0x1e8b34(0x12f)]+_0x347d02[_0x40a15e(0x136)]===_0x347d02[_0x1e8b34(0x157)];return _0x2d71ba=_0x3ef382(_0x2fa230)>_0x3ef382(_0x87ad46)?_0x2dd83c||_0x3e4eef:_0x1df8ab||_0x193e20,!_0x2d71ba||!_0x5767eb[_0x1e8b34(0x1a5)][_0x4f75b1(0x1ae)];}function _0x3609a1(_0x4d148c){var _0x17aff6=a0_0x107a,_0x578941=a0_0x491c,_0x5b6477=a0_0x16bb,_0x4de464=_0x4d148c[_0x578941(0x143)],_0x26690a=-0x1*_0x4d148c[_0x17aff6(0x187)];return(_0x578941(0x1bd)==typeof _0x4de464||_0x5b6477(0xd8)==typeof _0x26690a)&&(_0x4de464=-0x1*_0x4d148c[_0x5b6477(0x132)]/0x6,_0x26690a=_0x4d148c[_0x5b6477(0x1a2)]/0x6),_0x4d148c[_0x5b6477(0xf9)]&&0x1===_0x4d148c[_0x578941(0x181)]&&(_0x4de464*=0xa,_0x26690a*=0xa),_0x4de464!==_0x4de464&&_0x26690a!==_0x26690a&&(_0x4de464=0x0,_0x26690a=_0x4d148c[_0x578941(0x188)]),_0x4d148c[_0x5b6477(0xfd)]?[-_0x26690a,-_0x4de464]:[_0x4de464,_0x26690a];}function _0x3bf61b(_0x29bccd,_0x91ceaa,_0x3b424f){var _0x1849a0=a0_0xb9fb,_0x1c27aa=a0_0x491c,_0x7383c5=a0_0x16bb;if(!_0x271c2b[_0x7383c5(0x183)]&&_0x347d02[_0x7383c5(0x175)](_0x7383c5(0x19c)))return!0x0;if(!_0x347d02[_0x7383c5(0x189)](_0x29bccd))return!0x1;for(var _0x4d2485=_0x29bccd;_0x4d2485&&_0x4d2485!==_0x347d02;){if(_0x4d2485[_0x7383c5(0x141)][_0x7383c5(0x189)](_0x37e162[_0x7383c5(0x160)][_0x7383c5(0x19d)]))return!0x0;var _0x1f6b0a=_0x39eb0a(_0x4d2485);if(_0x3b424f&&_0x1f6b0a[_0x7383c5(0x154)][_0x7383c5(0xf4)](/(scroll|auto)/)){var _0x34d5ba=_0x4d2485[_0x7383c5(0x138)]-_0x4d2485[_0x1c27aa(0x154)];if(0x0<_0x34d5ba&&(0x0<_0x4d2485[_0x7383c5(0x101)]&&0x0>_0x3b424f||_0x4d2485[_0x7383c5(0x101)]<_0x34d5ba&&0x0<_0x3b424f))return!0x0;}if(_0x91ceaa&&_0x1f6b0a[_0x7383c5(0x167)][_0x7383c5(0xf4)](/(scroll|auto)/)){var _0x386113=_0x4d2485[_0x1849a0(0x18d)]-_0x4d2485[_0x7383c5(0x17d)];if(0x0<_0x386113&&(0x0<_0x4d2485[_0x7383c5(0x12f)]&&0x0>_0x91ceaa||_0x4d2485[_0x1c27aa(0x18e)]<_0x386113&&0x0<_0x91ceaa))return!0x0;}_0x4d2485=_0x4d2485[_0x1c27aa(0x1e8)];}return!0x1;}function _0x1b7161(_0x294fda){var _0x35222d=a0_0xb9fb,_0x245618=a0_0x107a,_0x5005b3=a0_0x491c,_0x5bb7f3=a0_0x16bb,_0x1d51f1=_0x3609a1(_0x294fda),_0x35f812=_0x1d51f1[0x0],_0x4d2b05=_0x1d51f1[0x1];if(!_0x3bf61b(_0x294fda[_0x5bb7f3(0x1b3)],_0x35f812,_0x4d2b05)){var _0x4b803c=!0x1;_0x5767eb[_0x5bb7f3(0x1a5)][_0x5bb7f3(0x144)]?_0x5767eb[_0x245618(0x13d)]&&!_0x5767eb[_0x5bb7f3(0xfc)]?(_0x4d2b05?_0x347d02[_0x5bb7f3(0x101)]-=_0x4d2b05*_0x5767eb[_0x5005b3(0x149)][_0x5bb7f3(0x121)]:_0x347d02[_0x35222d(0x1a2)]+=_0x35f812*_0x5767eb[_0x5bb7f3(0x1a5)][_0x5bb7f3(0x121)],_0x4b803c=!0x0):_0x5767eb[_0x245618(0x19c)]&&!_0x5767eb[_0x5005b3(0x1c9)]&&(_0x35f812?_0x347d02[_0x5bb7f3(0x12f)]+=_0x35f812*_0x5767eb[_0x5bb7f3(0x1a5)][_0x5bb7f3(0x121)]:_0x347d02[_0x5005b3(0x18e)]-=_0x4d2b05*_0x5767eb[_0x35222d(0xf9)][_0x5005b3(0x132)],_0x4b803c=!0x0):(_0x347d02[_0x5bb7f3(0x101)]-=_0x4d2b05*_0x5767eb[_0x5bb7f3(0x1a5)][_0x5005b3(0x132)],_0x347d02[_0x5bb7f3(0x12f)]+=_0x35f812*_0x5767eb[_0x5bb7f3(0x1a5)][_0x245618(0xe4)]),_0x124b4a(_0x5767eb),_0x4b803c=_0x4b803c||_0x43e00b(_0x35f812,_0x4d2b05),_0x4b803c&&!_0x294fda[_0x5bb7f3(0x1b1)]&&(_0x294fda[_0x5bb7f3(0x14a)](),_0x294fda[_0x5bb7f3(0x11c)]());}}var _0x347d02=_0x5767eb[_0x3b0b6e(0x160)];_0x2188c8(0x1bd)==typeof window[_0x3b0b6e(0x1b5)]?_0x3b0b6e(0xd8)!=typeof window[_0x3b0b6e(0xd2)]&&_0x5767eb[_0x3b0b6e(0xca)][_0x3b0b6e(0x193)](_0x347d02,_0x3b0b6e(0x122),_0x1b7161):_0x5767eb[_0x3b0b6e(0xca)][_0x2188c8(0x1d0)](_0x347d02,_0x3b0b6e(0xe6),_0x1b7161);},'touch':function(_0xf43d44){var _0x449b50=_0x2cb7ba,_0x10e89b=_0x4a06b3;function _0x3f9198(_0x5d1dda,_0x53c397){var _0x50463d=a0_0x491c,_0x1a31f0=a0_0x16bb,_0x17b7b9=_0x5c2329(_0x45ab99[_0x50463d(0x158)]),_0x5f1d2b=_0x45ab99[_0x1a31f0(0x12f)],_0x25bcef=_0x3ef382(_0x5d1dda),_0x44039a=_0x3ef382(_0x53c397);if(_0x44039a>_0x25bcef){if(0x0>_0x53c397&&_0x17b7b9===_0xf43d44[_0x1a31f0(0x198)]-_0xf43d44[_0x1a31f0(0xe5)]||0x0<_0x53c397&&0x0===_0x17b7b9)return 0x0===window[_0x50463d(0x1e7)]&&0x0<_0x53c397&&_0x271c2b[_0x1a31f0(0x16d)];}else{if(_0x25bcef>_0x44039a&&(0x0>_0x5d1dda&&_0x5f1d2b===_0xf43d44[_0x1a31f0(0xe7)]-_0xf43d44[_0x1a31f0(0x164)]||0x0<_0x5d1dda&&0x0===_0x5f1d2b))return!0x0;}return!0x0;}function _0x4b29c9(_0xe74c13,_0x3e33f1){var _0x5694a9=a0_0x16bb;_0x45ab99[_0x5694a9(0x101)]-=_0x3e33f1,_0x45ab99[_0x5694a9(0x12f)]-=_0xe74c13,_0x124b4a(_0xf43d44);}function _0x260dc4(_0x50be56){var _0x423975=a0_0xb9fb,_0x33edd0=a0_0x16bb;return _0x50be56[_0x33edd0(0x192)]?_0x50be56[_0x423975(0x12a)][0x0]:_0x50be56;}function _0x265a80(_0x36af80){var _0x1fd896=a0_0x107a,_0x247d42=a0_0x491c,_0x181064=a0_0x16bb;return!(_0x36af80[_0x181064(0x19b)]&&_0x181064(0x168)===_0x36af80[_0x181064(0x19b)]&&0x0===_0x36af80[_0x181064(0x1ad)])&&(!!(_0x36af80[_0x247d42(0x1c1)]&&0x1===_0x36af80[_0x181064(0x192)][_0x181064(0x1b2)])||!!(_0x36af80[_0x247d42(0x1d8)]&&_0x181064(0x118)!==_0x36af80[_0x181064(0x19b)]&&_0x36af80[_0x1fd896(0x14c)]!==_0x36af80[_0x181064(0x17a)]));}function _0x389a11(_0x14c833){var _0x9eda17=a0_0xb9fb,_0x3e0b62=a0_0x491c,_0x2e1f2a=a0_0x16bb;if(_0x265a80(_0x14c833)){var _0x13d44e=_0x260dc4(_0x14c833);_0x3d336d[_0x3e0b62(0x19a)]=_0x13d44e[_0x9eda17(0x1b1)],_0x3d336d[_0x2e1f2a(0x1b4)]=_0x13d44e[_0x2e1f2a(0x1b4)],_0x434986=new Date()[_0x2e1f2a(0x173)](),null!==_0x370665&&clearInterval(_0x370665);}}function _0x41bc8b(_0x5bec33,_0x1aca20,_0x588975){var _0x40baa0=a0_0x491c,_0x3b34b8=a0_0x16bb;if(!_0x45ab99[_0x3b34b8(0x189)](_0x5bec33))return!0x1;for(var _0x12101d=_0x5bec33;_0x12101d&&_0x12101d!==_0x45ab99;){if(_0x12101d[_0x40baa0(0x1a4)][_0x3b34b8(0x189)](_0x37e162[_0x3b34b8(0x160)][_0x3b34b8(0x19d)]))return!0x0;var _0x31bf13=_0x39eb0a(_0x12101d);if(_0x588975&&_0x31bf13[_0x3b34b8(0x154)][_0x3b34b8(0xf4)](/(scroll|auto)/)){var _0x52872c=_0x12101d[_0x40baa0(0x18d)]-_0x12101d[_0x3b34b8(0xcc)];if(0x0<_0x52872c&&(0x0<_0x12101d[_0x3b34b8(0x101)]&&0x0>_0x588975||_0x12101d[_0x3b34b8(0x101)]<_0x52872c&&0x0<_0x588975))return!0x0;}if(_0x1aca20&&_0x31bf13[_0x3b34b8(0x167)][_0x3b34b8(0xf4)](/(scroll|auto)/)){var _0x327395=_0x12101d[_0x3b34b8(0x157)]-_0x12101d[_0x3b34b8(0x17d)];if(0x0<_0x327395&&(0x0<_0x12101d[_0x3b34b8(0x12f)]&&0x0>_0x1aca20||_0x12101d[_0x3b34b8(0x12f)]<_0x327395&&0x0<_0x1aca20))return!0x0;}_0x12101d=_0x12101d[_0x40baa0(0x1e8)];}return!0x1;}function _0x2dff17(_0x17f95e){var _0x34c71e=a0_0x16bb;if(_0x265a80(_0x17f95e)){var _0x9359ab=_0x260dc4(_0x17f95e),_0x13c069={'pageX':_0x9359ab[_0x34c71e(0xda)],'pageY':_0x9359ab[_0x34c71e(0x1b4)]},_0x1b269c=_0x13c069[_0x34c71e(0xda)]-_0x3d336d[_0x34c71e(0xda)],_0x1eff65=_0x13c069[_0x34c71e(0x1b4)]-_0x3d336d[_0x34c71e(0x1b4)];if(_0x41bc8b(_0x17f95e[_0x34c71e(0x1b3)],_0x1b269c,_0x1eff65))return;_0x4b29c9(_0x1b269c,_0x1eff65),_0x3d336d=_0x13c069;var _0x3ceb6d=new Date()[_0x34c71e(0x173)](),_0x24f3a8=_0x3ceb6d-_0x434986;0x0<_0x24f3a8&&(_0xe7ac5a['x']=_0x1b269c/_0x24f3a8,_0xe7ac5a['y']=_0x1eff65/_0x24f3a8,_0x434986=_0x3ceb6d),_0x3f9198(_0x1b269c,_0x1eff65)&&_0x17f95e[_0x34c71e(0x11c)]();}}function _0x43f9f2(){var _0x5f3859=a0_0x16bb;_0xf43d44[_0x5f3859(0x1a5)][_0x5f3859(0xec)]&&(clearInterval(_0x370665),_0x370665=setInterval(function(){var _0x291e1f=_0x5f3859;return _0xf43d44[_0x291e1f(0x104)]?void clearInterval(_0x370665):_0xe7ac5a['x']||_0xe7ac5a['y']?0.01>_0x3ef382(_0xe7ac5a['x'])&&0.01>_0x3ef382(_0xe7ac5a['y'])?void clearInterval(_0x370665):_0xf43d44[_0x291e1f(0x160)]?void(_0x4b29c9(0x1e*_0xe7ac5a['x'],0x1e*_0xe7ac5a['y']),_0xe7ac5a['x']*=0.8,_0xe7ac5a['y']*=0.8):void clearInterval(_0x370665):void clearInterval(_0x370665);},0xa));}if(_0x271c2b[_0x10e89b(0x197)]||_0x271c2b[_0x10e89b(0x125)]){var _0x45ab99=_0xf43d44[_0x10e89b(0x160)],_0x3d336d={},_0x434986=0x0,_0xe7ac5a={},_0x370665=null;_0x271c2b[_0x10e89b(0x197)]?(_0xf43d44[_0x449b50(0x1bf)][_0x449b50(0x1d0)](_0x45ab99,_0x10e89b(0xd5),_0x389a11),_0xf43d44[_0x10e89b(0xca)][_0x10e89b(0x193)](_0x45ab99,_0x10e89b(0x106),_0x2dff17),_0xf43d44[_0x10e89b(0xca)][_0x10e89b(0x193)](_0x45ab99,_0x10e89b(0x150),_0x43f9f2)):_0x271c2b[_0x10e89b(0x125)]&&(window[_0x10e89b(0x1ab)]?(_0xf43d44[_0x449b50(0x1bf)][_0x10e89b(0x193)](_0x45ab99,_0x10e89b(0x1a0),_0x389a11),_0xf43d44[_0x10e89b(0xca)][_0x10e89b(0x193)](_0x45ab99,_0x10e89b(0x1a1),_0x2dff17),_0xf43d44[_0x10e89b(0xca)][_0x449b50(0x1d0)](_0x45ab99,_0x10e89b(0x14b),_0x43f9f2)):window[_0x10e89b(0x15d)]&&(_0xf43d44[_0x10e89b(0xca)][_0x449b50(0x1d0)](_0x45ab99,_0x10e89b(0x191),_0x389a11),_0xf43d44[_0x10e89b(0xca)][_0x10e89b(0x193)](_0x45ab99,_0x10e89b(0x12c),_0x2dff17),_0xf43d44[_0x10e89b(0xca)][_0x449b50(0x1d0)](_0x45ab99,_0x10e89b(0x14f),_0x43f9f2)));}}},_0x3dd3d7=function(_0x1ac0e2,_0x48849b){var _0x470beb=_0x225934,_0x4d77a6=_0x121de3,_0x570be5=_0x2cb7ba,_0x7e9eb4=_0x4a06b3,_0x4dc1d4=this;if(void 0x0===_0x48849b&&(_0x48849b={}),_0x7e9eb4(0x13c)==typeof _0x1ac0e2&&(_0x1ac0e2=document[_0x7e9eb4(0x175)](_0x1ac0e2)),!_0x1ac0e2||!_0x1ac0e2[_0x7e9eb4(0x11f)])throw new Error(_0x570be5(0x11d));for(var _0x503f1d in(this[_0x7e9eb4(0x160)]=_0x1ac0e2,_0x1ac0e2[_0x7e9eb4(0x141)][_0x570be5(0x139)](_0x37e162[_0x7e9eb4(0x19e)]),this[_0x7e9eb4(0x1a5)]=_0x55feb4(),_0x48849b))this[_0x570be5(0x149)][_0x503f1d]=_0x48849b[_0x503f1d];this[_0x570be5(0x194)]=null,this[_0x570be5(0x1e9)]=null,this[_0x7e9eb4(0xe7)]=null,this[_0x7e9eb4(0x198)]=null;var _0x1ea2f2=function(){var _0x144672=a0_0x5754,_0x350cba=_0x570be5,_0x5dccbe=_0x7e9eb4;return _0x1ac0e2[_0x144672(0x79)][_0x5dccbe(0x18c)](_0x37e162[_0x350cba(0x17c)][_0x350cba(0x1de)]);},_0x3d057e=function(){var _0x4b0522=_0x570be5,_0x53942b=_0x7e9eb4;return _0x1ac0e2[_0x53942b(0x141)][_0x53942b(0x137)](_0x37e162[_0x53942b(0x1a3)][_0x4b0522(0x1de)]);};this[_0x7e9eb4(0x109)]=_0x7e9eb4(0xe1)===_0x39eb0a(_0x1ac0e2)[_0x4d77a6(0x18c)],!0x0===this[_0x570be5(0x17b)]&&_0x1ac0e2[_0x570be5(0x1a4)][_0x7e9eb4(0x18c)](_0x37e162[_0x7e9eb4(0xe1)]),this[_0x7e9eb4(0x13b)]=(function(){var _0x37ec82=_0x7e9eb4,_0x5382e9=_0x1ac0e2[_0x37ec82(0x12f)],_0x5c039e=null;return _0x1ac0e2[_0x37ec82(0x12f)]=-0x1,_0x5c039e=0x0>_0x1ac0e2[_0x37ec82(0x12f)],_0x1ac0e2[_0x37ec82(0x12f)]=_0x5382e9,_0x5c039e;}()),this[_0x7e9eb4(0xe9)]=this[_0x7e9eb4(0x13b)]?_0x1ac0e2[_0x570be5(0x1db)]-_0x1ac0e2[_0x570be5(0x157)]:0x0,this[_0x7e9eb4(0xca)]=new _0x3617df(),this[_0x7e9eb4(0x13f)]=_0x1ac0e2[_0x570be5(0x146)]||document,this[_0x570be5(0x1a9)]=_0x40119d(_0x37e162[_0x570be5(0x1d2)][_0x7e9eb4(0x1b6)]('x')),_0x1ac0e2[_0x7e9eb4(0x1af)](this[_0x7e9eb4(0x107)]),this[_0x7e9eb4(0x156)]=_0x40119d(_0x37e162[_0x7e9eb4(0x160)][_0x7e9eb4(0x14d)]('x')),this[_0x570be5(0x1a9)][_0x7e9eb4(0x1af)](this[_0x7e9eb4(0x156)]),this[_0x570be5(0x138)][_0x7e9eb4(0x14e)](_0x7e9eb4(0x10e),0x0),this[_0x570be5(0x1bf)][_0x570be5(0x1d0)](this[_0x7e9eb4(0x156)],_0x7e9eb4(0x19a),_0x1ea2f2),this[_0x570be5(0x1bf)][_0x7e9eb4(0x193)](this[_0x7e9eb4(0x156)],_0x7e9eb4(0x10a),_0x3d057e),this[_0x7e9eb4(0xfc)]=null,this[_0x7e9eb4(0x116)]=null,this[_0x570be5(0x1a1)]=null;var _0x2815fe=_0x39eb0a(this[_0x7e9eb4(0x107)]);this[_0x7e9eb4(0x147)]=parseInt(_0x2815fe[_0x570be5(0x1ea)],0xa),isNaN(this[_0x7e9eb4(0x147)])?(this[_0x570be5(0x130)]=!0x1,this[_0x7e9eb4(0x119)]=_0x2becf7(_0x2815fe[_0x7e9eb4(0x18f)])):this[_0x7e9eb4(0xc8)]=!0x0,this[_0x7e9eb4(0x194)]=_0x2becf7(_0x2815fe[_0x570be5(0x1b6)])+_0x2becf7(_0x2815fe[_0x7e9eb4(0x15e)]),_0x209060(this[_0x570be5(0x1a9)],{'display':_0x7e9eb4(0x1a7)}),this[_0x7e9eb4(0xf5)]=_0x2becf7(_0x2815fe[_0x470beb(0x81)])+_0x2becf7(_0x2815fe[_0x7e9eb4(0x12b)]),_0x209060(this[_0x7e9eb4(0x107)],{'display':''}),this[_0x570be5(0x1ad)]=null,this[_0x570be5(0x155)]=null,this[_0x7e9eb4(0x140)]=_0x40119d(_0x37e162[_0x4d77a6(0x107)][_0x570be5(0x16c)]('y')),_0x1ac0e2[_0x570be5(0x16f)](this[_0x570be5(0x1e0)]),this[_0x7e9eb4(0x181)]=_0x40119d(_0x37e162[_0x7e9eb4(0x160)][_0x7e9eb4(0x14d)]('y')),this[_0x7e9eb4(0x140)][_0x7e9eb4(0x1af)](this[_0x7e9eb4(0x181)]),this[_0x7e9eb4(0x181)][_0x7e9eb4(0x14e)](_0x7e9eb4(0x10e),0x0),this[_0x7e9eb4(0xca)][_0x7e9eb4(0x193)](this[_0x570be5(0x1be)],_0x7e9eb4(0x19a),_0x1ea2f2),this[_0x570be5(0x1bf)][_0x570be5(0x1d0)](this[_0x7e9eb4(0x181)],_0x7e9eb4(0x10a),_0x3d057e),this[_0x7e9eb4(0x13e)]=null,this[_0x7e9eb4(0xe3)]=null,this[_0x570be5(0x17d)]=null;var _0x2916fa=_0x39eb0a(this[_0x7e9eb4(0x140)]);this[_0x7e9eb4(0xf3)]=parseInt(_0x2916fa[_0x7e9eb4(0x155)],0xa),isNaN(this[_0x7e9eb4(0xf3)])?(this[_0x7e9eb4(0xcf)]=!0x1,this[_0x7e9eb4(0xd3)]=_0x2becf7(_0x2916fa[_0x7e9eb4(0x170)])):this[_0x7e9eb4(0xcf)]=!0x0,this[_0x7e9eb4(0x1ae)]=this[_0x7e9eb4(0x109)]?_0x15069f(this[_0x7e9eb4(0x181)]):null,this[_0x7e9eb4(0x128)]=_0x2becf7(_0x2916fa[_0x570be5(0x122)])+_0x2becf7(_0x2916fa[_0x7e9eb4(0xe4)]),_0x209060(this[_0x7e9eb4(0x140)],{'display':_0x7e9eb4(0x1a7)}),this[_0x7e9eb4(0x1aa)]=_0x2becf7(_0x2916fa[_0x7e9eb4(0x136)])+_0x2becf7(_0x2916fa[_0x7e9eb4(0xd0)]),_0x209060(this[_0x570be5(0x1e0)],{'display':''}),this[_0x7e9eb4(0x17e)]=null,this[_0x7e9eb4(0x123)]=null,this[_0x7e9eb4(0x190)]={'x':0x0>=_0x1ac0e2[_0x570be5(0x18e)]?_0x570be5(0x124):_0x1ac0e2[_0x570be5(0x18e)]>=this[_0x7e9eb4(0xe7)]-this[_0x7e9eb4(0x164)]?_0x7e9eb4(0x1a9):null,'y':0x0>=_0x1ac0e2[_0x7e9eb4(0x101)]?_0x7e9eb4(0x129):_0x1ac0e2[_0x7e9eb4(0x101)]>=this[_0x570be5(0x13e)]-this[_0x7e9eb4(0xe5)]?_0x4d77a6(0xed):null},this[_0x570be5(0x1d5)]=!0x0,this[_0x7e9eb4(0x1a5)][_0x7e9eb4(0xe8)][_0x7e9eb4(0x174)](function(_0x47f38a){return _0x15bb94[_0x47f38a](_0x4dc1d4);}),this[_0x7e9eb4(0x16e)]=_0x5c2329(_0x1ac0e2[_0x570be5(0x158)]),this[_0x570be5(0x161)]=_0x1ac0e2[_0x570be5(0x18e)],this[_0x7e9eb4(0xca)][_0x7e9eb4(0x193)](this[_0x7e9eb4(0x160)],_0x570be5(0x189),function(_0x86f57){var _0x38ce12=_0x7e9eb4;return _0x4dc1d4[_0x38ce12(0xd6)](_0x86f57);}),_0x124b4a(this);};return _0x3dd3d7[_0x4a06b3(0x151)][_0x4a06b3(0x120)]=function(){var _0x4469be=_0x225934,_0x40bd23=_0x121de3,_0x49fac5=_0x2cb7ba,_0x23d2d4=_0x4a06b3;this[_0x23d2d4(0x10f)]&&(this[_0x23d2d4(0xe9)]=this[_0x23d2d4(0x13b)]?this[_0x23d2d4(0x160)][_0x23d2d4(0x157)]-this[_0x23d2d4(0x160)][_0x23d2d4(0x17d)]:0x0,_0x209060(this[_0x23d2d4(0x107)],{'display':_0x23d2d4(0x1a7)}),_0x209060(this[_0x23d2d4(0x140)],{'display':_0x23d2d4(0x1a7)}),this[_0x49fac5(0x193)]=_0x2becf7(_0x39eb0a(this[_0x49fac5(0x1a9)])[_0x49fac5(0x13d)])+_0x2becf7(_0x39eb0a(this[_0x23d2d4(0x107)])[_0x49fac5(0x1c5)]),this[_0x49fac5(0x18f)]=_0x2becf7(_0x39eb0a(this[_0x40bd23(0x15f)])[_0x23d2d4(0x136)])+_0x2becf7(_0x39eb0a(this[_0x23d2d4(0x140)])[_0x23d2d4(0xd0)]),_0x209060(this[_0x23d2d4(0x107)],{'display':_0x23d2d4(0x124)}),_0x209060(this[_0x23d2d4(0x140)],{'display':_0x23d2d4(0x124)}),_0x124b4a(this),_0x815f7(this,_0x23d2d4(0x18f),0x0,!0x1,!0x0),_0x815f7(this,_0x23d2d4(0x170),0x0,!0x1,!0x0),_0x209060(this[_0x4469be(0x83)],{'display':''}),_0x209060(this[_0x23d2d4(0x140)],{'display':''}));},_0x3dd3d7[_0x4a06b3(0x151)][_0x4a06b3(0xd6)]=function(){var _0x26fbd1=_0x2cb7ba,_0x28abaa=_0x4a06b3;this[_0x28abaa(0x10f)]&&(_0x124b4a(this),_0x815f7(this,_0x28abaa(0x18f),this[_0x28abaa(0x160)][_0x28abaa(0x101)]-this[_0x28abaa(0x16e)]),_0x815f7(this,_0x26fbd1(0x1a0),this[_0x28abaa(0x160)][_0x26fbd1(0x18e)]-this[_0x28abaa(0x1ac)]),this[_0x28abaa(0x16e)]=_0x5c2329(this[_0x28abaa(0x160)][_0x28abaa(0x101)]),this[_0x28abaa(0x1ac)]=this[_0x28abaa(0x160)][_0x28abaa(0x12f)]);},_0x3dd3d7[_0x4a06b3(0x151)][_0x4a06b3(0x1a4)]=function(){var _0x396305=_0x2cb7ba,_0x1b867d=_0x4a06b3;this[_0x1b867d(0x10f)]&&(this[_0x396305(0x1bf)][_0x1b867d(0x12a)](),_0x1ac443(this[_0x1b867d(0x156)]),_0x1ac443(this[_0x1b867d(0x181)]),_0x1ac443(this[_0x396305(0x1a9)]),_0x1ac443(this[_0x1b867d(0x140)]),this[_0x1b867d(0x113)](),this[_0x396305(0x1d2)]=null,this[_0x1b867d(0x156)]=null,this[_0x396305(0x1be)]=null,this[_0x1b867d(0x107)]=null,this[_0x1b867d(0x140)]=null,this[_0x1b867d(0x10f)]=!0x1);},_0x3dd3d7[_0x52358d(0x102)][_0x52358d(0xfd)]=function(){var _0x293362=a0_0x46c3,_0x129b58=_0x4a06b3;this[_0x129b58(0x160)][_0x293362(0x1a2)]=this[_0x129b58(0x160)][_0x129b58(0xf1)][_0x129b58(0x186)]('\x20')[_0x129b58(0xdf)](function(_0x4e27c7){var _0x4da367=a0_0x491c;return!_0x4e27c7[_0x4da367(0x137)](/^ps([-_].+|)$/);})[_0x129b58(0x188)]('\x20');},_0x3dd3d7;}));function a0_0x21c5(){var _0x5f5d82=a0_0x8e03,_0x522c2d=a0_0x1f50,_0x4fdec3=a0_0x5c16,_0x59b782=a0_0x284e,_0x5ddb9b=a0_0x2f85,_0x10f98f=[_0x4fdec3(0xb2),_0x59b782(0x1c2),_0x5ddb9b(0xe2),_0x5ddb9b(0xb5),_0x5ddb9b(0x113),_0x5ddb9b(0xe9),_0x5ddb9b(0x195),_0x5ddb9b(0xf9),_0x5ddb9b(0x10d),_0x5ddb9b(0x1ab),_0x59b782(0x17c),_0x5ddb9b(0x104),_0x5ddb9b(0xab),_0x5ddb9b(0x15e),_0x5ddb9b(0xa0),_0x59b782(0x12e),_0x5ddb9b(0x153),_0x5ddb9b(0x15a),_0x5ddb9b(0xfa),_0x5ddb9b(0x166),_0x59b782(0x106),_0x5ddb9b(0x169),_0x59b782(0x16c),_0x5ddb9b(0x1d1),_0x522c2d(0x2c8),_0x5ddb9b(0x1be),_0x59b782(0xf5),_0x5ddb9b(0x1c2),_0x59b782(0x157),_0x4fdec3(0x18d),_0x5ddb9b(0xba),_0x4fdec3(0xa5),_0x5ddb9b(0x125),_0x5ddb9b(0x15c),_0x59b782(0x160),_0x59b782(0x1d0),_0x5ddb9b(0xc8),_0x59b782(0x14c),_0x5ddb9b(0x148),_0x5ddb9b(0x1c4),_0x5ddb9b(0x16d),_0x5ddb9b(0x19d),_0x59b782(0x1ba),_0x5ddb9b(0x1b4),_0x5ddb9b(0xbb),_0x5ddb9b(0x139),_0x5ddb9b(0xf2),_0x5ddb9b(0x144),_0x5ddb9b(0xff),_0x5ddb9b(0x1c7),_0x5ddb9b(0x14e),_0x5ddb9b(0xf4),_0x5ddb9b(0xb1),_0x5ddb9b(0xed),_0x5ddb9b(0xcc),_0x5ddb9b(0x155),_0x5ddb9b(0x172),_0x59b782(0x10b),_0x59b782(0x236),_0x4fdec3(0x101),_0x5ddb9b(0x1e3),_0x5ddb9b(0xdc),_0x5ddb9b(0xd2),_0x59b782(0x1ea),_0x5ddb9b(0xaf),_0x5ddb9b(0x108),_0x5ddb9b(0x1c9),_0x5ddb9b(0x199),_0x5ddb9b(0x15d),_0x59b782(0x233),_0x5ddb9b(0xe3),_0x5ddb9b(0x1b0),_0x59b782(0xf1),_0x59b782(0x1cf),_0x4fdec3(0xc4),_0x59b782(0x1d3),_0x5ddb9b(0xb8),_0x5ddb9b(0x114),_0x5ddb9b(0x17a),_0x5ddb9b(0xce),_0x5ddb9b(0xa1),_0x5ddb9b(0x1a4),_0x5ddb9b(0x136),_0x5ddb9b(0xf7),_0x5ddb9b(0x168),_0x59b782(0x16e),_0x59b782(0x21e),_0x5ddb9b(0xc3),_0x5ddb9b(0xb2),_0x5ddb9b(0x116),_0x59b782(0xff),_0x59b782(0x231),_0x59b782(0x1d2),_0x5ddb9b(0xdd),_0x59b782(0x14a),_0x5ddb9b(0x156),_0x522c2d(0x1ba),_0x5ddb9b(0xdf),_0x59b782(0x109),_0x59b782(0xe4),_0x5ddb9b(0x99),_0x59b782(0x1c7),_0x5ddb9b(0x190),_0x5ddb9b(0xd0),_0x59b782(0x1d4),_0x5ddb9b(0xb4),_0x59b782(0x1aa),_0x5ddb9b(0x188),_0x5ddb9b(0x1cc),_0x5ddb9b(0xee),_0x5ddb9b(0x13e),_0x4fdec3(0x1ad),_0x5ddb9b(0x1e9),_0x5ddb9b(0x14f),_0x5ddb9b(0x122),_0x4fdec3(0x197),_0x59b782(0x12d),_0x5ddb9b(0x146),_0x5ddb9b(0x1db),_0x5ddb9b(0x1a9),_0x5ddb9b(0x1a6),_0x5ddb9b(0x19a),_0x5ddb9b(0x19c),_0x5ddb9b(0x179),_0x5ddb9b(0xf5),_0x5ddb9b(0x1ca),_0x59b782(0x15d),_0x59b782(0x202),_0x5ddb9b(0x183),_0x5ddb9b(0x19b),_0x59b782(0x1b4),_0x5ddb9b(0xfe),_0x5ddb9b(0x198),_0x5ddb9b(0x1bf),_0x5ddb9b(0x15b),_0x5ddb9b(0x1e8),_0x5ddb9b(0x164),_0x5ddb9b(0x1d8),_0x5ddb9b(0xb7),_0x5ddb9b(0x1ac),_0x59b782(0x1e4),_0x5ddb9b(0x194),_0x5ddb9b(0x173),_0x59b782(0x173),_0x5ddb9b(0x14c),_0x5ddb9b(0x11d),_0x5ddb9b(0xef),_0x5ddb9b(0x9f),_0x5f5d82(0xf9),_0x5ddb9b(0x158),_0x5ddb9b(0x16a),_0x5ddb9b(0x167),_0x59b782(0x163),_0x59b782(0x19d),_0x5ddb9b(0x1e4),_0x5ddb9b(0xad),_0x5ddb9b(0x12b),_0x5ddb9b(0x1c8),_0x5ddb9b(0x141),_0x5ddb9b(0x1cb),_0x5ddb9b(0xea),_0x5ddb9b(0x135),_0x59b782(0x156),_0x5ddb9b(0x1df),_0x5ddb9b(0x129),_0x5ddb9b(0xbe),_0x59b782(0x119),_0x5ddb9b(0xcb),_0x5ddb9b(0xcf),_0x59b782(0x18b),_0x5ddb9b(0x107),_0x5ddb9b(0x1d5),_0x5ddb9b(0xa2),_0x4fdec3(0x97),_0x5ddb9b(0x12e),_0x5ddb9b(0x160),_0x59b782(0x19b),_0x5ddb9b(0xa9),_0x5ddb9b(0x137),_0x59b782(0x1bc),_0x5ddb9b(0x9d),_0x5ddb9b(0x182),_0x5ddb9b(0xaa),_0x59b782(0x1f6),_0x4fdec3(0x1e7),_0x59b782(0x213),_0x5ddb9b(0x1e1),_0x5ddb9b(0x17e),_0x5ddb9b(0x12c),_0x5ddb9b(0x133),_0x5ddb9b(0x170),_0x59b782(0x206),_0x4fdec3(0xcc),_0x5ddb9b(0x11a),_0x5ddb9b(0xf0),_0x5ddb9b(0x12f),_0x4fdec3(0xb0),_0x5ddb9b(0x1d0),_0x5ddb9b(0x1cd),_0x5ddb9b(0xda),_0x5ddb9b(0xd7),_0x5ddb9b(0x157),_0x5ddb9b(0x1dd),_0x5ddb9b(0x130),_0x5ddb9b(0xe1),_0x5ddb9b(0xa4),_0x5ddb9b(0x16c),_0x5ddb9b(0x161),_0x5ddb9b(0x197),_0x5ddb9b(0xb9),_0x4fdec3(0x14c),_0x59b782(0x19a),_0x5ddb9b(0x106),_0x5ddb9b(0x16b),_0x5ddb9b(0x1b7),_0x5ddb9b(0x9a),_0x5ddb9b(0x109),_0x5ddb9b(0x11c),_0x59b782(0x22f),_0x5ddb9b(0xa7),_0x5ddb9b(0xeb),_0x5ddb9b(0x165),_0x5ddb9b(0x131),_0x5ddb9b(0xca),_0x5ddb9b(0xc1),_0x5ddb9b(0x119),_0x4fdec3(0x1f5),_0x5ddb9b(0x1ad),_0x4fdec3(0xec),_0x5ddb9b(0x110),_0x5ddb9b(0x1d4),_0x5ddb9b(0x1eb),_0x5ddb9b(0x1a8),_0x5ddb9b(0x132),_0x5ddb9b(0x118),_0x5ddb9b(0x1c6),_0x5ddb9b(0x178),_0x5ddb9b(0x1d6),_0x59b782(0x210),_0x5ddb9b(0xf3),_0x59b782(0x1b0),_0x5ddb9b(0x19f),_0x5ddb9b(0x14a),_0x5ddb9b(0xd6),_0x5ddb9b(0xf6),_0x5ddb9b(0xc9),_0x59b782(0x11b),_0x5ddb9b(0xbc),_0x5ddb9b(0x1b5),_0x5ddb9b(0x11f),_0x59b782(0x103),_0x59b782(0x12a),_0x5ddb9b(0x1e5),_0x5ddb9b(0x13a),_0x5ddb9b(0x128),_0x5ddb9b(0x1d9),_0x5ddb9b(0x100),_0x5ddb9b(0x184),_0x5ddb9b(0x16f),_0x5ddb9b(0x15f),_0x5ddb9b(0x145),_0x5ddb9b(0xb0),_0x5ddb9b(0x103),_0x5ddb9b(0x1d3),_0x5ddb9b(0x1bc),_0x5ddb9b(0x193),_0x5ddb9b(0x149),_0x5ddb9b(0x1ce),_0x5ddb9b(0xbd),_0x4fdec3(0x12a),_0x5ddb9b(0x16e),_0x5ddb9b(0x1dc),_0x5ddb9b(0x18f),_0x59b782(0xe1),_0x5ddb9b(0x10a),_0x522c2d(0x2a7),_0x59b782(0x20d),_0x59b782(0x205),_0x5ddb9b(0xc5),_0x5ddb9b(0xd5),_0x5ddb9b(0x1b9),_0x5ddb9b(0xae),_0x5ddb9b(0xc6),_0x59b782(0x20e),_0x5ddb9b(0x11e),_0x5ddb9b(0x186),_0x5ddb9b(0x1a2),_0x5ddb9b(0x154),_0x5ddb9b(0x143),_0x5ddb9b(0x1c1),_0x5ddb9b(0x17c),_0x5ddb9b(0x1bd),_0x5ddb9b(0x98),_0x5ddb9b(0x120),_0x5ddb9b(0x1a1),_0x5ddb9b(0xde),_0x5ddb9b(0x142),_0x5ddb9b(0x134),_0x4fdec3(0x103),_0x4fdec3(0x153),_0x5ddb9b(0xdb),_0x5ddb9b(0x19e),_0x5ddb9b(0x18a),_0x5ddb9b(0x123),_0x5ddb9b(0x101),_0x5ddb9b(0x105),_0x5ddb9b(0x1ae),_0x5ddb9b(0x12d),_0x5ddb9b(0xa8),_0x5ddb9b(0x127),_0x5ddb9b(0x10b),_0x59b782(0x17f),_0x5ddb9b(0x1af),_0x5ddb9b(0x10c),_0x59b782(0x1e7),_0x5ddb9b(0x9c),_0x5ddb9b(0x1d2),_0x59b782(0x1be),_0x5ddb9b(0x189),_0x5ddb9b(0xe4),_0x5ddb9b(0xc4),_0x5ddb9b(0x9b),_0x59b782(0x177),_0x59b782(0x130),_0x5ddb9b(0xfb)];return a0_0x21c5=function(){return _0x10f98f;},a0_0x21c5();}
\ No newline at end of file
diff --git a/anita_theme_setting/static/libs/spectrum.css b/anita_theme_setting/static/libs/spectrum.css
new file mode 100644
index 000000000..e68f4924e
--- /dev/null
+++ b/anita_theme_setting/static/libs/spectrum.css
@@ -0,0 +1,507 @@
+/***
+Spectrum Colorpicker v1.8.1
+https://github.com/bgrins/spectrum
+Author: Brian Grinstead
+License: MIT
+***/
+
+.sp-container {
+ position:absolute;
+ top:0;
+ left:0;
+ display:inline-block;
+ *display: inline;
+ *zoom: 1;
+ /* https://github.com/bgrins/spectrum/issues/40 */
+ z-index: 9999994;
+ overflow: hidden;
+}
+.sp-container.sp-flat {
+ position: relative;
+}
+
+/* Fix for * { box-sizing: border-box; } */
+.sp-container,
+.sp-container * {
+ -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+}
+
+/* http://ansciath.tumblr.com/post/7347495869/css-aspect-ratio */
+.sp-top {
+ position:relative;
+ width: 100%;
+ display:inline-block;
+}
+.sp-top-inner {
+ position:absolute;
+ top:0;
+ left:0;
+ bottom:0;
+ right:0;
+}
+.sp-color {
+ position: absolute;
+ top:0;
+ left:0;
+ bottom:0;
+ right:20%;
+}
+.sp-hue {
+ position: absolute;
+ top:0;
+ right:0;
+ bottom:0;
+ left:84%;
+ height: 100%;
+}
+
+.sp-clear-enabled .sp-hue {
+ top:33px;
+ height: 77.5%;
+}
+
+.sp-fill {
+ padding-top: 80%;
+}
+.sp-sat, .sp-val {
+ position: absolute;
+ top:0;
+ left:0;
+ right:0;
+ bottom:0;
+}
+
+.sp-alpha-enabled .sp-top {
+ margin-bottom: 18px;
+}
+.sp-alpha-enabled .sp-alpha {
+ display: block;
+}
+.sp-alpha-handle {
+ position:absolute;
+ top:-4px;
+ bottom: -4px;
+ width: 6px;
+ left: 50%;
+ cursor: pointer;
+ border: 1px solid black;
+ background: white;
+ opacity: .8;
+}
+.sp-alpha {
+ display: none;
+ position: absolute;
+ bottom: -14px;
+ right: 0;
+ left: 0;
+ height: 8px;
+}
+.sp-alpha-inner {
+ border: solid 1px #333;
+}
+
+.sp-clear {
+ display: none;
+}
+
+.sp-clear.sp-clear-display {
+ background-position: center;
+}
+
+.sp-clear-enabled .sp-clear {
+ display: block;
+ position:absolute;
+ top:0px;
+ right:0;
+ bottom:0;
+ left:84%;
+ height: 28px;
+}
+
+/* Don't allow text selection */
+.sp-container, .sp-replacer, .sp-preview, .sp-dragger, .sp-slider, .sp-alpha, .sp-clear, .sp-alpha-handle, .sp-container.sp-dragging .sp-input, .sp-container button {
+ -webkit-user-select:none;
+ -moz-user-select: -moz-none;
+ -o-user-select:none;
+ user-select: none;
+}
+
+.sp-container.sp-input-disabled .sp-input-container {
+ display: none;
+}
+.sp-container.sp-buttons-disabled .sp-button-container {
+ display: none;
+}
+.sp-container.sp-palette-buttons-disabled .sp-palette-button-container {
+ display: none;
+}
+.sp-palette-only .sp-picker-container {
+ display: none;
+}
+.sp-palette-disabled .sp-palette-container {
+ display: none;
+}
+
+.sp-initial-disabled .sp-initial {
+ display: none;
+}
+
+
+/* Gradients for hue, saturation and value instead of images. Not pretty... but it works */
+.sp-sat {
+ background-image: -webkit-gradient(linear, 0 0, 100% 0, from(#FFF), to(rgba(204, 154, 129, 0)));
+ background-image: -webkit-linear-gradient(left, #FFF, rgba(204, 154, 129, 0));
+ background-image: -moz-linear-gradient(left, #fff, rgba(204, 154, 129, 0));
+ background-image: -o-linear-gradient(left, #fff, rgba(204, 154, 129, 0));
+ background-image: -ms-linear-gradient(left, #fff, rgba(204, 154, 129, 0));
+ background-image: linear-gradient(to right, #fff, rgba(204, 154, 129, 0));
+ -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType = 1, startColorstr=#FFFFFFFF, endColorstr=#00CC9A81)";
+ filter : progid:DXImageTransform.Microsoft.gradient(GradientType = 1, startColorstr='#FFFFFFFF', endColorstr='#00CC9A81');
+}
+.sp-val {
+ background-image: -webkit-gradient(linear, 0 100%, 0 0, from(#000000), to(rgba(204, 154, 129, 0)));
+ background-image: -webkit-linear-gradient(bottom, #000000, rgba(204, 154, 129, 0));
+ background-image: -moz-linear-gradient(bottom, #000, rgba(204, 154, 129, 0));
+ background-image: -o-linear-gradient(bottom, #000, rgba(204, 154, 129, 0));
+ background-image: -ms-linear-gradient(bottom, #000, rgba(204, 154, 129, 0));
+ background-image: linear-gradient(to top, #000, rgba(204, 154, 129, 0));
+ -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#00CC9A81, endColorstr=#FF000000)";
+ filter : progid:DXImageTransform.Microsoft.gradient(startColorstr='#00CC9A81', endColorstr='#FF000000');
+}
+
+.sp-hue {
+ background: -moz-linear-gradient(top, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);
+ background: -ms-linear-gradient(top, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);
+ background: -o-linear-gradient(top, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);
+ background: -webkit-gradient(linear, left top, left bottom, from(#ff0000), color-stop(0.17, #ffff00), color-stop(0.33, #00ff00), color-stop(0.5, #00ffff), color-stop(0.67, #0000ff), color-stop(0.83, #ff00ff), to(#ff0000));
+ background: -webkit-linear-gradient(top, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);
+ background: linear-gradient(to bottom, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);
+}
+
+/* IE filters do not support multiple color stops.
+ Generate 6 divs, line them up, and do two color gradients for each.
+ Yes, really.
+ */
+.sp-1 {
+ height:17%;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0000', endColorstr='#ffff00');
+}
+.sp-2 {
+ height:16%;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff00', endColorstr='#00ff00');
+}
+.sp-3 {
+ height:17%;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ff00', endColorstr='#00ffff');
+}
+.sp-4 {
+ height:17%;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ffff', endColorstr='#0000ff');
+}
+.sp-5 {
+ height:16%;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0000ff', endColorstr='#ff00ff');
+}
+.sp-6 {
+ height:17%;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff00ff', endColorstr='#ff0000');
+}
+
+.sp-hidden {
+ display: none !important;
+}
+
+/* Clearfix hack */
+.sp-cf:before, .sp-cf:after { content: ""; display: table; }
+.sp-cf:after { clear: both; }
+.sp-cf { *zoom: 1; }
+
+/* Mobile devices, make hue slider bigger so it is easier to slide */
+@media (max-device-width: 480px) {
+ .sp-color { right: 40%; }
+ .sp-hue { left: 63%; }
+ .sp-fill { padding-top: 60%; }
+}
+.sp-dragger {
+ border-radius: 5px;
+ height: 5px;
+ width: 5px;
+ border: 1px solid #fff;
+ background: #000;
+ cursor: pointer;
+ position:absolute;
+ top:0;
+ left: 0;
+}
+.sp-slider {
+ position: absolute;
+ top:0;
+ cursor:pointer;
+ height: 3px;
+ left: -1px;
+ right: -1px;
+ border: 1px solid #000;
+ background: white;
+ opacity: .8;
+}
+
+/*
+Theme authors:
+Here are the basic themeable display options (colors, fonts, global widths).
+See http://bgrins.github.io/spectrum/themes/ for instructions.
+*/
+
+.sp-container {
+ border-radius: 0;
+ background-color: #ECECEC;
+ border: solid 1px #f0c49B;
+ padding: 0;
+}
+.sp-container, .sp-container button, .sp-container input, .sp-color, .sp-hue, .sp-clear {
+ font: normal 12px "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Verdana, sans-serif;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+}
+.sp-top {
+ margin-bottom: 3px;
+}
+.sp-color, .sp-hue, .sp-clear {
+ border: solid 1px #666;
+}
+
+/* Input */
+.sp-input-container {
+ float:right;
+ width: 100px;
+ margin-bottom: 4px;
+}
+.sp-initial-disabled .sp-input-container {
+ width: 100%;
+}
+.sp-input {
+ font-size: 12px !important;
+ border: 1px inset;
+ padding: 4px 5px;
+ margin: 0;
+ width: 100%;
+ background:transparent;
+ border-radius: 3px;
+ color: #222;
+}
+.sp-input:focus {
+ border: 1px solid orange;
+}
+.sp-input.sp-validation-error {
+ border: 1px solid red;
+ background: #fdd;
+}
+.sp-picker-container , .sp-palette-container {
+ float:left;
+ position: relative;
+ padding: 10px;
+ padding-bottom: 300px;
+ margin-bottom: -290px;
+}
+.sp-picker-container {
+ width: 172px;
+ border-left: solid 1px #fff;
+}
+
+/* Palettes */
+.sp-palette-container {
+ border-right: solid 1px #ccc;
+}
+
+.sp-palette-only .sp-palette-container {
+ border: 0;
+}
+
+.sp-palette .sp-thumb-el {
+ display: block;
+ position:relative;
+ float:left;
+ width: 24px;
+ height: 15px;
+ margin: 3px;
+ cursor: pointer;
+ border:solid 2px transparent;
+}
+.sp-palette .sp-thumb-el:hover, .sp-palette .sp-thumb-el.sp-thumb-active {
+ border-color: orange;
+}
+.sp-thumb-el {
+ position:relative;
+}
+
+/* Initial */
+.sp-initial {
+ float: left;
+ border: solid 1px #333;
+}
+.sp-initial span {
+ width: 30px;
+ height: 25px;
+ border:none;
+ display:block;
+ float:left;
+ margin:0;
+}
+
+.sp-initial .sp-clear-display {
+ background-position: center;
+}
+
+/* Buttons */
+.sp-palette-button-container,
+.sp-button-container {
+ float: right;
+}
+
+/* Replacer (the little preview div that shows up instead of the ) */
+.sp-replacer {
+ margin:0;
+ overflow:hidden;
+ cursor:pointer;
+ padding: 4px;
+ display:inline-block;
+ *zoom: 1;
+ *display: inline;
+ border: solid 1px #91765d;
+ background: #eee;
+ color: #333;
+ vertical-align: middle;
+}
+.sp-replacer:hover, .sp-replacer.sp-active {
+ border-color: #F0C49B;
+ color: #111;
+}
+.sp-replacer.sp-disabled {
+ cursor:default;
+ border-color: silver;
+ color: silver;
+}
+.sp-dd {
+ padding: 2px 0;
+ height: 16px;
+ line-height: 16px;
+ float:left;
+ font-size:10px;
+}
+.sp-preview {
+ position:relative;
+ width:25px;
+ height: 20px;
+ border: solid 1px #222;
+ margin-right: 5px;
+ float:left;
+ z-index: 0;
+}
+
+.sp-palette {
+ *width: 220px;
+ max-width: 220px;
+}
+.sp-palette .sp-thumb-el {
+ width:16px;
+ height: 16px;
+ margin:2px 1px;
+ border: solid 1px #d0d0d0;
+}
+
+.sp-container {
+ padding-bottom:0;
+}
+
+
+/* Buttons: http://hellohappy.org/css3-buttons/ */
+.sp-container button {
+ background-color: #eeeeee;
+ background-image: -webkit-linear-gradient(top, #eeeeee, #cccccc);
+ background-image: -moz-linear-gradient(top, #eeeeee, #cccccc);
+ background-image: -ms-linear-gradient(top, #eeeeee, #cccccc);
+ background-image: -o-linear-gradient(top, #eeeeee, #cccccc);
+ background-image: linear-gradient(to bottom, #eeeeee, #cccccc);
+ border: 1px solid #ccc;
+ border-bottom: 1px solid #bbb;
+ border-radius: 3px;
+ color: #333;
+ font-size: 14px;
+ line-height: 1;
+ padding: 5px 4px;
+ text-align: center;
+ text-shadow: 0 1px 0 #eee;
+ vertical-align: middle;
+}
+.sp-container button:hover {
+ background-color: #dddddd;
+ background-image: -webkit-linear-gradient(top, #dddddd, #bbbbbb);
+ background-image: -moz-linear-gradient(top, #dddddd, #bbbbbb);
+ background-image: -ms-linear-gradient(top, #dddddd, #bbbbbb);
+ background-image: -o-linear-gradient(top, #dddddd, #bbbbbb);
+ background-image: linear-gradient(to bottom, #dddddd, #bbbbbb);
+ border: 1px solid #bbb;
+ border-bottom: 1px solid #999;
+ cursor: pointer;
+ text-shadow: 0 1px 0 #ddd;
+}
+.sp-container button:active {
+ border: 1px solid #aaa;
+ border-bottom: 1px solid #888;
+ -webkit-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee;
+ -moz-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee;
+ -ms-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee;
+ -o-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee;
+ box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee;
+}
+.sp-cancel {
+ font-size: 11px;
+ color: #d93f3f !important;
+ margin:0;
+ padding:2px;
+ margin-right: 5px;
+ vertical-align: middle;
+ text-decoration:none;
+
+}
+.sp-cancel:hover {
+ color: #d93f3f !important;
+ text-decoration: underline;
+}
+
+
+.sp-palette span:hover, .sp-palette span.sp-thumb-active {
+ border-color: #000;
+}
+
+.sp-preview, .sp-alpha, .sp-thumb-el {
+ position:relative;
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==);
+}
+.sp-preview-inner, .sp-alpha-inner, .sp-thumb-inner {
+ display:block;
+ position:absolute;
+ top:0;left:0;bottom:0;right:0;
+}
+
+.sp-palette .sp-thumb-inner {
+ background-position: 50% 50%;
+ background-repeat: no-repeat;
+}
+
+.sp-palette .sp-thumb-light.sp-thumb-active .sp-thumb-inner {
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIVJREFUeNpiYBhsgJFMffxAXABlN5JruT4Q3wfi/0DsT64h8UD8HmpIPCWG/KemIfOJCUB+Aoacx6EGBZyHBqI+WsDCwuQ9mhxeg2A210Ntfo8klk9sOMijaURm7yc1UP2RNCMbKE9ODK1HM6iegYLkfx8pligC9lCD7KmRof0ZhjQACDAAceovrtpVBRkAAAAASUVORK5CYII=);
+}
+
+.sp-palette .sp-thumb-dark.sp-thumb-active .sp-thumb-inner {
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAMdJREFUOE+tkgsNwzAMRMugEAahEAahEAZhEAqlEAZhEAohEAYh81X2dIm8fKpEspLGvudPOsUYpxE2BIJCroJmEW9qJ+MKaBFhEMNabSy9oIcIPwrB+afvAUFoK4H0tMaQ3XtlrggDhOVVMuT4E5MMG0FBbCEYzjYT7OxLEvIHQLY2zWwQ3D+9luyOQTfKDiFD3iUIfPk8VqrKjgAiSfGFPecrg6HN6m/iBcwiDAo7WiBeawa+Kwh7tZoSCGLMqwlSAzVDhoK+6vH4G0P5wdkAAAAASUVORK5CYII=);
+}
+
+.sp-clear-display {
+ background-repeat:no-repeat;
+ background-position: center;
+ background-image: url(data:image/gif;base64,R0lGODlhFAAUAPcAAAAAAJmZmZ2dnZ6enqKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq/Hx8fLy8vT09PX19ff39/j4+Pn5+fr6+vv7+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAP8ALAAAAAAUABQAAAihAP9FoPCvoMGDBy08+EdhQAIJCCMybCDAAYUEARBAlFiQQoMABQhKUJBxY0SPICEYHBnggEmDKAuoPMjS5cGYMxHW3IiT478JJA8M/CjTZ0GgLRekNGpwAsYABHIypcAgQMsITDtWJYBR6NSqMico9cqR6tKfY7GeBCuVwlipDNmefAtTrkSzB1RaIAoXodsABiZAEFB06gIBWC1mLVgBa0AAOw==);
+}
diff --git a/anita_theme_setting/static/libs/spectrum.js b/anita_theme_setting/static/libs/spectrum.js
new file mode 100644
index 000000000..6c48c1254
--- /dev/null
+++ b/anita_theme_setting/static/libs/spectrum.js
@@ -0,0 +1,2341 @@
+// Spectrum Colorpicker v1.8.1
+// https://github.com/bgrins/spectrum
+// Author: Brian Grinstead
+// License: MIT
+
+(function (factory) {
+ "use strict";
+
+ if (typeof define === 'function' && define.amd) { // AMD
+ define(['jquery'], factory);
+ }
+ else if (typeof exports == "object" && typeof module == "object") { // CommonJS
+ module.exports = factory(require('jquery'));
+ }
+ else { // Browser
+ factory(jQuery);
+ }
+})(function($, undefined) {
+ "use strict";
+
+ var defaultOpts = {
+
+ // Callbacks
+ beforeShow: noop,
+ move: noop,
+ change: noop,
+ show: noop,
+ hide: noop,
+
+ // Options
+ color: false,
+ flat: false,
+ showInput: false,
+ allowEmpty: false,
+ showButtons: true,
+ clickoutFiresChange: true,
+ showInitial: false,
+ showPalette: false,
+ showPaletteOnly: false,
+ hideAfterPaletteSelect: false,
+ togglePaletteOnly: false,
+ showSelectionPalette: true,
+ localStorageKey: false,
+ appendTo: "body",
+ maxSelectionSize: 7,
+ cancelText: "cancel",
+ chooseText: "choose",
+ togglePaletteMoreText: "more",
+ togglePaletteLessText: "less",
+ clearText: "Clear Color Selection",
+ noColorSelectedText: "No Color Selected",
+ preferredFormat: false,
+ className: "", // Deprecated - use containerClassName and replacerClassName instead.
+ containerClassName: "",
+ replacerClassName: "",
+ showAlpha: false,
+ theme: "sp-light",
+ palette: [["#ffffff", "#000000", "#ff0000", "#ff8000", "#ffff00", "#008000", "#0000ff", "#4b0082", "#9400d3"]],
+ selectionPalette: [],
+ disabled: false,
+ offset: null
+ },
+ spectrums = [],
+ IE = !!/msie/i.exec( window.navigator.userAgent ),
+ rgbaSupport = (function() {
+ function contains( str, substr ) {
+ return !!~('' + str).indexOf(substr);
+ }
+
+ var elem = document.createElement('div');
+ var style = elem.style;
+ style.cssText = 'background-color:rgba(0,0,0,.5)';
+ return contains(style.backgroundColor, 'rgba') || contains(style.backgroundColor, 'hsla');
+ })(),
+ replaceInput = [
+ ""
+ ].join(''),
+ markup = (function () {
+
+ // IE does not support gradients with multiple stops, so we need to simulate
+ // that for the rainbow slider with 8 divs that each have a single gradient
+ var gradientFix = "";
+ if (IE) {
+ for (var i = 1; i <= 6; i++) {
+ gradientFix += "
";
+ }
+ }
+
+ return [
+ "",
+ "
",
+ "
",
+ "
",
+ " ",
+ "
",
+ "
",
+ "
",
+ "
",
+ "
",
+ "
",
+ "
",
+ "
",
+ "
",
+ "
",
+ "
",
+ gradientFix,
+ "
",
+ "
",
+ "
",
+ "
",
+ "
",
+ " ",
+ "
",
+ "
",
+ "
",
+ "
",
+ "
"
+ ].join("");
+ })();
+
+ function paletteTemplate (p, color, className, opts) {
+ var html = [];
+ for (var i = 0; i < p.length; i++) {
+ var current = p[i];
+ if(current) {
+ var tiny = tinycolor(current);
+ var c = tiny.toHsl().l < 0.5 ? "sp-thumb-el sp-thumb-dark" : "sp-thumb-el sp-thumb-light";
+ c += (tinycolor.equals(color, current)) ? " sp-thumb-active" : "";
+ var formattedString = tiny.toString(opts.preferredFormat || "rgb");
+ var swatchStyle = rgbaSupport ? ("background-color:" + tiny.toRgbString()) : "filter:" + tiny.toFilter();
+ html.push(' ');
+ } else {
+ var cls = 'sp-clear-display';
+ html.push($('
')
+ .append($(' ')
+ .attr('title', opts.noColorSelectedText)
+ )
+ .html()
+ );
+ }
+ }
+ return "" + html.join('') + "
";
+ }
+
+ function hideAll() {
+ for (var i = 0; i < spectrums.length; i++) {
+ if (spectrums[i]) {
+ spectrums[i].hide();
+ }
+ }
+ }
+
+ function instanceOptions(o, callbackContext) {
+ var opts = $.extend({}, defaultOpts, o);
+ opts.callbacks = {
+ 'move': bind(opts.move, callbackContext),
+ 'change': bind(opts.change, callbackContext),
+ 'show': bind(opts.show, callbackContext),
+ 'hide': bind(opts.hide, callbackContext),
+ 'beforeShow': bind(opts.beforeShow, callbackContext)
+ };
+
+ return opts;
+ }
+
+ function spectrum(element, o) {
+
+ var opts = instanceOptions(o, element),
+ flat = opts.flat,
+ showSelectionPalette = opts.showSelectionPalette,
+ localStorageKey = opts.localStorageKey,
+ theme = opts.theme,
+ callbacks = opts.callbacks,
+ resize = throttle(reflow, 10),
+ visible = false,
+ isDragging = false,
+ dragWidth = 0,
+ dragHeight = 0,
+ dragHelperHeight = 0,
+ slideHeight = 0,
+ slideWidth = 0,
+ alphaWidth = 0,
+ alphaSlideHelperWidth = 0,
+ slideHelperHeight = 0,
+ currentHue = 0,
+ currentSaturation = 0,
+ currentValue = 0,
+ currentAlpha = 1,
+ palette = [],
+ paletteArray = [],
+ paletteLookup = {},
+ selectionPalette = opts.selectionPalette.slice(0),
+ maxSelectionSize = opts.maxSelectionSize,
+ draggingClass = "sp-dragging",
+ shiftMovementDirection = null;
+
+ var doc = element.ownerDocument,
+ body = doc.body,
+ boundElement = $(element),
+ disabled = false,
+ container = $(markup, doc).addClass(theme),
+ pickerContainer = container.find(".sp-picker-container"),
+ dragger = container.find(".sp-color"),
+ dragHelper = container.find(".sp-dragger"),
+ slider = container.find(".sp-hue"),
+ slideHelper = container.find(".sp-slider"),
+ alphaSliderInner = container.find(".sp-alpha-inner"),
+ alphaSlider = container.find(".sp-alpha"),
+ alphaSlideHelper = container.find(".sp-alpha-handle"),
+ textInput = container.find(".sp-input"),
+ paletteContainer = container.find(".sp-palette"),
+ initialColorContainer = container.find(".sp-initial"),
+ cancelButton = container.find(".sp-cancel"),
+ clearButton = container.find(".sp-clear"),
+ chooseButton = container.find(".sp-choose"),
+ toggleButton = container.find(".sp-palette-toggle"),
+ isInput = boundElement.is("input"),
+ isInputTypeColor = isInput && boundElement.attr("type") === "color" && inputTypeColorSupport(),
+ shouldReplace = isInput && !flat,
+ replacer = (shouldReplace) ? $(replaceInput).addClass(theme).addClass(opts.className).addClass(opts.replacerClassName) : $([]),
+ offsetElement = (shouldReplace) ? replacer : boundElement,
+ previewElement = replacer.find(".sp-preview-inner"),
+ initialColor = opts.color || (isInput && boundElement.val()),
+ colorOnShow = false,
+ currentPreferredFormat = opts.preferredFormat,
+ clickoutFiresChange = !opts.showButtons || opts.clickoutFiresChange,
+ isEmpty = !initialColor,
+ allowEmpty = opts.allowEmpty && !isInputTypeColor;
+
+ function applyOptions() {
+
+ if (opts.showPaletteOnly) {
+ opts.showPalette = true;
+ }
+
+ toggleButton.text(opts.showPaletteOnly ? opts.togglePaletteMoreText : opts.togglePaletteLessText);
+
+ if (opts.palette) {
+ palette = opts.palette.slice(0);
+ paletteArray = Array.isArray(palette[0]) ? palette : [palette];
+ paletteLookup = {};
+ for (var i = 0; i < paletteArray.length; i++) {
+ for (var j = 0; j < paletteArray[i].length; j++) {
+ var rgb = tinycolor(paletteArray[i][j]).toRgbString();
+ paletteLookup[rgb] = true;
+ }
+ }
+ }
+
+ container.toggleClass("sp-flat", flat);
+ container.toggleClass("sp-input-disabled", !opts.showInput);
+ container.toggleClass("sp-alpha-enabled", opts.showAlpha);
+ container.toggleClass("sp-clear-enabled", allowEmpty);
+ container.toggleClass("sp-buttons-disabled", !opts.showButtons);
+ container.toggleClass("sp-palette-buttons-disabled", !opts.togglePaletteOnly);
+ container.toggleClass("sp-palette-disabled", !opts.showPalette);
+ container.toggleClass("sp-palette-only", opts.showPaletteOnly);
+ container.toggleClass("sp-initial-disabled", !opts.showInitial);
+ container.addClass(opts.className).addClass(opts.containerClassName);
+
+ reflow();
+ }
+
+ function initialize() {
+
+ if (IE) {
+ container.find("*:not(input)").attr("unselectable", "on");
+ }
+
+ applyOptions();
+
+ if (shouldReplace) {
+ boundElement.after(replacer).hide();
+ }
+
+ if (!allowEmpty) {
+ clearButton.hide();
+ }
+
+ if (flat) {
+ boundElement.after(container).hide();
+ }
+ else {
+
+ var appendTo = opts.appendTo === "parent" ? boundElement.parent() : $(opts.appendTo);
+ if (appendTo.length !== 1) {
+ appendTo = $("body");
+ }
+
+ appendTo.append(container);
+ }
+
+ updateSelectionPaletteFromStorage();
+
+ offsetElement.on("click.spectrum touchstart.spectrum", function (e) {
+ if (!disabled) {
+ toggle();
+ }
+
+ e.stopPropagation();
+
+ if (!$(e.target).is("input")) {
+ e.preventDefault();
+ }
+ });
+
+ if(boundElement.is(":disabled") || (opts.disabled === true)) {
+ disable();
+ }
+
+ // Prevent clicks from bubbling up to document. This would cause it to be hidden.
+ container.on("click", stopPropagation);
+
+ // Handle user typed input
+ textInput.on("change", setFromTextInput);
+ textInput.on("paste", function () {
+ setTimeout(setFromTextInput, 1);
+ });
+ textInput.on("keydown", function (e) { if (e.keyCode == 13) { setFromTextInput(); } });
+
+ cancelButton.text(opts.cancelText);
+ cancelButton.on("click.spectrum", function (e) {
+ e.stopPropagation();
+ e.preventDefault();
+ revert();
+ hide();
+ });
+
+ clearButton.attr("title", opts.clearText);
+ clearButton.on("click.spectrum", function (e) {
+ e.stopPropagation();
+ e.preventDefault();
+ isEmpty = true;
+ move();
+
+ if(flat) {
+ //for the flat style, this is a change event
+ updateOriginalInput(true);
+ }
+ });
+
+ chooseButton.text(opts.chooseText);
+ chooseButton.on("click.spectrum", function (e) {
+ e.stopPropagation();
+ e.preventDefault();
+
+ if (IE && textInput.is(":focus")) {
+ textInput.trigger('change');
+ }
+
+ if (isValid()) {
+ updateOriginalInput(true);
+ hide();
+ }
+ });
+
+ toggleButton.text(opts.showPaletteOnly ? opts.togglePaletteMoreText : opts.togglePaletteLessText);
+ toggleButton.on("click.spectrum", function (e) {
+ e.stopPropagation();
+ e.preventDefault();
+
+ opts.showPaletteOnly = !opts.showPaletteOnly;
+
+ // To make sure the Picker area is drawn on the right, next to the
+ // Palette area (and not below the palette), first move the Palette
+ // to the left to make space for the picker, plus 5px extra.
+ // The 'applyOptions' function puts the whole container back into place
+ // and takes care of the button-text and the sp-palette-only CSS class.
+ if (!opts.showPaletteOnly && !flat) {
+ container.css('left', '-=' + (pickerContainer.outerWidth(true) + 5));
+ }
+ applyOptions();
+ });
+
+ draggable(alphaSlider, function (dragX, dragY, e) {
+ currentAlpha = (dragX / alphaWidth);
+ isEmpty = false;
+ if (e.shiftKey) {
+ currentAlpha = Math.round(currentAlpha * 10) / 10;
+ }
+
+ move();
+ }, dragStart, dragStop);
+
+ draggable(slider, function (dragX, dragY) {
+ currentHue = parseFloat(dragY / slideHeight);
+ isEmpty = false;
+ if (!opts.showAlpha) {
+ currentAlpha = 1;
+ }
+ move();
+ }, dragStart, dragStop);
+
+ draggable(dragger, function (dragX, dragY, e) {
+
+ // shift+drag should snap the movement to either the x or y axis.
+ if (!e.shiftKey) {
+ shiftMovementDirection = null;
+ }
+ else if (!shiftMovementDirection) {
+ var oldDragX = currentSaturation * dragWidth;
+ var oldDragY = dragHeight - (currentValue * dragHeight);
+ var furtherFromX = Math.abs(dragX - oldDragX) > Math.abs(dragY - oldDragY);
+
+ shiftMovementDirection = furtherFromX ? "x" : "y";
+ }
+
+ var setSaturation = !shiftMovementDirection || shiftMovementDirection === "x";
+ var setValue = !shiftMovementDirection || shiftMovementDirection === "y";
+
+ if (setSaturation) {
+ currentSaturation = parseFloat(dragX / dragWidth);
+ }
+ if (setValue) {
+ currentValue = parseFloat((dragHeight - dragY) / dragHeight);
+ }
+
+ isEmpty = false;
+ if (!opts.showAlpha) {
+ currentAlpha = 1;
+ }
+
+ move();
+
+ }, dragStart, dragStop);
+
+ if (!!initialColor) {
+ set(initialColor);
+
+ // In case color was black - update the preview UI and set the format
+ // since the set function will not run (default color is black).
+ updateUI();
+ currentPreferredFormat = opts.preferredFormat || tinycolor(initialColor).format;
+
+ addColorToSelectionPalette(initialColor);
+ }
+ else {
+ updateUI();
+ }
+
+ if (flat) {
+ show();
+ }
+
+ function paletteElementClick(e) {
+ if (e.data && e.data.ignore) {
+ set($(e.target).closest(".sp-thumb-el").data("color"));
+ move();
+ }
+ else {
+ set($(e.target).closest(".sp-thumb-el").data("color"));
+ move();
+
+ // If the picker is going to close immediately, a palette selection
+ // is a change. Otherwise, it's a move only.
+ if (opts.hideAfterPaletteSelect) {
+ updateOriginalInput(true);
+ hide();
+ } else {
+ updateOriginalInput();
+ }
+ }
+
+ return false;
+ }
+
+ var paletteEvent = IE ? "mousedown.spectrum" : "click.spectrum touchstart.spectrum";
+ paletteContainer.on(paletteEvent, ".sp-thumb-el", paletteElementClick);
+ initialColorContainer.on(paletteEvent, ".sp-thumb-el:nth-child(1)", { ignore: true }, paletteElementClick);
+ }
+
+ function updateSelectionPaletteFromStorage() {
+
+ if (localStorageKey && window.localStorage) {
+
+ // Migrate old palettes over to new format. May want to remove this eventually.
+ try {
+ var oldPalette = window.localStorage[localStorageKey].split(",#");
+ if (oldPalette.length > 1) {
+ delete window.localStorage[localStorageKey];
+ $.each(oldPalette, function(i, c) {
+ addColorToSelectionPalette(c);
+ });
+ }
+ }
+ catch(e) { }
+
+ try {
+ selectionPalette = window.localStorage[localStorageKey].split(";");
+ }
+ catch (e) { }
+ }
+ }
+
+ function addColorToSelectionPalette(color) {
+ if (showSelectionPalette) {
+ var rgb = tinycolor(color).toRgbString();
+ if (!paletteLookup[rgb] && $.inArray(rgb, selectionPalette) === -1) {
+ selectionPalette.push(rgb);
+ while(selectionPalette.length > maxSelectionSize) {
+ selectionPalette.shift();
+ }
+ }
+
+ if (localStorageKey && window.localStorage) {
+ try {
+ window.localStorage[localStorageKey] = selectionPalette.join(";");
+ }
+ catch(e) { }
+ }
+ }
+ }
+
+ function getUniqueSelectionPalette() {
+ var unique = [];
+ if (opts.showPalette) {
+ for (var i = 0; i < selectionPalette.length; i++) {
+ var rgb = tinycolor(selectionPalette[i]).toRgbString();
+
+ if (!paletteLookup[rgb]) {
+ unique.push(selectionPalette[i]);
+ }
+ }
+ }
+
+ return unique.reverse().slice(0, opts.maxSelectionSize);
+ }
+
+ function drawPalette() {
+
+ var currentColor = get();
+
+ var html = $.map(paletteArray, function (palette, i) {
+ return paletteTemplate(palette, currentColor, "sp-palette-row sp-palette-row-" + i, opts);
+ });
+
+ updateSelectionPaletteFromStorage();
+
+ if (selectionPalette) {
+ html.push(paletteTemplate(getUniqueSelectionPalette(), currentColor, "sp-palette-row sp-palette-row-selection", opts));
+ }
+
+ paletteContainer.html(html.join(""));
+ }
+
+ function drawInitial() {
+ if (opts.showInitial) {
+ var initial = colorOnShow;
+ var current = get();
+ initialColorContainer.html(paletteTemplate([initial, current], current, "sp-palette-row-initial", opts));
+ }
+ }
+
+ function dragStart() {
+ if (dragHeight <= 0 || dragWidth <= 0 || slideHeight <= 0) {
+ reflow();
+ }
+ isDragging = true;
+ container.addClass(draggingClass);
+ shiftMovementDirection = null;
+ boundElement.trigger('dragstart.spectrum', [ get() ]);
+ }
+
+ function dragStop() {
+ isDragging = false;
+ container.removeClass(draggingClass);
+ boundElement.trigger('dragstop.spectrum', [ get() ]);
+ }
+
+ function setFromTextInput() {
+
+ var value = textInput.val();
+
+ if ((value === null || value === "") && allowEmpty) {
+ set(null);
+ move();
+ updateOriginalInput();
+ }
+ else {
+ var tiny = tinycolor(value);
+ if (tiny.isValid()) {
+ set(tiny);
+ move();
+ updateOriginalInput();
+ }
+ else {
+ textInput.addClass("sp-validation-error");
+ }
+ }
+ }
+
+ function toggle() {
+ if (visible) {
+ hide();
+ }
+ else {
+ show();
+ }
+ }
+
+ function show() {
+ var event = $.Event('beforeShow.spectrum');
+
+ if (visible) {
+ reflow();
+ return;
+ }
+
+ boundElement.trigger(event, [ get() ]);
+
+ if (callbacks.beforeShow(get()) === false || event.isDefaultPrevented()) {
+ return;
+ }
+
+ hideAll();
+ visible = true;
+
+ $(doc).on("keydown.spectrum", onkeydown);
+ $(doc).on("click.spectrum", clickout);
+ $(window).on("resize.spectrum", resize);
+ replacer.addClass("sp-active");
+ container.removeClass("sp-hidden");
+
+ reflow();
+ updateUI();
+
+ colorOnShow = get();
+
+ drawInitial();
+ callbacks.show(colorOnShow);
+ boundElement.trigger('show.spectrum', [ colorOnShow ]);
+ }
+
+ function onkeydown(e) {
+ // Close on ESC
+ if (e.keyCode === 27) {
+ hide();
+ }
+ }
+
+ function clickout(e) {
+ // Return on right click.
+ if (e.button == 2) { return; }
+
+ // If a drag event was happening during the mouseup, don't hide
+ // on click.
+ if (isDragging) { return; }
+
+ if (clickoutFiresChange) {
+ updateOriginalInput(true);
+ }
+ else {
+ revert();
+ }
+ hide();
+ }
+
+ function hide() {
+ // Return if hiding is unnecessary
+ if (!visible || flat) { return; }
+ visible = false;
+
+ $(doc).off("keydown.spectrum", onkeydown);
+ $(doc).off("click.spectrum", clickout);
+ $(window).off("resize.spectrum", resize);
+
+ replacer.removeClass("sp-active");
+ container.addClass("sp-hidden");
+
+ callbacks.hide(get());
+ boundElement.trigger('hide.spectrum', [ get() ]);
+ }
+
+ function revert() {
+ set(colorOnShow, true);
+ updateOriginalInput(true);
+ }
+
+ function set(color, ignoreFormatChange) {
+ if (tinycolor.equals(color, get())) {
+ // Update UI just in case a validation error needs
+ // to be cleared.
+ updateUI();
+ return;
+ }
+
+ var newColor, newHsv;
+ if (!color && allowEmpty) {
+ isEmpty = true;
+ } else {
+ isEmpty = false;
+ newColor = tinycolor(color);
+ newHsv = newColor.toHsv();
+
+ currentHue = (newHsv.h % 360) / 360;
+ currentSaturation = newHsv.s;
+ currentValue = newHsv.v;
+ currentAlpha = newHsv.a;
+ }
+ updateUI();
+
+ if (newColor && newColor.isValid() && !ignoreFormatChange) {
+ currentPreferredFormat = opts.preferredFormat || newColor.getFormat();
+ }
+ }
+
+ function get(opts) {
+ opts = opts || { };
+
+ if (allowEmpty && isEmpty) {
+ return null;
+ }
+
+ return tinycolor.fromRatio({
+ h: currentHue,
+ s: currentSaturation,
+ v: currentValue,
+ a: Math.round(currentAlpha * 1000) / 1000
+ }, { format: opts.format || currentPreferredFormat });
+ }
+
+ function isValid() {
+ return !textInput.hasClass("sp-validation-error");
+ }
+
+ function move() {
+ updateUI();
+
+ callbacks.move(get());
+ boundElement.trigger('move.spectrum', [ get() ]);
+ }
+
+ function updateUI() {
+
+ textInput.removeClass("sp-validation-error");
+
+ updateHelperLocations();
+
+ // Update dragger background color (gradients take care of saturation and value).
+ var flatColor = tinycolor.fromRatio({ h: currentHue, s: 1, v: 1 });
+ dragger.css("background-color", flatColor.toHexString());
+
+ // Get a format that alpha will be included in (hex and names ignore alpha)
+ var format = currentPreferredFormat;
+ if (currentAlpha < 1 && !(currentAlpha === 0 && format === "name")) {
+ if (format === "hex" || format === "hex3" || format === "hex6" || format === "name") {
+ format = "rgb";
+ }
+ }
+
+ var realColor = get({ format: format }),
+ displayColor = '';
+
+ //reset background info for preview element
+ previewElement.removeClass("sp-clear-display");
+ previewElement.css('background-color', 'transparent');
+
+ if (!realColor && allowEmpty) {
+ // Update the replaced elements background with icon indicating no color selection
+ previewElement.addClass("sp-clear-display");
+ }
+ else {
+ var realHex = realColor.toHexString(),
+ realRgb = realColor.toRgbString();
+
+ // Update the replaced elements background color (with actual selected color)
+ if (rgbaSupport || realColor.alpha === 1) {
+ previewElement.css("background-color", realRgb);
+ }
+ else {
+ previewElement.css("background-color", "transparent");
+ previewElement.css("filter", realColor.toFilter());
+ }
+
+ if (opts.showAlpha) {
+ var rgb = realColor.toRgb();
+ rgb.a = 0;
+ var realAlpha = tinycolor(rgb).toRgbString();
+ var gradient = "linear-gradient(left, " + realAlpha + ", " + realHex + ")";
+
+ if (IE) {
+ alphaSliderInner.css("filter", tinycolor(realAlpha).toFilter({ gradientType: 1 }, realHex));
+ }
+ else {
+ alphaSliderInner.css("background", "-webkit-" + gradient);
+ alphaSliderInner.css("background", "-moz-" + gradient);
+ alphaSliderInner.css("background", "-ms-" + gradient);
+ // Use current syntax gradient on unprefixed property.
+ alphaSliderInner.css("background",
+ "linear-gradient(to right, " + realAlpha + ", " + realHex + ")");
+ }
+ }
+
+ displayColor = realColor.toString(format);
+ }
+
+ // Update the text entry input as it changes happen
+ if (opts.showInput) {
+ textInput.val(displayColor);
+ }
+
+ if (opts.showPalette) {
+ drawPalette();
+ }
+
+ drawInitial();
+ }
+
+ function updateHelperLocations() {
+ var s = currentSaturation;
+ var v = currentValue;
+
+ if(allowEmpty && isEmpty) {
+ //if selected color is empty, hide the helpers
+ alphaSlideHelper.hide();
+ slideHelper.hide();
+ dragHelper.hide();
+ }
+ else {
+ //make sure helpers are visible
+ alphaSlideHelper.show();
+ slideHelper.show();
+ dragHelper.show();
+
+ // Where to show the little circle in that displays your current selected color
+ var dragX = s * dragWidth;
+ var dragY = dragHeight - (v * dragHeight);
+ dragX = Math.max(
+ -dragHelperHeight,
+ Math.min(dragWidth - dragHelperHeight, dragX - dragHelperHeight)
+ );
+ dragY = Math.max(
+ -dragHelperHeight,
+ Math.min(dragHeight - dragHelperHeight, dragY - dragHelperHeight)
+ );
+ dragHelper.css({
+ "top": dragY + "px",
+ "left": dragX + "px"
+ });
+
+ var alphaX = currentAlpha * alphaWidth;
+ alphaSlideHelper.css({
+ "left": (alphaX - (alphaSlideHelperWidth / 2)) + "px"
+ });
+
+ // Where to show the bar that displays your current selected hue
+ var slideY = (currentHue) * slideHeight;
+ slideHelper.css({
+ "top": (slideY - slideHelperHeight) + "px"
+ });
+ }
+ }
+
+ function updateOriginalInput(fireCallback) {
+ var color = get(),
+ displayColor = '',
+ hasChanged = !tinycolor.equals(color, colorOnShow);
+
+ if (color) {
+ displayColor = color.toString(currentPreferredFormat);
+ // Update the selection palette with the current color
+ addColorToSelectionPalette(color);
+ }
+
+ if (isInput) {
+ boundElement.val(displayColor);
+ }
+
+ if (fireCallback && hasChanged) {
+ callbacks.change(color);
+ boundElement.trigger('change', [ color ]);
+ }
+ }
+
+ function reflow() {
+ if (!visible) {
+ return; // Calculations would be useless and wouldn't be reliable anyways
+ }
+ dragWidth = dragger.width();
+ dragHeight = dragger.height();
+ dragHelperHeight = dragHelper.height();
+ slideWidth = slider.width();
+ slideHeight = slider.height();
+ slideHelperHeight = slideHelper.height();
+ alphaWidth = alphaSlider.width();
+ alphaSlideHelperWidth = alphaSlideHelper.width();
+
+ if (!flat) {
+ container.css("position", "absolute");
+ if (opts.offset) {
+ container.offset(opts.offset);
+ } else {
+ container.offset(getOffset(container, offsetElement));
+ }
+ }
+
+ updateHelperLocations();
+
+ if (opts.showPalette) {
+ drawPalette();
+ }
+
+ boundElement.trigger('reflow.spectrum');
+ }
+
+ function destroy() {
+ boundElement.show();
+ offsetElement.off("click.spectrum touchstart.spectrum");
+ container.remove();
+ replacer.remove();
+ spectrums[spect.id] = null;
+ }
+
+ function option(optionName, optionValue) {
+ if (optionName === undefined) {
+ return $.extend({}, opts);
+ }
+ if (optionValue === undefined) {
+ return opts[optionName];
+ }
+
+ opts[optionName] = optionValue;
+
+ if (optionName === "preferredFormat") {
+ currentPreferredFormat = opts.preferredFormat;
+ }
+ applyOptions();
+ }
+
+ function enable() {
+ disabled = false;
+ boundElement.attr("disabled", false);
+ offsetElement.removeClass("sp-disabled");
+ }
+
+ function disable() {
+ hide();
+ disabled = true;
+ boundElement.attr("disabled", true);
+ offsetElement.addClass("sp-disabled");
+ }
+
+ function setOffset(coord) {
+ opts.offset = coord;
+ reflow();
+ }
+
+ initialize();
+
+ var spect = {
+ show: show,
+ hide: hide,
+ toggle: toggle,
+ reflow: reflow,
+ option: option,
+ enable: enable,
+ disable: disable,
+ offset: setOffset,
+ set: function (c) {
+ set(c);
+ updateOriginalInput();
+ },
+ get: get,
+ destroy: destroy,
+ container: container
+ };
+
+ spect.id = spectrums.push(spect) - 1;
+
+ return spect;
+ }
+
+ /**
+ * checkOffset - get the offset below/above and left/right element depending on screen position
+ * Thanks https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.datepicker.js
+ */
+ function getOffset(picker, input) {
+ var extraY = 0;
+ var dpWidth = picker.outerWidth();
+ var dpHeight = picker.outerHeight();
+ var inputHeight = input.outerHeight();
+ var doc = picker[0].ownerDocument;
+ var docElem = doc.documentElement;
+ var viewWidth = docElem.clientWidth + $(doc).scrollLeft();
+ var viewHeight = docElem.clientHeight + $(doc).scrollTop();
+ var offset = input.offset();
+ var offsetLeft = offset.left;
+ var offsetTop = offset.top;
+
+ offsetTop += inputHeight;
+
+ offsetLeft -=
+ Math.min(offsetLeft, (offsetLeft + dpWidth > viewWidth && viewWidth > dpWidth) ?
+ Math.abs(offsetLeft + dpWidth - viewWidth) : 0);
+
+ offsetTop -=
+ Math.min(offsetTop, ((offsetTop + dpHeight > viewHeight && viewHeight > dpHeight) ?
+ Math.abs(dpHeight + inputHeight - extraY) : extraY));
+
+ return {
+ top: offsetTop,
+ bottom: offset.bottom,
+ left: offsetLeft,
+ right: offset.right,
+ width: offset.width,
+ height: offset.height
+ };
+ }
+
+ /**
+ * noop - do nothing
+ */
+ function noop() {
+
+ }
+
+ /**
+ * stopPropagation - makes the code only doing this a little easier to read in line
+ */
+ function stopPropagation(e) {
+ e.stopPropagation();
+ }
+
+ /**
+ * Create a function bound to a given object
+ * Thanks to underscore.js
+ */
+ function bind(func, obj) {
+ var slice = Array.prototype.slice;
+ var args = slice.call(arguments, 2);
+ return function () {
+ return func.apply(obj, args.concat(slice.call(arguments)));
+ };
+ }
+
+ /**
+ * Lightweight drag helper. Handles containment within the element, so that
+ * when dragging, the x is within [0,element.width] and y is within [0,element.height]
+ */
+ function draggable(element, onmove, onstart, onstop) {
+ onmove = onmove || function () { };
+ onstart = onstart || function () { };
+ onstop = onstop || function () { };
+ var doc = document;
+ var dragging = false;
+ var offset = {};
+ var maxHeight = 0;
+ var maxWidth = 0;
+ var hasTouch = ('ontouchstart' in window);
+
+ var duringDragEvents = {};
+ duringDragEvents["selectstart"] = prevent;
+ duringDragEvents["dragstart"] = prevent;
+ duringDragEvents["touchmove mousemove"] = move;
+ duringDragEvents["touchend mouseup"] = stop;
+
+ function prevent(e) {
+ if (e.stopPropagation) {
+ e.stopPropagation();
+ }
+ if (e.preventDefault) {
+ e.preventDefault();
+ }
+ e.returnValue = false;
+ }
+
+ function move(e) {
+ if (dragging) {
+ // Mouseup happened outside of window
+ if (IE && doc.documentMode < 9 && !e.button) {
+ return stop();
+ }
+
+ var t0 = e.originalEvent && e.originalEvent.touches && e.originalEvent.touches[0];
+ var pageX = t0 && t0.pageX || e.pageX;
+ var pageY = t0 && t0.pageY || e.pageY;
+
+ var dragX = Math.max(0, Math.min(pageX - offset.left, maxWidth));
+ var dragY = Math.max(0, Math.min(pageY - offset.top, maxHeight));
+
+ if (hasTouch) {
+ // Stop scrolling in iOS
+ prevent(e);
+ }
+
+ onmove.apply(element, [dragX, dragY, e]);
+ }
+ }
+
+ function start(e) {
+ var rightclick = (e.which) ? (e.which == 3) : (e.button == 2);
+
+ if (!rightclick && !dragging) {
+ if (onstart.apply(element, arguments) !== false) {
+ dragging = true;
+ maxHeight = $(element).height();
+ maxWidth = $(element).width();
+ offset = $(element).offset();
+
+ $(doc).on(duringDragEvents);
+ $(doc.body).addClass("sp-dragging");
+
+ move(e);
+
+ prevent(e);
+ }
+ }
+ }
+
+ function stop() {
+ if (dragging) {
+ $(doc).off(duringDragEvents);
+ $(doc.body).removeClass("sp-dragging");
+
+ // Wait a tick before notifying observers to allow the click event
+ // to fire in Chrome.
+ setTimeout(function() {
+ onstop.apply(element, arguments);
+ }, 0);
+ }
+ dragging = false;
+ }
+
+ $(element).on("touchstart mousedown", start);
+ }
+
+ function throttle(func, wait, debounce) {
+ var timeout;
+ return function () {
+ var context = this, args = arguments;
+ var throttler = function () {
+ timeout = null;
+ func.apply(context, args);
+ };
+ if (debounce) clearTimeout(timeout);
+ if (debounce || !timeout) timeout = setTimeout(throttler, wait);
+ };
+ }
+
+ function inputTypeColorSupport() {
+ return $.fn.spectrum.inputTypeColorSupport();
+ }
+
+ /**
+ * Define a jQuery plugin
+ */
+ var dataID = "spectrum.id";
+ $.fn.spectrum = function (opts, extra) {
+
+ if (typeof opts == "string") {
+
+ var returnValue = this;
+ var args = Array.prototype.slice.call( arguments, 1 );
+
+ this.each(function () {
+ var spect = spectrums[$(this).data(dataID)];
+ if (spect) {
+ var method = spect[opts];
+ if (!method) {
+ throw new Error( "Spectrum: no such method: '" + opts + "'" );
+ }
+
+ if (opts == "get") {
+ returnValue = spect.get();
+ }
+ else if (opts == "container") {
+ returnValue = spect.container;
+ }
+ else if (opts == "option") {
+ returnValue = spect.option.apply(spect, args);
+ }
+ else if (opts == "destroy") {
+ spect.destroy();
+ $(this).removeData(dataID);
+ }
+ else {
+ method.apply(spect, args);
+ }
+ }
+ });
+
+ return returnValue;
+ }
+
+ // Initializing a new instance of spectrum
+ return this.spectrum("destroy").each(function () {
+ var options = $.extend({}, $(this).data(), opts);
+ var spect = spectrum(this, options);
+ $(this).data(dataID, spect.id);
+ });
+ };
+
+ $.fn.spectrum.load = true;
+ $.fn.spectrum.loadOpts = {};
+ $.fn.spectrum.draggable = draggable;
+ $.fn.spectrum.defaults = defaultOpts;
+ $.fn.spectrum.inputTypeColorSupport = function inputTypeColorSupport() {
+ if (typeof inputTypeColorSupport._cachedResult === "undefined") {
+ var colorInput = $(" ")[0]; // if color element is supported, value will default to not null
+ inputTypeColorSupport._cachedResult = colorInput.type === "color" && colorInput.value !== "";
+ }
+ return inputTypeColorSupport._cachedResult;
+ };
+
+ $.spectrum = { };
+ $.spectrum.localization = { };
+ $.spectrum.palettes = { };
+
+ $.fn.spectrum.processNativeColorInputs = function () {
+ var colorInputs = $("input[type=color]");
+ if (colorInputs.length && !inputTypeColorSupport()) {
+ colorInputs.spectrum({
+ preferredFormat: "hex6"
+ });
+ }
+ };
+
+ // TinyColor v1.1.2
+ // https://github.com/bgrins/TinyColor
+ // Brian Grinstead, MIT License
+
+ (function() {
+
+ var trimLeft = /^[\s,#]+/,
+ trimRight = /\s+$/,
+ tinyCounter = 0,
+ math = Math,
+ mathRound = math.round,
+ mathMin = math.min,
+ mathMax = math.max,
+ mathRandom = math.random;
+
+ var tinycolor = function(color, opts) {
+
+ color = (color) ? color : '';
+ opts = opts || { };
+
+ // If input is already a tinycolor, return itself
+ if (color instanceof tinycolor) {
+ return color;
+ }
+ // If we are called as a function, call using new instead
+ if (!(this instanceof tinycolor)) {
+ return new tinycolor(color, opts);
+ }
+
+ var rgb = inputToRGB(color);
+ this._originalInput = color;
+ this._r = rgb.r;
+ this._g = rgb.g;
+ this._b = rgb.b;
+ this._a = rgb.a;
+ this._roundA = mathRound(1000 * this._a) / 1000;
+ this._format = opts.format || rgb.format;
+ this._gradientType = opts.gradientType;
+
+ // Don't let the range of [0,255] come back in [0,1].
+ // Potentially lose a little bit of precision here, but will fix issues where
+ // .5 gets interpreted as half of the total, instead of half of 1
+ // If it was supposed to be 128, this was already taken care of by `inputToRgb`
+ if (this._r < 1) { this._r = mathRound(this._r); }
+ if (this._g < 1) { this._g = mathRound(this._g); }
+ if (this._b < 1) { this._b = mathRound(this._b); }
+
+ this._ok = rgb.ok;
+ this._tc_id = tinyCounter++;
+ };
+
+ tinycolor.prototype = {
+ isDark: function() {
+ return this.getBrightness() < 128;
+ },
+ isLight: function() {
+ return !this.isDark();
+ },
+ isValid: function() {
+ return this._ok;
+ },
+ getOriginalInput: function() {
+ return this._originalInput;
+ },
+ getFormat: function() {
+ return this._format;
+ },
+ getAlpha: function() {
+ return this._a;
+ },
+ getBrightness: function() {
+ var rgb = this.toRgb();
+ return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;
+ },
+ setAlpha: function(value) {
+ this._a = boundAlpha(value);
+ this._roundA = mathRound(1000 * this._a) / 1000;
+ return this;
+ },
+ toHsv: function() {
+ var hsv = rgbToHsv(this._r, this._g, this._b);
+ return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a };
+ },
+ toHsvString: function() {
+ var hsv = rgbToHsv(this._r, this._g, this._b);
+ var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100);
+ return (this._a == 1) ?
+ "hsv(" + h + ", " + s + "%, " + v + "%)" :
+ "hsva(" + h + ", " + s + "%, " + v + "%, "+ this._roundA + ")";
+ },
+ toHsl: function() {
+ var hsl = rgbToHsl(this._r, this._g, this._b);
+ return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a };
+ },
+ toHslString: function() {
+ var hsl = rgbToHsl(this._r, this._g, this._b);
+ var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100);
+ return (this._a == 1) ?
+ "hsl(" + h + ", " + s + "%, " + l + "%)" :
+ "hsla(" + h + ", " + s + "%, " + l + "%, "+ this._roundA + ")";
+ },
+ toHex: function(allow3Char) {
+ return rgbToHex(this._r, this._g, this._b, allow3Char);
+ },
+ toHexString: function(allow3Char) {
+ return '#' + this.toHex(allow3Char);
+ },
+ toHex8: function() {
+ return rgbaToHex(this._r, this._g, this._b, this._a);
+ },
+ toHex8String: function() {
+ return '#' + this.toHex8();
+ },
+ toRgb: function() {
+ return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a };
+ },
+ toRgbString: function() {
+ return (this._a == 1) ?
+ "rgb(" + mathRound(this._r) + ", " + mathRound(this._g) + ", " + mathRound(this._b) + ")" :
+ "rgba(" + mathRound(this._r) + ", " + mathRound(this._g) + ", " + mathRound(this._b) + ", " + this._roundA + ")";
+ },
+ toPercentageRgb: function() {
+ return { r: mathRound(bound01(this._r, 255) * 100) + "%", g: mathRound(bound01(this._g, 255) * 100) + "%", b: mathRound(bound01(this._b, 255) * 100) + "%", a: this._a };
+ },
+ toPercentageRgbString: function() {
+ return (this._a == 1) ?
+ "rgb(" + mathRound(bound01(this._r, 255) * 100) + "%, " + mathRound(bound01(this._g, 255) * 100) + "%, " + mathRound(bound01(this._b, 255) * 100) + "%)" :
+ "rgba(" + mathRound(bound01(this._r, 255) * 100) + "%, " + mathRound(bound01(this._g, 255) * 100) + "%, " + mathRound(bound01(this._b, 255) * 100) + "%, " + this._roundA + ")";
+ },
+ toName: function() {
+ if (this._a === 0) {
+ return "transparent";
+ }
+
+ if (this._a < 1) {
+ return false;
+ }
+
+ return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;
+ },
+ toFilter: function(secondColor) {
+ var hex8String = '#' + rgbaToHex(this._r, this._g, this._b, this._a);
+ var secondHex8String = hex8String;
+ var gradientType = this._gradientType ? "GradientType = 1, " : "";
+
+ if (secondColor) {
+ var s = tinycolor(secondColor);
+ secondHex8String = s.toHex8String();
+ }
+
+ return "progid:DXImageTransform.Microsoft.gradient("+gradientType+"startColorstr="+hex8String+",endColorstr="+secondHex8String+")";
+ },
+ toString: function(format) {
+ var formatSet = !!format;
+ format = format || this._format;
+
+ var formattedString = false;
+ var hasAlpha = this._a < 1 && this._a >= 0;
+ var needsAlphaFormat = !formatSet && hasAlpha && (format === "hex" || format === "hex6" || format === "hex3" || format === "name");
+
+ if (needsAlphaFormat) {
+ // Special case for "transparent", all other non-alpha formats
+ // will return rgba when there is transparency.
+ if (format === "name" && this._a === 0) {
+ return this.toName();
+ }
+ return this.toRgbString();
+ }
+ if (format === "rgb") {
+ formattedString = this.toRgbString();
+ }
+ if (format === "prgb") {
+ formattedString = this.toPercentageRgbString();
+ }
+ if (format === "hex" || format === "hex6") {
+ formattedString = this.toHexString();
+ }
+ if (format === "hex3") {
+ formattedString = this.toHexString(true);
+ }
+ if (format === "hex8") {
+ formattedString = this.toHex8String();
+ }
+ if (format === "name") {
+ formattedString = this.toName();
+ }
+ if (format === "hsl") {
+ formattedString = this.toHslString();
+ }
+ if (format === "hsv") {
+ formattedString = this.toHsvString();
+ }
+
+ return formattedString || this.toHexString();
+ },
+
+ _applyModification: function(fn, args) {
+ var color = fn.apply(null, [this].concat([].slice.call(args)));
+ this._r = color._r;
+ this._g = color._g;
+ this._b = color._b;
+ this.setAlpha(color._a);
+ return this;
+ },
+ lighten: function() {
+ return this._applyModification(lighten, arguments);
+ },
+ brighten: function() {
+ return this._applyModification(brighten, arguments);
+ },
+ darken: function() {
+ return this._applyModification(darken, arguments);
+ },
+ desaturate: function() {
+ return this._applyModification(desaturate, arguments);
+ },
+ saturate: function() {
+ return this._applyModification(saturate, arguments);
+ },
+ greyscale: function() {
+ return this._applyModification(greyscale, arguments);
+ },
+ spin: function() {
+ return this._applyModification(spin, arguments);
+ },
+
+ _applyCombination: function(fn, args) {
+ return fn.apply(null, [this].concat([].slice.call(args)));
+ },
+ analogous: function() {
+ return this._applyCombination(analogous, arguments);
+ },
+ complement: function() {
+ return this._applyCombination(complement, arguments);
+ },
+ monochromatic: function() {
+ return this._applyCombination(monochromatic, arguments);
+ },
+ splitcomplement: function() {
+ return this._applyCombination(splitcomplement, arguments);
+ },
+ triad: function() {
+ return this._applyCombination(triad, arguments);
+ },
+ tetrad: function() {
+ return this._applyCombination(tetrad, arguments);
+ }
+ };
+
+ // If input is an object, force 1 into "1.0" to handle ratios properly
+ // String input requires "1.0" as input, so 1 will be treated as 1
+ tinycolor.fromRatio = function(color, opts) {
+ if (typeof color == "object") {
+ var newColor = {};
+ for (var i in color) {
+ if (color.hasOwnProperty(i)) {
+ if (i === "a") {
+ newColor[i] = color[i];
+ }
+ else {
+ newColor[i] = convertToPercentage(color[i]);
+ }
+ }
+ }
+ color = newColor;
+ }
+
+ return tinycolor(color, opts);
+ };
+
+ // Given a string or object, convert that input to RGB
+ // Possible string inputs:
+ //
+ // "red"
+ // "#f00" or "f00"
+ // "#ff0000" or "ff0000"
+ // "#ff000000" or "ff000000"
+ // "rgb 255 0 0" or "rgb (255, 0, 0)"
+ // "rgb 1.0 0 0" or "rgb (1, 0, 0)"
+ // "rgba (255, 0, 0, 1)" or "rgba 255, 0, 0, 1"
+ // "rgba (1.0, 0, 0, 1)" or "rgba 1.0, 0, 0, 1"
+ // "hsl(0, 100%, 50%)" or "hsl 0 100% 50%"
+ // "hsla(0, 100%, 50%, 1)" or "hsla 0 100% 50%, 1"
+ // "hsv(0, 100%, 100%)" or "hsv 0 100% 100%"
+ //
+ function inputToRGB(color) {
+
+ var rgb = { r: 0, g: 0, b: 0 };
+ var a = 1;
+ var ok = false;
+ var format = false;
+
+ if (typeof color == "string") {
+ color = stringInputToObject(color);
+ }
+
+ if (typeof color == "object") {
+ if (color.hasOwnProperty("r") && color.hasOwnProperty("g") && color.hasOwnProperty("b")) {
+ rgb = rgbToRgb(color.r, color.g, color.b);
+ ok = true;
+ format = String(color.r).substr(-1) === "%" ? "prgb" : "rgb";
+ }
+ else if (color.hasOwnProperty("h") && color.hasOwnProperty("s") && color.hasOwnProperty("v")) {
+ color.s = convertToPercentage(color.s);
+ color.v = convertToPercentage(color.v);
+ rgb = hsvToRgb(color.h, color.s, color.v);
+ ok = true;
+ format = "hsv";
+ }
+ else if (color.hasOwnProperty("h") && color.hasOwnProperty("s") && color.hasOwnProperty("l")) {
+ color.s = convertToPercentage(color.s);
+ color.l = convertToPercentage(color.l);
+ rgb = hslToRgb(color.h, color.s, color.l);
+ ok = true;
+ format = "hsl";
+ }
+
+ if (color.hasOwnProperty("a")) {
+ a = color.a;
+ }
+ }
+
+ a = boundAlpha(a);
+
+ return {
+ ok: ok,
+ format: color.format || format,
+ r: mathMin(255, mathMax(rgb.r, 0)),
+ g: mathMin(255, mathMax(rgb.g, 0)),
+ b: mathMin(255, mathMax(rgb.b, 0)),
+ a: a
+ };
+ }
+
+
+ // Conversion Functions
+ // --------------------
+
+ // `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:
+ //
+
+ // `rgbToRgb`
+ // Handle bounds / percentage checking to conform to CSS color spec
+ //
+ // *Assumes:* r, g, b in [0, 255] or [0, 1]
+ // *Returns:* { r, g, b } in [0, 255]
+ function rgbToRgb(r, g, b){
+ return {
+ r: bound01(r, 255) * 255,
+ g: bound01(g, 255) * 255,
+ b: bound01(b, 255) * 255
+ };
+ }
+
+ // `rgbToHsl`
+ // Converts an RGB color value to HSL.
+ // *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]
+ // *Returns:* { h, s, l } in [0,1]
+ function rgbToHsl(r, g, b) {
+
+ r = bound01(r, 255);
+ g = bound01(g, 255);
+ b = bound01(b, 255);
+
+ var max = mathMax(r, g, b), min = mathMin(r, g, b);
+ var h, s, l = (max + min) / 2;
+
+ if(max == min) {
+ h = s = 0; // achromatic
+ }
+ else {
+ var d = max - min;
+ s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
+ switch(max) {
+ case r: h = (g - b) / d + (g < b ? 6 : 0); break;
+ case g: h = (b - r) / d + 2; break;
+ case b: h = (r - g) / d + 4; break;
+ }
+
+ h /= 6;
+ }
+
+ return { h: h, s: s, l: l };
+ }
+
+ // `hslToRgb`
+ // Converts an HSL color value to RGB.
+ // *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]
+ // *Returns:* { r, g, b } in the set [0, 255]
+ function hslToRgb(h, s, l) {
+ var r, g, b;
+
+ h = bound01(h, 360);
+ s = bound01(s, 100);
+ l = bound01(l, 100);
+
+ function hue2rgb(p, q, t) {
+ if(t < 0) t += 1;
+ if(t > 1) t -= 1;
+ if(t < 1/6) return p + (q - p) * 6 * t;
+ if(t < 1/2) return q;
+ if(t < 2/3) return p + (q - p) * (2/3 - t) * 6;
+ return p;
+ }
+
+ if(s === 0) {
+ r = g = b = l; // achromatic
+ }
+ else {
+ var q = l < 0.5 ? l * (1 + s) : l + s - l * s;
+ var p = 2 * l - q;
+ r = hue2rgb(p, q, h + 1/3);
+ g = hue2rgb(p, q, h);
+ b = hue2rgb(p, q, h - 1/3);
+ }
+
+ return { r: r * 255, g: g * 255, b: b * 255 };
+ }
+
+ // `rgbToHsv`
+ // Converts an RGB color value to HSV
+ // *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]
+ // *Returns:* { h, s, v } in [0,1]
+ function rgbToHsv(r, g, b) {
+
+ r = bound01(r, 255);
+ g = bound01(g, 255);
+ b = bound01(b, 255);
+
+ var max = mathMax(r, g, b), min = mathMin(r, g, b);
+ var h, s, v = max;
+
+ var d = max - min;
+ s = max === 0 ? 0 : d / max;
+
+ if(max == min) {
+ h = 0; // achromatic
+ }
+ else {
+ switch(max) {
+ case r: h = (g - b) / d + (g < b ? 6 : 0); break;
+ case g: h = (b - r) / d + 2; break;
+ case b: h = (r - g) / d + 4; break;
+ }
+ h /= 6;
+ }
+ return { h: h, s: s, v: v };
+ }
+
+ // `hsvToRgb`
+ // Converts an HSV color value to RGB.
+ // *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]
+ // *Returns:* { r, g, b } in the set [0, 255]
+ function hsvToRgb(h, s, v) {
+
+ h = bound01(h, 360) * 6;
+ s = bound01(s, 100);
+ v = bound01(v, 100);
+
+ var i = math.floor(h),
+ f = h - i,
+ p = v * (1 - s),
+ q = v * (1 - f * s),
+ t = v * (1 - (1 - f) * s),
+ mod = i % 6,
+ r = [v, q, p, p, t, v][mod],
+ g = [t, v, v, q, p, p][mod],
+ b = [p, p, t, v, v, q][mod];
+
+ return { r: r * 255, g: g * 255, b: b * 255 };
+ }
+
+ // `rgbToHex`
+ // Converts an RGB color to hex
+ // Assumes r, g, and b are contained in the set [0, 255]
+ // Returns a 3 or 6 character hex
+ function rgbToHex(r, g, b, allow3Char) {
+
+ var hex = [
+ pad2(mathRound(r).toString(16)),
+ pad2(mathRound(g).toString(16)),
+ pad2(mathRound(b).toString(16))
+ ];
+
+ // Return a 3 character hex if possible
+ if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {
+ return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);
+ }
+
+ return hex.join("");
+ }
+ // `rgbaToHex`
+ // Converts an RGBA color plus alpha transparency to hex
+ // Assumes r, g, b and a are contained in the set [0, 255]
+ // Returns an 8 character hex
+ function rgbaToHex(r, g, b, a) {
+
+ var hex = [
+ pad2(convertDecimalToHex(a)),
+ pad2(mathRound(r).toString(16)),
+ pad2(mathRound(g).toString(16)),
+ pad2(mathRound(b).toString(16))
+ ];
+
+ return hex.join("");
+ }
+
+ // `equals`
+ // Can be called with any tinycolor input
+ tinycolor.equals = function (color1, color2) {
+ if (!color1 || !color2) { return false; }
+ return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();
+ };
+ tinycolor.random = function() {
+ return tinycolor.fromRatio({
+ r: mathRandom(),
+ g: mathRandom(),
+ b: mathRandom()
+ });
+ };
+
+
+ // Modification Functions
+ // ----------------------
+ // Thanks to less.js for some of the basics here
+ //
+
+ function desaturate(color, amount) {
+ amount = (amount === 0) ? 0 : (amount || 10);
+ var hsl = tinycolor(color).toHsl();
+ hsl.s -= amount / 100;
+ hsl.s = clamp01(hsl.s);
+ return tinycolor(hsl);
+ }
+
+ function saturate(color, amount) {
+ amount = (amount === 0) ? 0 : (amount || 10);
+ var hsl = tinycolor(color).toHsl();
+ hsl.s += amount / 100;
+ hsl.s = clamp01(hsl.s);
+ return tinycolor(hsl);
+ }
+
+ function greyscale(color) {
+ return tinycolor(color).desaturate(100);
+ }
+
+ function lighten (color, amount) {
+ amount = (amount === 0) ? 0 : (amount || 10);
+ var hsl = tinycolor(color).toHsl();
+ hsl.l += amount / 100;
+ hsl.l = clamp01(hsl.l);
+ return tinycolor(hsl);
+ }
+
+ function brighten(color, amount) {
+ amount = (amount === 0) ? 0 : (amount || 10);
+ var rgb = tinycolor(color).toRgb();
+ rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100))));
+ rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100))));
+ rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100))));
+ return tinycolor(rgb);
+ }
+
+ function darken (color, amount) {
+ amount = (amount === 0) ? 0 : (amount || 10);
+ var hsl = tinycolor(color).toHsl();
+ hsl.l -= amount / 100;
+ hsl.l = clamp01(hsl.l);
+ return tinycolor(hsl);
+ }
+
+ // Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.
+ // Values outside of this range will be wrapped into this range.
+ function spin(color, amount) {
+ var hsl = tinycolor(color).toHsl();
+ var hue = (mathRound(hsl.h) + amount) % 360;
+ hsl.h = hue < 0 ? 360 + hue : hue;
+ return tinycolor(hsl);
+ }
+
+ // Combination Functions
+ // ---------------------
+ // Thanks to jQuery xColor for some of the ideas behind these
+ //
+
+ function complement(color) {
+ var hsl = tinycolor(color).toHsl();
+ hsl.h = (hsl.h + 180) % 360;
+ return tinycolor(hsl);
+ }
+
+ function triad(color) {
+ var hsl = tinycolor(color).toHsl();
+ var h = hsl.h;
+ return [
+ tinycolor(color),
+ tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }),
+ tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l })
+ ];
+ }
+
+ function tetrad(color) {
+ var hsl = tinycolor(color).toHsl();
+ var h = hsl.h;
+ return [
+ tinycolor(color),
+ tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }),
+ tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }),
+ tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l })
+ ];
+ }
+
+ function splitcomplement(color) {
+ var hsl = tinycolor(color).toHsl();
+ var h = hsl.h;
+ return [
+ tinycolor(color),
+ tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}),
+ tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l})
+ ];
+ }
+
+ function analogous(color, results, slices) {
+ results = results || 6;
+ slices = slices || 30;
+
+ var hsl = tinycolor(color).toHsl();
+ var part = 360 / slices;
+ var ret = [tinycolor(color)];
+
+ for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) {
+ hsl.h = (hsl.h + part) % 360;
+ ret.push(tinycolor(hsl));
+ }
+ return ret;
+ }
+
+ function monochromatic(color, results) {
+ results = results || 6;
+ var hsv = tinycolor(color).toHsv();
+ var h = hsv.h, s = hsv.s, v = hsv.v;
+ var ret = [];
+ var modification = 1 / results;
+
+ while (results--) {
+ ret.push(tinycolor({ h: h, s: s, v: v}));
+ v = (v + modification) % 1;
+ }
+
+ return ret;
+ }
+
+ // Utility Functions
+ // ---------------------
+
+ tinycolor.mix = function(color1, color2, amount) {
+ amount = (amount === 0) ? 0 : (amount || 50);
+
+ var rgb1 = tinycolor(color1).toRgb();
+ var rgb2 = tinycolor(color2).toRgb();
+
+ var p = amount / 100;
+ var w = p * 2 - 1;
+ var a = rgb2.a - rgb1.a;
+
+ var w1;
+
+ if (w * a == -1) {
+ w1 = w;
+ } else {
+ w1 = (w + a) / (1 + w * a);
+ }
+
+ w1 = (w1 + 1) / 2;
+
+ var w2 = 1 - w1;
+
+ var rgba = {
+ r: rgb2.r * w1 + rgb1.r * w2,
+ g: rgb2.g * w1 + rgb1.g * w2,
+ b: rgb2.b * w1 + rgb1.b * w2,
+ a: rgb2.a * p + rgb1.a * (1 - p)
+ };
+
+ return tinycolor(rgba);
+ };
+
+
+ // Readability Functions
+ // ---------------------
+ //
+
+ // `readability`
+ // Analyze the 2 colors and returns an object with the following properties:
+ // `brightness`: difference in brightness between the two colors
+ // `color`: difference in color/hue between the two colors
+ tinycolor.readability = function(color1, color2) {
+ var c1 = tinycolor(color1);
+ var c2 = tinycolor(color2);
+ var rgb1 = c1.toRgb();
+ var rgb2 = c2.toRgb();
+ var brightnessA = c1.getBrightness();
+ var brightnessB = c2.getBrightness();
+ var colorDiff = (
+ Math.max(rgb1.r, rgb2.r) - Math.min(rgb1.r, rgb2.r) +
+ Math.max(rgb1.g, rgb2.g) - Math.min(rgb1.g, rgb2.g) +
+ Math.max(rgb1.b, rgb2.b) - Math.min(rgb1.b, rgb2.b)
+ );
+
+ return {
+ brightness: Math.abs(brightnessA - brightnessB),
+ color: colorDiff
+ };
+ };
+
+ // `readable`
+ // http://www.w3.org/TR/AERT#color-contrast
+ // Ensure that foreground and background color combinations provide sufficient contrast.
+ // *Example*
+ // tinycolor.isReadable("#000", "#111") => false
+ tinycolor.isReadable = function(color1, color2) {
+ var readability = tinycolor.readability(color1, color2);
+ return readability.brightness > 125 && readability.color > 500;
+ };
+
+ // `mostReadable`
+ // Given a base color and a list of possible foreground or background
+ // colors for that base, returns the most readable color.
+ // *Example*
+ // tinycolor.mostReadable("#123", ["#fff", "#000"]) => "#000"
+ tinycolor.mostReadable = function(baseColor, colorList) {
+ var bestColor = null;
+ var bestScore = 0;
+ var bestIsReadable = false;
+ for (var i=0; i < colorList.length; i++) {
+
+ // We normalize both around the "acceptable" breaking point,
+ // but rank brightness constrast higher than hue.
+
+ var readability = tinycolor.readability(baseColor, colorList[i]);
+ var readable = readability.brightness > 125 && readability.color > 500;
+ var score = 3 * (readability.brightness / 125) + (readability.color / 500);
+
+ if ((readable && ! bestIsReadable) ||
+ (readable && bestIsReadable && score > bestScore) ||
+ ((! readable) && (! bestIsReadable) && score > bestScore)) {
+ bestIsReadable = readable;
+ bestScore = score;
+ bestColor = tinycolor(colorList[i]);
+ }
+ }
+ return bestColor;
+ };
+
+
+ // Big List of Colors
+ // ------------------
+ //
+ var names = tinycolor.names = {
+ aliceblue: "f0f8ff",
+ antiquewhite: "faebd7",
+ aqua: "0ff",
+ aquamarine: "7fffd4",
+ azure: "f0ffff",
+ beige: "f5f5dc",
+ bisque: "ffe4c4",
+ black: "000",
+ blanchedalmond: "ffebcd",
+ blue: "00f",
+ blueviolet: "8a2be2",
+ brown: "a52a2a",
+ burlywood: "deb887",
+ burntsienna: "ea7e5d",
+ cadetblue: "5f9ea0",
+ chartreuse: "7fff00",
+ chocolate: "d2691e",
+ coral: "ff7f50",
+ cornflowerblue: "6495ed",
+ cornsilk: "fff8dc",
+ crimson: "dc143c",
+ cyan: "0ff",
+ darkblue: "00008b",
+ darkcyan: "008b8b",
+ darkgoldenrod: "b8860b",
+ darkgray: "a9a9a9",
+ darkgreen: "006400",
+ darkgrey: "a9a9a9",
+ darkkhaki: "bdb76b",
+ darkmagenta: "8b008b",
+ darkolivegreen: "556b2f",
+ darkorange: "ff8c00",
+ darkorchid: "9932cc",
+ darkred: "8b0000",
+ darksalmon: "e9967a",
+ darkseagreen: "8fbc8f",
+ darkslateblue: "483d8b",
+ darkslategray: "2f4f4f",
+ darkslategrey: "2f4f4f",
+ darkturquoise: "00ced1",
+ darkviolet: "9400d3",
+ deeppink: "ff1493",
+ deepskyblue: "00bfff",
+ dimgray: "696969",
+ dimgrey: "696969",
+ dodgerblue: "1e90ff",
+ firebrick: "b22222",
+ floralwhite: "fffaf0",
+ forestgreen: "228b22",
+ fuchsia: "f0f",
+ gainsboro: "dcdcdc",
+ ghostwhite: "f8f8ff",
+ gold: "ffd700",
+ goldenrod: "daa520",
+ gray: "808080",
+ green: "008000",
+ greenyellow: "adff2f",
+ grey: "808080",
+ honeydew: "f0fff0",
+ hotpink: "ff69b4",
+ indianred: "cd5c5c",
+ indigo: "4b0082",
+ ivory: "fffff0",
+ khaki: "f0e68c",
+ lavender: "e6e6fa",
+ lavenderblush: "fff0f5",
+ lawngreen: "7cfc00",
+ lemonchiffon: "fffacd",
+ lightblue: "add8e6",
+ lightcoral: "f08080",
+ lightcyan: "e0ffff",
+ lightgoldenrodyellow: "fafad2",
+ lightgray: "d3d3d3",
+ lightgreen: "90ee90",
+ lightgrey: "d3d3d3",
+ lightpink: "ffb6c1",
+ lightsalmon: "ffa07a",
+ lightseagreen: "20b2aa",
+ lightskyblue: "87cefa",
+ lightslategray: "789",
+ lightslategrey: "789",
+ lightsteelblue: "b0c4de",
+ lightyellow: "ffffe0",
+ lime: "0f0",
+ limegreen: "32cd32",
+ linen: "faf0e6",
+ magenta: "f0f",
+ maroon: "800000",
+ mediumaquamarine: "66cdaa",
+ mediumblue: "0000cd",
+ mediumorchid: "ba55d3",
+ mediumpurple: "9370db",
+ mediumseagreen: "3cb371",
+ mediumslateblue: "7b68ee",
+ mediumspringgreen: "00fa9a",
+ mediumturquoise: "48d1cc",
+ mediumvioletred: "c71585",
+ midnightblue: "191970",
+ mintcream: "f5fffa",
+ mistyrose: "ffe4e1",
+ moccasin: "ffe4b5",
+ navajowhite: "ffdead",
+ navy: "000080",
+ oldlace: "fdf5e6",
+ olive: "808000",
+ olivedrab: "6b8e23",
+ orange: "ffa500",
+ orangered: "ff4500",
+ orchid: "da70d6",
+ palegoldenrod: "eee8aa",
+ palegreen: "98fb98",
+ paleturquoise: "afeeee",
+ palevioletred: "db7093",
+ papayawhip: "ffefd5",
+ peachpuff: "ffdab9",
+ peru: "cd853f",
+ pink: "ffc0cb",
+ plum: "dda0dd",
+ powderblue: "b0e0e6",
+ purple: "800080",
+ rebeccapurple: "663399",
+ red: "f00",
+ rosybrown: "bc8f8f",
+ royalblue: "4169e1",
+ saddlebrown: "8b4513",
+ salmon: "fa8072",
+ sandybrown: "f4a460",
+ seagreen: "2e8b57",
+ seashell: "fff5ee",
+ sienna: "a0522d",
+ silver: "c0c0c0",
+ skyblue: "87ceeb",
+ slateblue: "6a5acd",
+ slategray: "708090",
+ slategrey: "708090",
+ snow: "fffafa",
+ springgreen: "00ff7f",
+ steelblue: "4682b4",
+ tan: "d2b48c",
+ teal: "008080",
+ thistle: "d8bfd8",
+ tomato: "ff6347",
+ turquoise: "40e0d0",
+ violet: "ee82ee",
+ wheat: "f5deb3",
+ white: "fff",
+ whitesmoke: "f5f5f5",
+ yellow: "ff0",
+ yellowgreen: "9acd32"
+ };
+
+ // Make it easy to access colors via `hexNames[hex]`
+ var hexNames = tinycolor.hexNames = flip(names);
+
+
+ // Utilities
+ // ---------
+
+ // `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`
+ function flip(o) {
+ var flipped = { };
+ for (var i in o) {
+ if (o.hasOwnProperty(i)) {
+ flipped[o[i]] = i;
+ }
+ }
+ return flipped;
+ }
+
+ // Return a valid alpha value [0,1] with all invalid values being set to 1
+ function boundAlpha(a) {
+ a = parseFloat(a);
+
+ if (isNaN(a) || a < 0 || a > 1) {
+ a = 1;
+ }
+
+ return a;
+ }
+
+ // Take input from [0, n] and return it as [0, 1]
+ function bound01(n, max) {
+ if (isOnePointZero(n)) { n = "100%"; }
+
+ var processPercent = isPercentage(n);
+ n = mathMin(max, mathMax(0, parseFloat(n)));
+
+ // Automatically convert percentage into number
+ if (processPercent) {
+ n = parseInt(n * max, 10) / 100;
+ }
+
+ // Handle floating point rounding errors
+ if ((math.abs(n - max) < 0.000001)) {
+ return 1;
+ }
+
+ // Convert into [0, 1] range if it isn't already
+ return (n % max) / parseFloat(max);
+ }
+
+ // Force a number between 0 and 1
+ function clamp01(val) {
+ return mathMin(1, mathMax(0, val));
+ }
+
+ // Parse a base-16 hex value into a base-10 integer
+ function parseIntFromHex(val) {
+ return parseInt(val, 16);
+ }
+
+ // Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1
+ //
+ function isOnePointZero(n) {
+ return typeof n == "string" && n.indexOf('.') != -1 && parseFloat(n) === 1;
+ }
+
+ // Check to see if string passed in is a percentage
+ function isPercentage(n) {
+ return typeof n === "string" && n.indexOf('%') != -1;
+ }
+
+ // Force a hex value to have 2 characters
+ function pad2(c) {
+ return c.length == 1 ? '0' + c : '' + c;
+ }
+
+ // Replace a decimal with it's percentage value
+ function convertToPercentage(n) {
+ if (n <= 1) {
+ n = (n * 100) + "%";
+ }
+
+ return n;
+ }
+
+ // Converts a decimal to a hex value
+ function convertDecimalToHex(d) {
+ return Math.round(parseFloat(d) * 255).toString(16);
+ }
+ // Converts a hex value to a decimal
+ function convertHexToDecimal(h) {
+ return (parseIntFromHex(h) / 255);
+ }
+
+ var matchers = (function() {
+
+ //
+ var CSS_INTEGER = "[-\\+]?\\d+%?";
+
+ //
+ var CSS_NUMBER = "[-\\+]?\\d*\\.\\d+%?";
+
+ // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.
+ var CSS_UNIT = "(?:" + CSS_NUMBER + ")|(?:" + CSS_INTEGER + ")";
+
+ // Actual matching.
+ // Parentheses and commas are optional, but not required.
+ // Whitespace can take the place of commas or opening paren
+ var PERMISSIVE_MATCH3 = "[\\s|\\(]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")\\s*\\)?";
+ var PERMISSIVE_MATCH4 = "[\\s|\\(]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")\\s*\\)?";
+
+ return {
+ rgb: new RegExp("rgb" + PERMISSIVE_MATCH3),
+ rgba: new RegExp("rgba" + PERMISSIVE_MATCH4),
+ hsl: new RegExp("hsl" + PERMISSIVE_MATCH3),
+ hsla: new RegExp("hsla" + PERMISSIVE_MATCH4),
+ hsv: new RegExp("hsv" + PERMISSIVE_MATCH3),
+ hsva: new RegExp("hsva" + PERMISSIVE_MATCH4),
+ hex3: /^([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,
+ hex6: /^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,
+ hex8: /^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/
+ };
+ })();
+
+ // `stringInputToObject`
+ // Permissive string parsing. Take in a number of formats, and output an object
+ // based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`
+ function stringInputToObject(color) {
+
+ color = color.replace(trimLeft,'').replace(trimRight, '').toLowerCase();
+ var named = false;
+ if (names[color]) {
+ color = names[color];
+ named = true;
+ }
+ else if (color == 'transparent') {
+ return { r: 0, g: 0, b: 0, a: 0, format: "name" };
+ }
+
+ // Try to match string input using regular expressions.
+ // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]
+ // Just return an object and let the conversion functions handle that.
+ // This way the result will be the same whether the tinycolor is initialized with string or object.
+ var match;
+ if ((match = matchers.rgb.exec(color))) {
+ return { r: match[1], g: match[2], b: match[3] };
+ }
+ if ((match = matchers.rgba.exec(color))) {
+ return { r: match[1], g: match[2], b: match[3], a: match[4] };
+ }
+ if ((match = matchers.hsl.exec(color))) {
+ return { h: match[1], s: match[2], l: match[3] };
+ }
+ if ((match = matchers.hsla.exec(color))) {
+ return { h: match[1], s: match[2], l: match[3], a: match[4] };
+ }
+ if ((match = matchers.hsv.exec(color))) {
+ return { h: match[1], s: match[2], v: match[3] };
+ }
+ if ((match = matchers.hsva.exec(color))) {
+ return { h: match[1], s: match[2], v: match[3], a: match[4] };
+ }
+ if ((match = matchers.hex8.exec(color))) {
+ return {
+ a: convertHexToDecimal(match[1]),
+ r: parseIntFromHex(match[2]),
+ g: parseIntFromHex(match[3]),
+ b: parseIntFromHex(match[4]),
+ format: named ? "name" : "hex8"
+ };
+ }
+ if ((match = matchers.hex6.exec(color))) {
+ return {
+ r: parseIntFromHex(match[1]),
+ g: parseIntFromHex(match[2]),
+ b: parseIntFromHex(match[3]),
+ format: named ? "name" : "hex"
+ };
+ }
+ if ((match = matchers.hex3.exec(color))) {
+ return {
+ r: parseIntFromHex(match[1] + '' + match[1]),
+ g: parseIntFromHex(match[2] + '' + match[2]),
+ b: parseIntFromHex(match[3] + '' + match[3]),
+ format: named ? "name" : "hex"
+ };
+ }
+
+ return false;
+ }
+
+ window.tinycolor = tinycolor;
+ })();
+
+ $(function () {
+ if ($.fn.spectrum.load) {
+ $.fn.spectrum.processNativeColorInputs();
+ }
+ });
+
+});
diff --git a/anita_theme_setting/static/loadings/loading_style1.svg b/anita_theme_setting/static/loadings/loading_style1.svg
new file mode 100644
index 000000000..c1039d174
--- /dev/null
+++ b/anita_theme_setting/static/loadings/loading_style1.svg
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/anita_theme_setting/static/loadings/loading_style10.svg b/anita_theme_setting/static/loadings/loading_style10.svg
new file mode 100644
index 000000000..caf6fd228
--- /dev/null
+++ b/anita_theme_setting/static/loadings/loading_style10.svg
@@ -0,0 +1,14 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/anita_theme_setting/static/loadings/loading_style2.svg b/anita_theme_setting/static/loadings/loading_style2.svg
new file mode 100644
index 000000000..e13668952
--- /dev/null
+++ b/anita_theme_setting/static/loadings/loading_style2.svg
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/anita_theme_setting/static/loadings/loading_style3.svg b/anita_theme_setting/static/loadings/loading_style3.svg
new file mode 100644
index 000000000..f85c0940c
--- /dev/null
+++ b/anita_theme_setting/static/loadings/loading_style3.svg
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/anita_theme_setting/static/loadings/loading_style4.svg b/anita_theme_setting/static/loadings/loading_style4.svg
new file mode 100644
index 000000000..d22c416ef
--- /dev/null
+++ b/anita_theme_setting/static/loadings/loading_style4.svg
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/anita_theme_setting/static/loadings/loading_style5.svg b/anita_theme_setting/static/loadings/loading_style5.svg
new file mode 100644
index 000000000..fe692c1bd
--- /dev/null
+++ b/anita_theme_setting/static/loadings/loading_style5.svg
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/anita_theme_setting/static/loadings/loading_style6.svg b/anita_theme_setting/static/loadings/loading_style6.svg
new file mode 100644
index 000000000..96378a7ce
--- /dev/null
+++ b/anita_theme_setting/static/loadings/loading_style6.svg
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
diff --git a/anita_theme_setting/static/loadings/loading_style7.svg b/anita_theme_setting/static/loadings/loading_style7.svg
new file mode 100644
index 000000000..3a4414a5d
--- /dev/null
+++ b/anita_theme_setting/static/loadings/loading_style7.svg
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/anita_theme_setting/static/loadings/loading_style8.svg b/anita_theme_setting/static/loadings/loading_style8.svg
new file mode 100644
index 000000000..65440a557
--- /dev/null
+++ b/anita_theme_setting/static/loadings/loading_style8.svg
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/anita_theme_setting/static/loadings/loading_style9.svg b/anita_theme_setting/static/loadings/loading_style9.svg
new file mode 100644
index 000000000..ace7202fb
--- /dev/null
+++ b/anita_theme_setting/static/loadings/loading_style9.svg
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/anita_theme_setting/static/src/anita_icon.js b/anita_theme_setting/static/src/anita_icon.js
new file mode 100644
index 000000000..4298559a3
--- /dev/null
+++ b/anita_theme_setting/static/src/anita_icon.js
@@ -0,0 +1,20 @@
+/** @odoo-module alias=anita_theme_setting.icons **/
+
+const { markup, Component, xml } = owl;
+
+const clone_style = ' '
+
+const edit_style = ' '
+
+const edit_image = ' '
+
+const delete_style = ' '
+
+export default {
+ icons: {
+ clone_style: markup(clone_style),
+ edit_style: markup(edit_style),
+ edit_image: markup(edit_image),
+ delete_style: markup(delete_style)
+ }
+}
diff --git a/anita_theme_setting/static/src/anita_main.js b/anita_theme_setting/static/src/anita_main.js
new file mode 100644
index 000000000..667d8b35e
--- /dev/null
+++ b/anita_theme_setting/static/src/anita_main.js
@@ -0,0 +1,6 @@
+/** @odoo-module **/
+
+import { startWebClient } from "@web/start";
+import { AnitaWebClient } from "./components/webclient/webclient";
+
+startWebClient(AnitaWebClient);
diff --git a/anita_theme_setting/static/src/anita_theme_setting.js b/anita_theme_setting/static/src/anita_theme_setting.js
new file mode 100644
index 000000000..490b128e1
--- /dev/null
+++ b/anita_theme_setting/static/src/anita_theme_setting.js
@@ -0,0 +1,7 @@
+/** @odoo-module alias=anita_theme_setting.theme_setting**/
+
+let settings = {
+ ...odoo.__theme_setting__
+};
+
+export default settings
\ No newline at end of file
diff --git a/anita_theme_setting/static/src/components/accordion/accordion.js b/anita_theme_setting/static/src/components/accordion/accordion.js
new file mode 100644
index 000000000..07313d62c
--- /dev/null
+++ b/anita_theme_setting/static/src/components/accordion/accordion.js
@@ -0,0 +1,29 @@
+/** @odoo-module **/
+
+import { Component, useState } from "@odoo/owl";
+
+export class AnitaAccordion extends Component {
+
+ setup() {
+ this.state = useState({
+ 'collapse': true
+ })
+ }
+
+ toggleDisplay() {
+ this.state.collapse = !this.state.collapse;
+ }
+};
+
+AnitaAccordion.props = {
+ title: {
+ type: String
+ },
+ slots: {
+ type: Object,
+ optional: true,
+ },
+};
+
+AnitaAccordion.template = "anita_theme_setting.accordion";
+AnitaAccordion.components = {};
diff --git a/anita_theme_setting/static/src/components/accordion/accordion.scss b/anita_theme_setting/static/src/components/accordion/accordion.scss
new file mode 100644
index 000000000..33f161e53
--- /dev/null
+++ b/anita_theme_setting/static/src/components/accordion/accordion.scss
@@ -0,0 +1,59 @@
+.anita_accordion {
+
+ display: flex;
+ flex-direction: column;
+
+ .card-title {
+ border: 1px solid #dee2e6 !important;
+ }
+
+ .accordion_button {
+ position: relative;
+ display: flex;
+ align-items: center;
+ width: 100%;
+ padding: .75rem 1.25rem;
+ font-size: 1rem;
+ color: #212529;
+ text-align: left;
+ background-color: #fff;
+ border: 0;
+ border-radius: 0;
+ overflow-anchor: none;
+ transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease;
+
+ &::after {
+ flex-shrink: 0;
+ width: 0.75rem;
+ height: 0.75em;
+ margin-left: auto;
+ content: "";
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
+ background-repeat: no-repeat;
+ background-size: 0.75rem;
+ transition: transform .2s ease-in-out;
+ }
+
+ &:focus {
+ outline: 1px dotted;
+ }
+ }
+
+ &.collapsed {
+ .accordion-body {
+ display: none !important;
+ }
+ }
+
+ &:not(.collapsed) {
+ .accordion_button {
+ color: #0c63e4;
+ background-color: #e7f1ff;
+ &::after {
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
+ transform: rotate(-180deg);
+ }
+ }
+ }
+}
+
diff --git a/anita_theme_setting/static/src/components/accordion/accordion.xml b/anita_theme_setting/static/src/components/accordion/accordion.xml
new file mode 100644
index 000000000..caf276db6
--- /dev/null
+++ b/anita_theme_setting/static/src/components/accordion/accordion.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/anita_theme_setting/static/src/components/color_picker/color_picker.js b/anita_theme_setting/static/src/components/color_picker/color_picker.js
new file mode 100644
index 000000000..2a6a22735
--- /dev/null
+++ b/anita_theme_setting/static/src/components/color_picker/color_picker.js
@@ -0,0 +1,79 @@
+/** @odoo-module alias=anita_theme_setting.color_picker **/
+
+import { _lt } from "@web/core/l10n/translation";
+
+import { Component, useEffect, useState, useRef, onMounted } from "@odoo/owl";
+
+export default class anitaColorPicker extends Component {
+
+ setup() {
+ this.colorPickerInputRef = useRef("color_picker_input");
+ this.colorValueInputRef = useRef("color_value_input");
+
+ this.state = useState({
+ color_value: this.props.color,
+ });
+
+ onMounted(this.onMounted);
+
+ // when color changed nee reset the color picker val
+ useEffect(
+ () => {
+ window.$(this.colorPickerInputRef.el).spectrum("set", this.state.color_value);
+ },
+ () => [this.state.color_value]
+ );
+ }
+
+ onMounted() {
+ $(this.colorPickerInputRef.el).spectrum({
+ showAlpha: true,
+ showInput: true,
+ preferredFormat: "rgb",
+ color: this.props.color_value,
+ palette: [
+ ["#000","#444","#666","#999","#ccc","#eee","#f3f3f3","#fff"],
+ ["#f00","#f90","#ff0","#0f0","#0ff","#00f","#90f","#f0f"],
+ ["#f4cccc","#fce5cd","#fff2cc","#d9ead3","#d0e0e3","#cfe2f3","#d9d2e9","#ead1dc"],
+ ["#ea9999","#f9cb9c","#ffe599","#b6d7a8","#a2c4c9","#9fc5e8","#b4a7d6","#d5a6bd"],
+ ["#e06666","#f6b26b","#ffd966","#93c47d","#76a5af","#6fa8dc","#8e7cc3","#c27ba0"],
+ ["#c00","#e69138","#f1c232","#6aa84f","#45818e","#3d85c6","#674ea7","#a64d79"],
+ ["#900","#b45f06","#bf9000","#38761d","#134f5c","#0b5394","#351c75","#741b47"],
+ ["#600","#783f04","#7f6000","#274e13","#0c343d","#073763","#20124d","#4c1130"]
+ ],
+ change: (color) => {
+ let current_color = undefined;
+ if (color._a !== 1) {
+ current_color = color.toRgbString();
+ } else {
+ current_color = color.toHexString(); ;
+ }
+ if (this.state.color_value !== current_color) {
+ this.state.color_value = current_color;
+ // notify change the color
+ this.props.onChange(current_color);
+ }
+ }
+ });
+ }
+};
+
+// props
+anitaColorPicker.props = {
+ color: {
+ type: String,
+ optional: 1,
+ },
+ onChange: {
+ type: Function,
+ optional: true,
+ },
+};
+
+// default props
+anitaColorPicker.defaultProps = {
+ color: '#ffffff',
+};
+
+anitaColorPicker.template = "anita_theme_setting.color_picker";
+
diff --git a/anita_theme_setting/static/src/components/color_picker/color_picker.scss b/anita_theme_setting/static/src/components/color_picker/color_picker.scss
new file mode 100644
index 000000000..ce6f180a9
--- /dev/null
+++ b/anita_theme_setting/static/src/components/color_picker/color_picker.scss
@@ -0,0 +1,27 @@
+
+.style_color_item {
+
+ .sp-preview {
+ margin-right: 0px;
+ }
+
+ .sp-dd {
+ display: none;
+ }
+
+ .sp-preview {
+ width: 18px;
+ height: 12px;
+ }
+
+ .sp-replacer {
+ border-color: #dee2e6;
+ &:hover {
+ border-color: #dee2e6;
+ }
+ }
+}
+
+.sp-container {
+ border-color: #dee2e6;
+}
diff --git a/anita_theme_setting/static/src/components/color_picker/color_picker.xml b/anita_theme_setting/static/src/components/color_picker/color_picker.xml
new file mode 100644
index 000000000..5da8a9e0a
--- /dev/null
+++ b/anita_theme_setting/static/src/components/color_picker/color_picker.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/anita_theme_setting/static/src/components/customizer/theme_customizer.js b/anita_theme_setting/static/src/components/customizer/theme_customizer.js
new file mode 100644
index 000000000..634fe4802
--- /dev/null
+++ b/anita_theme_setting/static/src/components/customizer/theme_customizer.js
@@ -0,0 +1,1157 @@
+/** @odoo-module **/
+
+import { Component, useState, useExternalListener, useEffect, EventBus } from "@odoo/owl";
+
+import { useService } from "@web/core/utils/hooks";
+import { icons } from 'anita_theme_setting.icons';
+import { registry } from "@web/core/registry";
+import { Dropdown } from "@web/core/dropdown/dropdown";
+import { DropdownItem } from "@web/core/dropdown/dropdown_item";
+import { ThemeSettings } from "../settings/settings";
+
+import AnitaColorPicker from 'anita_theme_setting.color_picker';
+import theme_setting from "anita_theme_setting.theme_setting";
+
+
+export class ThemeCustomizer extends Component {
+
+ setup() {
+ super.setup();
+
+ this.rpc = useService("rpc");
+ this.orm = useService("orm");
+ this.action = useService("action");
+
+ this.user_setting = theme_setting;
+
+ let cur_mode_id = this.user_setting.cur_mode_id;
+ let cur_style_id = this.user_setting.cur_style_id;
+
+ let show_delete_style = true;
+ let theme_style = this._get_theme_style(cur_style_id);
+ if (theme_style && theme_style.is_default) {
+ show_delete_style = false;
+ }
+
+ this.is_dynamic = false;
+ this.icons = icons;
+
+ // if the owner is false, it will get the current owner
+ this.owner = false
+ this.setting_component_bus = new EventBus();
+
+ // window click
+ useExternalListener(window, 'click', this._on_window_click.bind(this));
+
+ // state
+ this.state = useState({
+ show_panel: false,
+ cur_mode_id: cur_mode_id,
+ cur_style_id: cur_style_id,
+ show_delete_style: show_delete_style,
+ inited: false,
+ acitve_item: 'style'
+ });
+
+ useEffect(() => {
+ if (!this.state.show_panel) {
+ $('body').removeClass('setting_preview')
+ } else {
+ $('body').addClass('setting_preview')
+ }
+ }, () => [this.state.show_panel]);
+ }
+
+ _on_window_click(event) {
+
+ // check state
+ if (!this.state.show_panel) {
+ return;
+ }
+
+ if (!$(event.target).is($(".customizer, .customizer *"))
+ && !$(event.target).is($(".modal *"))) {
+ this.state.show_panel = false;
+ }
+ }
+
+ _on_close_click(event) {
+ this.state.show_panel = false;
+ }
+
+ _on_click_style_nav_item(theme_style) {
+ this.state.cur_style_id = theme_style.id;
+ if (theme_style.is_default) {
+ this.state.show_delete_style = false;
+ }
+ }
+
+ /**
+ * change the theme modes
+ * @param {*} theme_mode
+ */
+ _on_change_mode(theme_mode) {
+ this.state.cur_mode_id = theme_mode.id;
+ let theme_styles = theme_mode.theme_styles || [];
+ if (theme_styles.length > 0) {
+ this.state.cur_style_id = theme_styles[0].id;
+ } else {
+ this.state.cur_style_id = false;
+ }
+ }
+
+ _update_style_tool_bar(t) {
+ var style_data = this._get_theme_style(style_id);
+ if (style_data.is_default) {
+ $('.operation-toolbar .delete_style').hide();
+ } else {
+ $('.operation-toolbar .delete_style').show();
+ }
+ this.$('.operation-toolbar').removeClass('d-none');
+ }
+
+ async _on_toggle_click(event) {
+
+ event.preventDefault();
+ event.stopPropagation();
+
+ this.state.show_panel = !this.state.show_panel;
+ this.state.inited = true;
+ }
+
+ _on_customizer_close_click(event) {
+ event.preventDefault();
+ event.stopPropagation();
+
+ this.state.show_panel = false;
+ }
+
+ _on_preview_click(event) {
+
+ event.preventDefault();
+ event.stopPropagation();
+
+ // set true to preview
+ this._update_style(true);
+
+ // update mode style css
+ this._update_preview_mode_css();
+ }
+
+ _on_reset_click(event) {
+ event.preventDefault();
+ event.stopPropagation();
+
+ this._remove_mode_bk_flag();
+ $('body').removeClass('preview')
+ }
+
+ /**
+ * delete theme style
+ * @param {*} theme_mode
+ * @param {*} theme_style
+ */
+ async _delete_style() {
+
+ let style_id = this._get_cur_style_id();
+ await this.orm.call(
+ "anita_theme_setting.theme_style", "delete_style", [style_id]);
+
+ let theme_mode = this._get_theme_mode(this._get_cur_mode_id());
+ let theme_styles = theme_mode.theme_styles;
+ let index = -1;
+ for (var i = 0; i < theme_styles.length; i++) {
+ var tmp_style = theme_styles[i];
+ if (tmp_style.id == style_id) {
+ index = i;
+ break;
+ }
+ }
+ theme_styles.splice(index, 1);
+ if (theme_styles.length > 0) {
+ this.state.cur_style_id = theme_styles[0].id;
+ } else {
+ this.state.cur_style_id = false;
+ }
+ }
+
+ _set_mode_bk_flag() {
+ var $body = $('body')
+ for (var index = 0; index < this.user_setting.theme_modes.length; index++) {
+ var tmp_mode = this.user_setting.theme_modes[index];
+ if ($body.hasClass(tmp_mode.name)) {
+ $body.removeClass(tmp_mode.name)
+ $body.addClass(tmp_mode.name + '_bk')
+ }
+ }
+ }
+
+ _remove_mode_bk_flag() {
+ var $body = $('body')
+ for (var index = 0; index < this.user_setting.theme_modes.length; index++) {
+ var tmp_mode = this.user_setting.theme_modes[index];
+ if ($body.hasClass(tmp_mode.name)) {
+ $body.removeClass(tmp_mode.name)
+ $body.addClass(tmp_mode.name + '_bk')
+ }
+ }
+ }
+
+ async _update_preview_mode_css() {
+
+ var mode_id = this.state.cur_mode_id;
+ var style_id = this.state.cur_style_id;
+
+ var $body = $('body')
+
+ // get the preview mode data
+ let style_txt = await this.orm.call(
+ "anita_theme_setting.theme_mode", "get_mode_preview_data", [mode_id, style_id]);
+ var style = document.getElementById("preview_mode_style_id");
+ if (style.styleSheet) {
+ style.setAttribute('type', 'text/css');
+ style.styleSheet.cssText = style_txt;
+ } else {
+ style.innerHTML = style_txt;
+ }
+
+ style && $body[0].removeChild(style);
+ $body[0].appendChild(style);
+
+ // save the old mode name
+ this._set_mode_bk_flag()
+
+ // remove all the mode, put at end to avoid flicker
+ $body.addClass('preview')
+ }
+
+ /**
+ * get the current style text
+ */
+ _get_tmp_style_item_infos(preview) {
+
+ var result = {}
+ var mode_id = this._get_cur_mode_id();
+ var style_id = this._get_cur_style_id();
+ var mode_data = this.user_setting.theme_modes.find(mode_data => mode_data.id == mode_id)
+
+ if (!mode_data) {
+ return result;
+ }
+
+ var theme_styles = mode_data.theme_styles
+ var theme_style = theme_styles.find(tmp_style => tmp_style.id == style_id)
+ for (var group_index = 0; group_index < theme_style.groups.length; group_index++) {
+ var group = theme_style.groups[group_index];
+ for (var sub_group_index = 0; sub_group_index < group.sub_groups.length; sub_group_index++) {
+ var sub_group = group.sub_groups[sub_group_index];
+ for (var style_item_index = 0; style_item_index < sub_group.style_items.length; style_item_index++) {
+ var style_item = sub_group.style_items[style_item_index];
+ if (style_item.dirty) {
+ result[style_item.id] = style_item
+ }
+ }
+ }
+ }
+
+ return result;
+ }
+
+ _get_font_info() {
+ var font_name = this.user_setting.settings.font_name;
+ var font_type_css = "*:not(.fa):not(.oi) {font-family: " + font_name + ", sans-serif !important;}";
+ return font_type_css;
+ }
+
+ _get_cur_style_id() {
+ return this.state.cur_style_id;
+ }
+
+ _get_cur_mode_id() {
+ return this.state.cur_mode_id;
+ }
+
+ _get_cur_style_data() {
+
+ let style_id = this._get_cur_style_id();
+ let theme_style = this._get_theme_style(style_id);
+
+ // get the style_item_var which has the dirty flag
+ let result = [];
+ for (var group_index = 0; group_index < theme_style.groups.length; group_index++) {
+ var group = theme_style.groups[group_index];
+ for (var sub_group_index = 0; sub_group_index < group.sub_groups.length;
+ sub_group_index++) {
+ var sub_group = group.sub_groups[sub_group_index];
+ for (var style_item_index = 0; style_item_index < sub_group.style_items.length; style_item_index++) {
+ var style_item = sub_group.style_items[style_item_index];
+ for (var style_item_var_index = 0; style_item_var_index < style_item.vars.length; style_item_var_index++) {
+ var style_item_var = style_item.vars[style_item_var_index];
+ if (style_item_var.dirty) {
+ result.push({
+ "id": style_item_var.id,
+ "color": style_item_var.color,
+ })
+ }
+ }
+ }
+ }
+ }
+
+ return result;
+ }
+
+ _clear_preview_data() {
+ // clear the mode style data
+ var style = document.getElementById('preview_mode_id');
+ if (style.styleSheet) {
+ style.setAttribute('type', 'text/css');
+ style.styleSheet.cssText = '';
+ }
+ // clear the style data
+ style = document.getElementById('preview_style_id');
+ if (style.styleSheet) {
+ style.setAttribute('type', 'text/css');
+ style.styleSheet.cssText = '';
+ }
+ }
+
+ async _update_style(preview) {
+
+ var self = this;
+ var $body = $('body')
+
+ var style_id = this._get_cur_style_id();
+ if (!style_id) {
+ return;
+ }
+
+ // get the current style infos
+ var style_item_infos = self._get_tmp_style_item_infos();
+ var font_info = self._get_font_info();
+
+ let styleText = await this.orm.call('anita_theme_setting.theme_style', 'post_deal_preview_data', [style_id, style_item_infos, font_info, preview])
+
+ var style = undefined;
+ if (preview) {
+ style = document.getElementById('preview_style_id');
+ } else {
+ style = document.getElementById('style_id');
+ }
+ if (style.styleSheet) {
+ style.setAttribute('type', 'text/css');
+ style.styleSheet.cssText = styleText;
+ } else {
+ style.innerHTML = styleText;
+ }
+ style && $body[0].removeChild(style);
+ $body[0].appendChild(style);
+ }
+
+ async _save_style_data(style_id) {
+ var style_data = this._get_cur_style_data();
+ return await this.orm.call(
+ 'anita_theme_setting.setting_manager', 'save_style_data', [style_id, style_data, this.owner])
+ }
+
+ /**
+ * add a new style
+ * @param {*} event
+ */
+ async _on_add_new_style(mode_id, event) {
+ event.stopPropagation();
+ event.preventDefault();
+
+ let style_data = this._get_mode_style(mode_id, false);
+
+ // add a new style
+ let new_style = await this.orm.call(
+ 'anita_theme_setting.theme_style', 'add_new_style', [mode_id, style_data])
+ let theme_mode = this.user_setting.theme_modes.find(tmp_mode => tmp_mode.id == mode_id)
+ // update the theme mode
+ theme_mode.theme_styles.push(new_style)
+ this.render();
+ }
+
+ _get_mode_style(mode_id, style_id) {
+
+ var mode = this.user_setting.theme_modes.find(tmp_mode => tmp_mode.id == mode_id)
+ var theme_styles = mode.theme_styles
+ if (!theme_styles || theme_styles.length <= 0) {
+ return null;
+ }
+
+ if (!style_id) {
+ return theme_styles[0]
+ }
+
+ var theme_style = theme_styles.find(tmp_style => tmp_style.id == style_id)
+ return theme_style;
+ }
+
+ _on_cancel_btn_click(event) {
+
+ event.preventDefault();
+ event.stopPropagation();
+
+ this.state.show_panel = false;
+ }
+
+ /**
+ * save settings
+ * @param {*} event
+ */
+ async _on_save_click(event) {
+ event.preventDefault();
+
+ var style_id = this._get_cur_style_id();
+ if (!style_id) {
+ return;
+ }
+
+ // save the style data
+ let rst = await this._save_style_data(style_id);
+
+ // update the mode style data
+ var mode_style_css = rst.mode_style_css;
+ this._update_mode_style_css(mode_style_css);
+
+ // remove all the preview mode
+ $('body').removeClass('preview')
+
+ for (var index = 0; index < this.user_setting.theme_modes.length; index++) {
+ var tmp_mode = this.user_setting.theme_modes[index];
+ $('body').removeClass(tmp_mode.name)
+ $('body').removeClass(tmp_mode.name + '_bk')
+ }
+
+ // remove all the mode
+ let mode_id = this._get_cur_mode_id();
+ let mode = this.user_setting.theme_modes.find(mode_data => mode_data.id == mode_id)
+ for (var index = 0; index < this.user_setting.theme_modes.length; index++) {
+ let tmp_mode = this.user_setting.theme_modes[index];
+ $('body').removeClass(tmp_mode.name)
+ $('body').removeClass(tmp_mode.name + '_bk')
+ }
+ $('body').addClass(mode.name)
+
+ // update the style
+ this._update_style();
+
+ // hide the panel
+ this.state.show_panel = false;
+ }
+
+ _get_mode_data(mode_id) {
+ return this.user_setting.theme_modes.find(mode => mode.id == mode_id)
+ }
+
+ /**
+ * export style
+ */
+ async _export_style(event) {
+
+ event.preventDefault();
+ event.stopPropagation();
+
+ var styleId = parseInt(this._get_cur_style_id());
+
+ if (!styleId) {
+ return
+ }
+
+ this.getSession().get_file({
+ complete: framework.unblockUI,
+ error: (error) => this.call('crash_manager', 'rpc_error', error),
+ url: '/anita_theme_setting/export_theme_style/' + styleId,
+ });
+ }
+
+ get cur_theme_mode() {
+ return this._get_theme_mode(this._get_cur_mode_id());
+ }
+
+ get cur_theme_style() {
+ return this._get_theme_style(this._get_cur_style_id());
+ }
+
+ /**
+ * clone and create a new style from the current style
+ */
+ async _clone_style() {
+ let style_id = this._get_cur_style_id();
+ let theme_mode = this._get_theme_mode(this._get_cur_mode_id());
+ let new_style = await this.orm.call(
+ 'anita_theme_setting.theme_style', 'clone_style', [style_id, this.owner])
+ theme_mode.theme_styles.push(new_style);
+ }
+
+ /**
+ * replace style item
+ */
+ _update_theme_style(theme_style) {
+ var modes = this.user_setting.theme_modes
+ var mode_count = this.user_setting.theme_modes.length;
+ for (var index = 0; index < mode_count; index++) {
+ var mode = modes[index];
+ var theme_styles = mode.theme_styles
+ var style_index = -1;
+ for (var styleIndex = 0; styleIndex < theme_styles.length; styleIndex++) {
+ var tmp_style = theme_styles[styleIndex];
+ if (tmp_style.id == theme_style.id) {
+ style_index = styleIndex;
+ break;
+ }
+ }
+ if (style_index != -1) {
+ // splice
+ theme_styles.splice(style_index, 1, theme_style);
+ this.render();
+ break;
+ }
+ }
+ }
+
+ /**
+ * add style item
+ */
+ _add_style_item(theme_style, group, sub_group, event) {
+
+ this.action.doAction({
+ type: 'ir.actions.act_window',
+ view_type: 'form',
+ view_mode: 'form',
+ res_model: "anita_theme_setting.style_item",
+ target: 'new',
+ context: {
+ "default_theme_style": theme_style.id,
+ "default_item_group": group.id,
+ "default_sub_group": sub_group.id,
+ },
+ views: [[false, 'form']],
+ }, {
+ on_close: async (res) => {
+
+ if (!res || !res.special) {
+ return;
+ }
+
+ // get the new style
+ let style_item_datas = await self.orm.call(
+ 'anita_theme_setting.style_item', 'get_style_item_data', [res.resId])
+ let style_item_data = style_item_datas[0]
+
+ sub_group.style_items.push(style_item_data)
+ sub_group.expanded = true
+ }
+ });
+ }
+
+ async _on_add_group(theme_style) {
+ this.action.doAction({
+ type: 'ir.actions.act_window',
+ view_type: 'form',
+ view_mode: 'form',
+ res_model: "anita_theme_setting.style_item_group",
+ target: 'new',
+ context: {
+ "default_theme_style": theme_style.id,
+ },
+ views: [[false, 'form']],
+ }, {
+ on_close(res) {
+
+ if (!res || !res.special) {
+ return;
+ }
+
+ // item groups
+ let item_groups = this.orm.call(
+ 'anita_theme_setting.style_item_group', 'search_read', [[['id', '=', res.resId]]])
+ theme_style.item_groups.push(item_groups[0])
+ }
+ });
+ }
+
+ _delete_style_item_data(style_item_id) {
+ var self = this;
+ var modes = self.user_setting.theme_modes;
+ var mode_count = self.user_setting.theme_modes.length;
+ for (var index = 0; index < mode_count; index++) {
+ var mode = modes[index];
+ var theme_styles = mode.theme_styles;
+ for (var styleIndex = 0; styleIndex < theme_styles.length; styleIndex++) {
+ var theme_style = theme_styles[styleIndex];
+ var tmp_index = -1;
+ for (var item_index = 0; item_index < theme_style.style_items.length; item_index++) {
+ var style_item = theme_style.style_items[item_index];
+ if (style_item.id == style_item_id) {
+ tmp_index = item_index;
+ break;
+ }
+ }
+ if (tmp_index != -1) {
+ // remove the style item
+ theme_style.style_items.splice(tmp_index, 1);
+ break;
+ }
+ }
+ }
+ }
+
+ async _on_delete_style_item(style_item_id, event) {
+ await this.orm.call('anita_theme_setting.style_item', 'delete_style_item', [style_item_id])
+ this._delete_style_item_data(style_item_id);
+ }
+
+ _get_theme_style(style_id) {
+ var modes = this.user_setting.theme_modes;
+ for (var i = 0; i < modes.length; i++) {
+ var mode_data = modes[i];
+ for (var styleIndex = 0; styleIndex < mode_data.theme_styles.length; styleIndex++) {
+ var theme_style = mode_data.theme_styles[styleIndex]
+ if (theme_style.id == style_id) {
+ return theme_style
+ }
+ }
+ }
+ }
+
+ _get_theme_item_group(group_id) {
+ var modes = this.user_setting.theme_modes;
+ for (var i = 0; i < modes.length; i++) {
+ var mode_data = modes[i];
+ for (var styleIndex = 0; styleIndex < mode_data.theme_styles.length; styleIndex++) {
+ var theme_style = mode_data.theme_styles[styleIndex]
+ var groups = theme_style.groups || []
+ for (var group_index = 0; group_index < groups.length; group_index++) {
+ var group = groups[group_index];
+ if (group.id == group_id) {
+ return group;
+ }
+ }
+ }
+ }
+ }
+
+ _get_sub_group(sub_group_id) {
+ var modes = this.user_setting.theme_modes;
+ for (var i = 0; i < modes.length; i++) {
+ var mode_data = modes[i];
+ for (var styleIndex = 0; styleIndex < mode_data.theme_styles.length; styleIndex++) {
+ var theme_style = mode_data.theme_styles[styleIndex]
+ var groups = theme_style.groups || []
+ for (var group_index = 0; group_index < groups.length; group_index++) {
+ var group = groups[group_index];
+ var sub_groups = group.sub_groups || []
+ for (var sub_group_index = 0; sub_group_index < sub_groups.length; sub_group_index++) {
+ var sub_group = sub_groups[sub_group_index];
+ if (sub_group.id == sub_group_id) {
+ return sub_group;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ _get_theme_mode(mode_id) {
+ var modes = this.user_setting.theme_modes;
+ for (var i = 0; i < modes.length; i++) {
+ var mode_data = modes[i];
+ if (mode_data.id == mode_id) {
+ return mode_data;
+ }
+ }
+ }
+
+ _get_style_item(item_id) {
+ var modes = this.user_setting.theme_modes;
+ for (var i = 0; i < modes.length; i++) {
+ var mode_data = modes[i];
+ for (var index = 0; index < mode_data.theme_styles.length; index++) {
+ var theme_style = mode_data.theme_styles[index]
+ var groups = theme_style.groups || []
+ for (var group_index = 0; group_index < groups.length; group_index++) {
+ var group = groups[group_index];
+ var sub_groups = group.sub_groups || []
+ for (var sub_group_index = 0; sub_group_index < sub_groups.length; sub_group_index++) {
+ var sub_group = sub_groups[sub_group_index];
+ var style_items = sub_group.style_items || []
+ for (var item_index = 0; item_index < style_items.length; item_index++) {
+ var item = style_items[item_index];
+ if (item.id == item_id) {
+ return item;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ _get_item_group(group_id) {
+ var modes = this.user_setting.theme_modes;
+ for (var i = 0; i < modes.length; i++) {
+ var mode_data = modes[i];
+ for (var index = 0; index < mode_data.theme_styles.length; index++) {
+ var theme_style = mode_data.theme_styles[index]
+ var groups = theme_style['groups']
+ for (var group_index = 0; group_index < groups.length; group_index++) {
+ var group = groups[group_index];
+ if (group.id == group_id) {
+ return group;
+ }
+ }
+ }
+ }
+ }
+
+ _edit_style() {
+ let style_id = this._get_cur_style_id();
+ // do action
+ this.action.doAction({
+ type: 'ir.actions.act_window',
+ res_model: 'anita_theme_setting.theme_style',
+ res_id: style_id,
+ views: [[false, 'form']],
+ context: {
+ 'form_view_ref': 'anita_theme_setting.theme_style_edit_form',
+ },
+ target: 'new',
+ }, {
+ on_close: async (res) => {
+
+ if (!res || !res.special) {
+ return;
+ }
+
+ let theme_style = await this.orm.call(
+ 'anita_theme_setting.theme_style', 'get_style', [style_id])
+ this._update_theme_style(theme_style);
+ }
+ });
+ }
+
+ /**
+ * edit style item
+ */
+ _on_edit_style_item(sub_group, style_item_id) {
+ this.action.doAction({
+ type: 'ir.actions.act_window',
+ view_type: 'form',
+ view_mode: 'form',
+ res_id: style_item_id,
+ res_model: "anita_theme_setting.style_item",
+ target: 'new',
+ views: [[false, 'form']],
+ }, {
+ on_close: async (res) => {
+
+ if (!res || !res.special) {
+ return;
+ }
+
+ let style_item = await this.orm.call(
+ 'anita_theme_setting.style_item', 'get_style_item_data', [style_item_id])
+ let index = -1;
+ for (var i = 0; i < sub_group.style_items.length; i++) {
+ var tmp_style_item = sub_group.style_items[i];
+ if (tmp_style_item.id == style_item_id) {
+ index = i;
+ break;
+ }
+ }
+ sub_group.style_items.splice(index, 1, style_item)
+ this.render();
+ }
+ });
+ }
+
+ /**
+ * expand or hide group
+ * @param {*} event
+ */
+ _toggle_sub_group(sub_group) {
+ sub_group.expanded = !sub_group.expanded;
+ this.render();
+ }
+
+ /**
+ * add a new group
+ */
+ async _add_new_group(theme_style) {
+
+ let style_id = theme_style.id;
+ let action = await this.orm.call(
+ 'anita_theme_setting.style_item_group', 'get_add_new_group_action', [style_id])
+
+ this.action.doAction(action, {
+ on_close: async (res) => {
+ if (!res || !res.special) {
+ return;
+ }
+
+ var group_id = res.resId;
+ let group_datas = this.orm.call(
+ 'anita_theme_setting.style_item_group', 'get_group_data', [group_id])
+ theme_style.groups.push(group_datas[0])
+ this.render();
+ }
+ });
+ }
+
+ /**
+ * edit image var
+ */
+ async _on_edit_item_var(style_item, style_item_var) {
+ let var_id = style_item_var.id;
+ let action = await this.orm.call(
+ 'anita_theme_setting.style_item_var', 'get_edit_var_action', [var_id])
+ this.action.doAction(action, {
+ on_close: async (res) => {
+ if (!res) {
+ return;
+ }
+
+ if (params.special != 'save_and_exit') {
+ return;
+ }
+
+ this.render();
+ }
+ });
+ }
+
+ /**
+ * relad style item
+ * @param {*} style_item_id
+ */
+ async _reload_style_item(style_item_id) {
+
+ let var_datas = await this.orm.call(
+ 'anita_theme_setting.style_item_var', 'get_var_data', [style_item_id])
+
+ let var_data = var_datas[0];
+ let style_item = self._get_style_item(style_item_id);
+ let index = -1;
+ for (var i = 0; i < style_item.vars.length; i++) {
+ var tmp_var = style_item.vars[i];
+ if (tmp_var.id == var_data.id) {
+ index = i;
+ break;
+ }
+ }
+ style_item.vars.splice(index, 1, var_data);
+ }
+
+ async _on_change_color(theme_style, style_item, style_item_var, color) {
+ style_item_var.color = color;
+ style_item_var.dirty = true;
+ style_item.dirty = true;
+ if (style_item_var.identity) {
+ theme_style.identities[style_item_var.identity] = color;
+ this.render();
+ }
+ }
+
+ /**
+ * add sub group
+ */
+ async _add_sub_group(group) {
+
+ let action = await this.orm.call(
+ 'anita_theme_setting.style_item_group', 'get_add_sub_group_action', [group.id])
+
+ this.action.doAction(action, {
+ on_close: async (res) => {
+
+ if (!res || !res.special) {
+ return;
+ }
+
+ let sub_groups = this.orm.call(
+ 'anita_theme_setting.style_item_sub_group', 'get_sub_group_data', [res.resId])
+ // get sub group data
+ if (sub_groups.length) {
+ group.sub_groups.push(sub_groups[0])
+ }
+ this.render();
+ }
+ });
+ }
+
+ async _on_delete_group(theme_style, group) {
+ await this.orm.unlink('anita_theme_setting.style_item_group', [group.id], {})
+ var groups = theme_style.groups
+ var index = -1;
+ for (var i = 0; i < groups.length; i++) {
+ var tmp_group = groups[i];
+ if (tmp_group.id == group.id) {
+ index = i;
+ break;
+ }
+ }
+ groups.splice(index, 1);
+ }
+
+ /**
+ * delete sub group
+ * @param {*} event
+ */
+ async _delete_sub_group(group, sub_group) {
+ await this.orm.call('anita_theme_setting.style_item_sub_group', 'unlink', [sub_group_id])
+ var sub_groups = group.sub_groups
+ var index = -1;
+ for (var i = 0; i < sub_groups.length; i++) {
+ var tmp_sub_group = sub_groups[i];
+ if (tmp_sub_group.id == sub_group.id) {
+ index = i;
+ break;
+ }
+ }
+ // remove the data
+ sub_groups.splice(index, 1);
+ }
+
+ /**
+ * create a new theme mode
+ * @param {*} event
+ */
+ async _create_new_mode(event) {
+
+ event.preventDefault()
+
+ let action = await this.orm.call('anita_theme_setting.theme_mode', 'get_new_mode_action')
+
+ this.action.doAction(action, {
+ on_close: async (res) => {
+
+ if (!res || res.special) {
+ this._on_reset_mode_preview()
+ return
+ }
+
+ // get mode data
+ let mode_datas = await this.orm.call(
+ 'anita_theme_setting.theme_mode', 'get_theme_mode_data', [res.resId])
+
+ // save mode data
+ this.user_setting.theme_modes.push(mode_datas[0])
+
+ // reset the preview
+ this._on_reset_mode_preview();
+ }
+ });
+ }
+
+ /**
+ * reset preview mode
+ */
+ _on_reset_mode_preview() {
+ $('body').removeClass("preview")
+ }
+
+ async _on_import_style(mode) {
+ let mode_id = mode.id;
+ this.action.doAction({
+ type: 'ir.actions.act_window',
+ view_type: 'form',
+ view_mode: 'form',
+ res_model: "anita_theme_setting.import_theme_style",
+ target: 'new',
+ views: [[false, 'form']],
+ }, {
+ on_close: async (res) => {
+
+ if (!res || !res.special) {
+ return
+ }
+
+ let new_style = await this.orm.call(
+ 'anita_theme_setting.theme_style', 'import_new_style', [mode_id, res.resId])
+ mode.theme_styles.push(new_style);
+ }
+ });
+ }
+
+ /**
+ * preview the mode
+ * @param {*} record
+ */
+ async _on_wizard_preview(record) {
+ var res_id = record.res_id
+ var $body = $('body')
+
+ let style_txt = this.orm.call('anita_theme_setting.theme_mode', 'preview_mode', [res_id])
+ $body.addClass("preview")
+ var style = document.getElementById('theme_preview_mode_id');
+ if (style.styleSheet) {
+ style.setAttribute('type', 'text/css');
+ style.styleSheet.cssText = style_txt;
+ } else {
+ style.innerHTML = style_txt;
+ }
+ style && $body[0].removeChild(style);
+ $body[0].appendChild(style);
+ }
+
+ /**
+ * change mode vars
+ */
+ async _on_edit_mode(model_id, style_id) {
+
+ let action = await this.orm.call(
+ 'anita_theme_setting.theme_mode', 'get_mode_edit_action', [mode_id, style_id])
+ this.action.doAction(action, {
+ on_close(res) {
+
+ if (!res || !res.special) {
+ return
+ }
+
+ let mode_datas = this.orm.call(
+ 'anita_theme_setting.theme_mode', 'get_theme_mode_data', [res.resId])
+
+ var mode_data = mode_datas[0]
+ var index = -1;
+ for (var i = 0; i < this.user_setting.theme_modes.length; i++) {
+ var tmp_mode_data = this.user_setting.theme_modes[i];
+ if (tmp_mode_data.id == model_id) {
+ index = i;
+ break;
+ }
+ }
+ this.user_setting.theme_modes.splice(index, 1, mode_data);
+ }
+ })
+ }
+
+ /**
+ * delete mode
+ */
+ _on_delete_mode(mode_id) {
+
+ var self = this;
+ var mode_data = this._get_mode_data(mode_id)
+
+ Dialog.confirm(this, 'Do you want to delete this theme mode?', {
+ confirm_callback() {
+ if (mode_data.mode_styles && mode_data.mode_styles.length > 0) {
+ Dialog.alert(this, _t("Please delete the styles first..."));
+ }
+ self.orm.call('anita_theme_setting.theme_mode', 'unlink', [mode_id])
+ var index = -1;
+ for (var i = 0; i < self.user_setting.theme_modes.length; i++) {
+ var tmp_mode_data = self.user_setting.theme_modes[i];
+ if (tmp_mode_data.id == mode_id) {
+ index = i;
+ break;
+ }
+ }
+ self.user_setting.theme_modes.splice(index, 1);
+ }
+ });
+ }
+
+ _update_mode_style_css(styleText) {
+ var $body = $('body')
+ var style_id = 'mode_style_id';
+ var style = document.getElementById(style_id);
+ if (style.styleSheet) {
+ style.setAttribute('type', 'text/css');
+ style.styleSheet.cssText = styleText;
+ } else {
+ style.innerHTML = styleText;
+ }
+ style && $body[0].removeChild(style);
+ $body[0].appendChild(style);
+ }
+
+ async _reset_variables(style_item_id) {
+ let result = await this.orm.call('anita_theme_setting.style_item', 'reset_var', [style_item_id])
+ if (result) {
+ this._reload_style_item(style_item_id)
+ }
+ }
+
+ /**
+ * set prveiw bk image
+ */
+ _set_preview_bk_image(image_url) {
+ let style_id = this.state.cur_style_id;
+ let theme_style = this._get_theme_style(style_id);
+ theme_style.background_image = image_url;
+ }
+
+ /**
+ * set theme background image
+ */
+ _set_bk_image() {
+
+ let style_id = this._get_cur_style_id();
+ this.action.doAction({
+ type: 'ir.actions.act_window',
+ res_model: 'anita_theme_setting.background_image_wizard',
+ view_type: 'form',
+ view_mode: 'form',
+ target: 'new',
+ views: [[false, 'form']],
+ context: {
+ 'default_theme_style_id': style_id
+ }
+ }, {
+ onClose: async (res) => {
+
+ if (!res || !res.special) {
+ return
+ }
+
+ let url = await this.orm.call(
+ 'anita_theme_setting.theme_style', 'set_bk_image', [style_id, res.resId])
+ if (url) {
+ let new_style = await this.orm.call(
+ 'anita_theme_setting.theme_style', 'get_style', [style_id])
+ new_style.background_image = url;
+ this._update_theme_style(new_style)
+ }
+ }
+ })
+ }
+
+ /**
+ * save the setting
+ */
+ _on_save_setting_click() {
+ this.setting_component_bus.trigger('get_settings', {
+ callback: async (settings) => {
+ let new_settings = await this.orm.call('anita_theme_setting.setting_manager', 'save_settings', [settings])
+ this.state.show_panel = false;
+ this.env.bus.trigger('update_setting', new_settings);
+ }
+ });
+ }
+
+ /**
+ * cancel the setting
+ */
+ _on_cancel_setting_click() {
+ // hide the panel
+ this.state.show_panel = false;
+ }
+};
+
+ThemeCustomizer.template = "anita_theme_setting.customizer";
+ThemeCustomizer.components = {
+ AnitaColorPicker: AnitaColorPicker,
+ Dropdown: Dropdown,
+ DropdownItem: DropdownItem,
+ ThemeSettings: ThemeSettings,
+};
+ThemeCustomizer.props = {};
+
+export const systrayItem = {
+ Component: ThemeCustomizer,
+};
+registry.category("systray").add(
+ "anita_theme_setting.customizer", systrayItem, { sequence: 1 });
diff --git a/anita_theme_setting/static/src/components/customizer/theme_customizer.scss b/anita_theme_setting/static/src/components/customizer/theme_customizer.scss
new file mode 100644
index 000000000..fa8f43205
--- /dev/null
+++ b/anita_theme_setting/static/src/components/customizer/theme_customizer.scss
@@ -0,0 +1,447 @@
+.customizer {
+
+ width: 415px;
+ right: -500px;
+
+ padding: 0;
+ background-color: #FFF;
+ z-index: 1001;
+ position: fixed;
+ top: 0;
+ bottom: 0;
+ height: 100vh;
+ -webkit-transition: right .4s cubic-bezier(.05, .74, .2, .99);
+ transition: right .4s cubic-bezier(.05, .74, .2, .99);
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden;
+ border-left: 1px solid rgba(0, 0, 0, .05);
+ box-shadow: 0 15px 30px 0 rgba(0, 0, 0, .11), 0 5px 15px 0 rgba(0, 0, 0, .08);
+ color: #212529;
+
+ a,
+ label,
+ span,
+ i {
+ color: #212529;
+ }
+
+ i {
+ &:hover {
+ color: #71639e !important;
+ }
+ }
+
+ @include media-breakpoint-down(sm) {
+ right: -550px;
+ width: 100%;
+ }
+
+ &.show {
+ right: 0
+ }
+
+ .dropdown {
+ height: 100% !important;
+
+ .dropdown-toggle {
+ height: 100% !important;
+ }
+ }
+
+ svg {
+ &:hover {
+ path {
+ fill: #71639e;
+ }
+ }
+ }
+
+ .o_input {
+ line-height: 30px;
+ }
+
+
+ .config_container {
+ overflow: hidden;
+
+ .tabs {
+ height: 100%;
+ overflow: hidden;
+
+ width: 30px;
+ background-color: #e6e6e6;
+ border-left: 1px solid #e6e6e6;
+ padding-top: 15px;
+ flex-shrink: 0 !important;
+
+ .tab_item {
+ padding: 5px 0px;
+ height: 85px;
+ -webkit-writing-mode: vertical-lr;
+ writing-mode: vertical-lr;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ user-select: none !important;
+ cursor: pointer;
+
+ span {
+ padding-top: 5px;
+ }
+
+ &.active {
+ border-left: 1px solid rgb(73, 80, 87);
+ }
+ }
+ }
+
+ .tab_panes {
+ overflow: hidden;
+ .scroller {
+ height: 100%;
+ margin-right: -16px;
+ padding: 5px 15px 5px 5px;
+ overflow-y: auto;
+
+ .settings_pane, .styles_pane {
+ flex: 1 1 auto;
+ overflow-y: auto;
+ overflow-x: hidden;
+ }
+ }
+ }
+ }
+
+ .styles_pane {
+ position: relative;
+
+ ul.navbar-nav {
+ li.nav-item {
+ &:focus {
+ outline: none;
+ }
+
+ a.nav-link {
+ padding: 5px;
+ }
+ }
+ }
+
+ .theme_mode_tool_bar {
+ height: 30px;
+ line-height: 30px;
+ border-top: 1px solid #dee2e6;
+ border-bottom: 1px solid #dee2e6;
+ background-color: #eee;
+ text-align: center;
+ margin-top: -1px;
+
+ .create_new_theme_mode {
+ font-size: 1.1rem;
+ }
+ }
+
+ .add_new_style_icon {
+ fill: #dee2e6;
+ }
+
+ .operation-toolbar {
+ height: 30px;
+ background-color: #f2f2f2;
+ border-bottom: 1px solid #dee2e6;
+
+ .tool-bar-icon {
+ margin: 0px 5px;
+ }
+ }
+
+ .mode_tools {
+ position: absolute;
+ right: 1rem;
+ }
+
+ .style-preview-box {
+ position: relative;
+ width: 100px;
+ height: 60px;
+ box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
+ overflow: hidden;
+ background-size: cover;
+
+ &:hover {
+ transform: translate3d(0px, 0px, -2px);
+ }
+
+ .preview-sidebar-box {
+ width: 30px;
+ border-right: 1px solid #dee2e6;
+ }
+
+ .preview-main-box {
+ .anita_header-box {
+ height: 30px
+ }
+
+ .footer-box {
+ height: 30px;
+ }
+ }
+
+ .preview-header {
+ border-bottom: 1px solid #ebebeb;
+ }
+
+ .preview-footer {
+ border-top: 1px solid #ebebeb;
+ }
+
+ .nav-pills {
+
+ .nav-link.active,
+ .nav-pills .show {
+ >.nav-link {
+ background-color: transparent !important;
+ border: 1px solid #e3e3e3 !important
+ }
+ }
+ }
+ }
+
+ .theme-style-contianer {
+
+ .theme_style_tab {
+ padding: 5px;
+
+ box-sizing: border-box;
+ background: transparent;
+ border: 1px solid;
+ border-color: transparent;
+ margin: 1px;
+
+ &:hover {
+ border-color: #5A8DEE !important;
+
+ .operation-toolbar {
+ top: 0px;
+ }
+ }
+
+ &.active {
+ background: transparent;
+ border: 1px solid darken($color: #5A8DEE, $amount: 10) !important;
+ }
+ }
+
+ .theme_style_tool_bar {
+ .theme_style_tab {
+ .tool_bar_item {
+ font-size: 16px;
+
+ &:hover {
+ color: black;
+ border-color: #5A8DEE !important;
+ }
+ }
+ }
+ }
+ }
+
+ .style_tool_bar {
+ background-color: #eee;
+ height: 30px;
+ }
+
+ .style_item_container {
+ .style_item_group {
+ .style_items {
+ .style_item {
+ margin-left: 10px;
+ width: 220px;
+
+ .title {
+ height: 30px;
+ line-height: 30px;
+ display: flex;
+ }
+
+ .color-container {
+
+ .style_color_item {
+ margin-left: 5px;
+ }
+
+ .pickr {
+ margin: 5px;
+
+ .pcr-button:before {
+ background: transparent !important;
+ }
+ }
+
+ .color_value {
+ display: flex;
+ align-items: center;
+ justify-items: left;
+ }
+ }
+
+ .colorpicker-input-addon {
+ border: 1px solid #dee2e6;
+ }
+ }
+ }
+
+ .style_item_group_name {
+ height: 30px;
+ line-height: 30px;
+ border-top: 1px solid #dee2e6;
+ border-bottom: 1px solid #dee2e6;
+ background-color: #eee;
+ text-align: center;
+ margin-top: -1px;
+
+ .style_group_dropdown {
+ &.dropdown-toggle {
+ font-size: 0.75rem;
+
+ &::after {
+ display: none !important;
+ }
+ }
+ }
+ }
+
+ .style_sub_group_name {
+ color: #182139;
+ background: rgba(238, 238, 238, 0.51);
+ height: 30px;
+ line-height: 30px;
+ padding-left: 10px;
+ border-bottom: 1px solid #dee2e6;
+
+ .sub_group_toggler i {
+ font-size: 0.75rem;
+ }
+ }
+
+ .sub-group-body {
+ .style_group_dropdown {
+ &.dropdown-toggle {
+ font-size: 0.75rem;
+
+ &::after {
+ display: none !important;
+ }
+ }
+ }
+
+ .sub_group_panel {
+ background: #f6f6f6;
+ }
+ }
+
+ .add_style_item {
+ float: right;
+ }
+
+ .add_item_group_container {
+ margin-bottom: -1.5rem;
+ border-bottom: none;
+ }
+ }
+
+ .add_new_group {
+ height: 30px;
+ line-height: 30px;
+ border-top: none;
+ border-bottom: 1px solid #dee2e6;
+ background-color: #eee;
+ text-align: center;
+ }
+ }
+ }
+
+ .customizer-close {
+ position: absolute;
+ right: 10px;
+ top: 10px;
+ padding: 7px;
+ width: auto;
+ z-index: 10;
+ color: #727E8C;
+
+ i {
+ font-size: 1.3rem
+ }
+
+ .customizer-toggle {
+ background: #5A8DEE;
+ color: #FFF;
+ display: block;
+ box-shadow: -3px 0 8px rgba(0, 0, 0, .1);
+ border-top-left-radius: 6px;
+ border-bottom-left-radius: 6px;
+ position: absolute;
+ top: 50%;
+ width: 38px;
+ height: 38px;
+ left: -39px;
+ text-align: center;
+ line-height: 44px;
+ cursor: pointer
+ }
+
+ .color-box {
+ height: 30px;
+ width: 30px;
+ margin: .5rem;
+ border-radius: .3rem;
+ cursor: pointer;
+
+ &.selected {
+ box-shadow: 0 0 0 3px rgba(52, 144, 220, .5)
+ }
+ }
+
+ ul.list-inline li {
+ display: inline-block;
+ }
+
+ h5 {
+ margin-bottom: .5rem;
+ font-family: Rubik, Helvetica, Arial, serif;
+ font-weight: 400;
+ line-height: 1.2;
+ color: #475F7B;
+ }
+
+ .custom-control-label {
+ padding-top: 2px;
+ }
+ }
+
+ .top_title {
+ height: 60px;
+ flex-shrink: 0;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ border-bottom: 1px solid #ebebeb;
+ box-shadow: -1px 2px 25px 0 rgba(0, 0, 0, 0.1);
+ }
+
+ .customizer-footer {
+ align-self: flex-end;
+ flex-shrink: 0;
+ border-top: 1px solid rgb(235, 235, 235);
+ background-color: rgba(255, 255, 255, 0.733);
+ box-shadow: 0 -4px 25px 0 rgba(0, 0, 0, .1);
+ height: 50px;
+ width: 100%;
+
+ button {
+ margin-left: 0.5rem;
+ }
+ }
+}
\ No newline at end of file
diff --git a/anita_theme_setting/static/src/components/customizer/theme_customizer.xml b/anita_theme_setting/static/src/components/customizer/theme_customizer.xml
new file mode 100644
index 000000000..88b643441
--- /dev/null
+++ b/anita_theme_setting/static/src/components/customizer/theme_customizer.xml
@@ -0,0 +1,298 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Theme Customizer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/anita_theme_setting/static/src/components/dialog/dialog.js b/anita_theme_setting/static/src/components/dialog/dialog.js
new file mode 100644
index 000000000..02a76ceb5
--- /dev/null
+++ b/anita_theme_setting/static/src/components/dialog/dialog.js
@@ -0,0 +1,42 @@
+/** @odoo-module **/
+
+import { patch } from "@web/core/utils/patch";
+import { Dialog } from "@web/core/dialog/dialog"
+
+import theme_setting from "anita_theme_setting.theme_setting";
+const settings = theme_setting.settings
+
+// patch dialog
+// patch(Dialog.prototype, {
+// setup() {
+// super.setup(...arguments);
+
+// this.dialog_animation_in_style = settings.dialog_animation_in_style;
+// if (this.dialog_animation_in_style) {
+// this.dialog_animation_in_style = 'animate__animated' + ' ' + this.dialog_animation_in_style;
+// this.props.contentClass = this.props.contentClass + ' ' + this.dialog_animation_in_style;
+// }
+
+// // wrap close
+// let _close = this.data.close;
+// this.data.close = async () => {
+// if (this.modalRef && this.modalRef.el) {
+// let dialog_animation_out_style = settings.dialog_animation_out_style;
+// if (dialog_animation_out_style) {
+// // find modal-content
+// const modalContent = this.modalRef.el.querySelector(".modal-content");
+// if (modalContent) {
+// // add out animation
+// modalContent.classList.add('animate__animated', dialog_animation_out_style);
+// // wait for animation end
+// await new Promise((resolve) => {
+// modalContent.addEventListener("animationend", resolve);
+// });
+// }
+// }
+// }
+// // call original close
+// _close.call(this);
+// }
+// }
+// });
\ No newline at end of file
diff --git a/anita_theme_setting/static/src/components/dialog/dialog.xml b/anita_theme_setting/static/src/components/dialog/dialog.xml
new file mode 100644
index 000000000..6710ae6d5
--- /dev/null
+++ b/anita_theme_setting/static/src/components/dialog/dialog.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+ modal-content crax {{dialog_animation_in_style? dialog_animation_in_style: ''}}
+
+
+
+
diff --git a/anita_theme_setting/static/src/components/settings/block_ui.js b/anita_theme_setting/static/src/components/settings/block_ui.js
new file mode 100644
index 000000000..26ed1f4d7
--- /dev/null
+++ b/anita_theme_setting/static/src/components/settings/block_ui.js
@@ -0,0 +1,31 @@
+/** @odoo-module **/
+
+import { BlockUI } from "@web/core/ui/block_ui";
+import { patch } from "@web/core/utils/patch";
+
+import { xml } from "@odoo/owl";
+
+import theme_setting from "anita_theme_setting.theme_setting";
+
+patch(BlockUI.prototype, {
+
+ setup() {
+ super.setup(...arguments);
+ this.user_setting = theme_setting.settings;
+ this.loading_style = this.user_setting.loading_svg || '/web/static/img/spin.svg';
+ }
+
+});
+
+BlockUI.template = xml`
+
+
+
+
+
+
+
+
+
+
+
`;
\ No newline at end of file
diff --git a/anita_theme_setting/static/src/components/settings/buttons_style.scss b/anita_theme_setting/static/src/components/settings/buttons_style.scss
new file mode 100644
index 000000000..018b898f6
--- /dev/null
+++ b/anita_theme_setting/static/src/components/settings/buttons_style.scss
@@ -0,0 +1,49 @@
+
+.theme_settings {
+ button.button_style1 {
+ border-radius: inherit;
+ }
+}
+
+// rounded style
+body.button_style2:not(.setting_preview), .theme_settings .button_style2 {
+ button {
+ border-radius: 50px;
+ }
+}
+
+// slant style
+body.button_style3:not(.setting_preview), .theme_settings .button_style3 {
+ /* CSS */
+ button {
+ border-radius: 0;
+ border-bottom-left-radius: 50px;
+ border-top-right-radius: 50px;
+ }
+}
+
+// slant style
+body.button_style4:not(.setting_preview), .theme_settings .button_style4 {
+ button {
+ border-radius: 0;
+ border-bottom-right-radius: 50px;
+ border-top-left-radius: 50px;
+ }
+
+}
+
+body.button_style5:not(.setting_preview), .theme_settings .button_style5 {
+ button {
+ border-radius: 0;
+ border-bottom-right-radius: 10px;
+ border-top-left-radius: 10px;
+ }
+}
+
+body.button_style6:not(.setting_preview), .theme_settings .button_style6 {
+ button {
+ border-radius: 0;
+ border-bottom-left-radius: 10px;
+ border-top-right-radius: 10px;
+ }
+}
\ No newline at end of file
diff --git a/anita_theme_setting/static/src/components/settings/checkbox_style.scss b/anita_theme_setting/static/src/components/settings/checkbox_style.scss
new file mode 100644
index 000000000..5cda6fb5f
--- /dev/null
+++ b/anita_theme_setting/static/src/components/settings/checkbox_style.scss
@@ -0,0 +1,57 @@
+
+// check box style2
+body.checkbox_style1:not(.setting_preview),
+.theme_settings .checkbox_style2 {
+
+ .form-check-input[type=checkbox] {
+ &:checked {
+ background-color: transparent;
+ background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' %3E%3Cpath d='M822.464 265.344a28.256 28.256 0 0 0-43.072 1.312l-352.96 417.664-181.92-212.992a28.288 28.288 0 0 0-43.104-1.088 37.12 37.12 0 0 0-0.96 48.256l204.096 238.944c5.76 6.752 13.696 10.56 22.016 10.56h0.096a29.088 29.088 0 0 0 22.048-10.656L823.68 313.6c11.52-13.728 11.008-35.328-1.216-48.256' p-id='3837'%3E%3C/path%3E%3C/svg%3E");
+ }
+ }
+}
+
+// check box style3
+body.checkbox_style3:not(.setting_preview),
+.theme_settings .checkbox_style3 {
+ .form-check-input[type=checkbox] {
+ border-radius: 50%;
+ }
+}
+
+// check box style4
+body.checkbox_style4:not(.setting_preview),
+.theme_settings .checkbox_style4 {
+ .form-check-input[type=checkbox] {
+ border-radius: 50%;
+
+ &:checked {
+ background-color: transparent;
+ background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' %3E%3Cpath d='M822.464 265.344a28.256 28.256 0 0 0-43.072 1.312l-352.96 417.664-181.92-212.992a28.288 28.288 0 0 0-43.104-1.088 37.12 37.12 0 0 0-0.96 48.256l204.096 238.944c5.76 6.752 13.696 10.56 22.016 10.56h0.096a29.088 29.088 0 0 0 22.048-10.656L823.68 313.6c11.52-13.728 11.008-35.328-1.216-48.256' p-id='3837'%3E%3C/path%3E%3C/svg%3E");
+ }
+ }
+}
+
+
+// check box style
+body.checkbox_style5:not(.setting_preview),
+.theme_settings .checkbox_style5 {
+ .form-check-input[type=checkbox] {
+ border-radius: 0;
+ }
+}
+
+// check box style6
+// check box style4
+body.checkbox_style6:not(.setting_preview),
+.theme_settings .checkbox_style6 {
+ .form-check-input[type=checkbox] {
+ border-radius: 0;
+
+ &:checked {
+ background-color: transparent;
+ background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' %3E%3Cpath d='M822.464 265.344a28.256 28.256 0 0 0-43.072 1.312l-352.96 417.664-181.92-212.992a28.288 28.288 0 0 0-43.104-1.088 37.12 37.12 0 0 0-0.96 48.256l204.096 238.944c5.76 6.752 13.696 10.56 22.016 10.56h0.096a29.088 29.088 0 0 0 22.048-10.656L823.68 313.6c11.52-13.728 11.008-35.328-1.216-48.256' p-id='3837'%3E%3C/path%3E%3C/svg%3E");
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/anita_theme_setting/static/src/components/settings/input_style.scss b/anita_theme_setting/static/src/components/settings/input_style.scss
new file mode 100644
index 000000000..25225ccbe
--- /dev/null
+++ b/anita_theme_setting/static/src/components/settings/input_style.scss
@@ -0,0 +1,84 @@
+
+
+// input style1 normal
+body.input_style1:not(.setting_preview), .theme_settings .input_style1 {
+ input.o_input, .o_input {
+ border-width: 1px;
+ border-radius: 5px;
+ &:focus {
+ box-shadow: none;
+ }
+ }
+}
+
+// input style1 square
+body.input_style2:not(.setting_preview), .theme_settings .input_style2 {
+ input.o_input, .o_input {
+ border-width: 1px;
+ border-radius: 0;
+ &:focus {
+ box-shadow: none;
+ }
+ }
+}
+
+// input style3 line
+body.input_style3:not(.setting_preview), .theme_settings .input_style3 {
+ input.o_input, .o_input {
+ border: 0;
+ border-bottom: 1px solid #e6e6e6;
+ background: transparent;
+ &:focus {
+ box-shadow: none;
+ }
+ }
+}
+
+// input style4 slant
+body.input_style4:not(.setting_preview), .theme_settings .input_style4 {
+ input.o_input, .o_input {
+ border-bottom-left-radius: 50px;
+ border-top-right-radius: 50px;
+ padding-left: 15px;
+ padding-right: 15p;
+ }
+}
+
+// input style5 slant reverse
+body.input_style5:not(.setting_preview), .theme_settings .input_style5 {
+ input.o_input, .o_input {
+ border-bottom-right-radius: 50px;
+ border-top-left-radius: 50px;
+ padding-left: 15px;
+ padding-right: 15p;
+ }
+}
+
+// input style6 round
+body.input_style6:not(.setting_preview), .theme_settings .input_style6 {
+ input.o_input, .o_input {
+ border-radius: 50px;
+ padding-left: 15px;
+ padding-right: 15px;
+ }
+}
+
+// input style7 line
+body.input_style7:not(.setting_preview), .theme_settings .input_style7 {
+ input.o_input, .o_input {
+ border-bottom-right-radius: 10px;
+ border-top-left-radius: 10px;
+ padding-left: 15px;
+ padding-right: 15p;
+ }
+}
+
+// input style4 slant
+body.input_style8:not(.setting_preview), .theme_settings .input_style8 {
+ input.o_input, .o_input {
+ border-bottom-left-radius: 10px;
+ border-top-right-radius: 10px;
+ padding-left: 15px;
+ padding-right: 15p;
+ }
+}
\ No newline at end of file
diff --git a/anita_theme_setting/static/src/components/settings/mask_checker.js b/anita_theme_setting/static/src/components/settings/mask_checker.js
new file mode 100644
index 000000000..17d343f00
--- /dev/null
+++ b/anita_theme_setting/static/src/components/settings/mask_checker.js
@@ -0,0 +1,62 @@
+/** @odoo-module **/
+
+import { Component, useState, useRef } from "@odoo/owl";
+
+
+export class MaskChecker extends Component {
+
+ setup() {
+ super.setup();
+ this.root = useRef('root');
+ }
+
+ /**
+ * on mask click
+ * @param {*} ev
+ */
+ _on_mask_click() {
+ this.props.onChecked();
+ }
+
+ _on_mask_hover() {
+ if (this.props.onEnter) {
+ this.props.onEnter(this.root.el);
+ }
+ }
+
+ _on_mask_leave(event) {
+ if (this.props.onLeave) {
+ this.props.onLeave(this.root.el);
+ }
+ }
+};
+
+MaskChecker.props = {
+ onChecked: {
+ type: Function,
+ optional: 1,
+ },
+ checked: {
+ type: Boolean,
+ optional: 1,
+ },
+ slots: {
+ type: Object,
+ optional: true,
+ },
+ extraClass: {
+ type: String,
+ optional: true,
+ },
+ onEnter: {
+ type: Function,
+ optional: 1,
+ },
+ onLeave: {
+ type: Function,
+ optional: 1,
+ },
+};
+
+MaskChecker.template = "anita_theme_setting.mask_checker";
+
diff --git a/anita_theme_setting/static/src/components/settings/mask_checker.scss b/anita_theme_setting/static/src/components/settings/mask_checker.scss
new file mode 100644
index 000000000..df9ec3c40
--- /dev/null
+++ b/anita_theme_setting/static/src/components/settings/mask_checker.scss
@@ -0,0 +1,34 @@
+
+.mask_checker {
+
+ position: relative;
+ border: 1px dashed #dee2e6;
+ background-color: #fff;
+ padding: 10px;
+ display: flex;
+ justify-content: center;
+ margin-bottom: 5px;
+
+ &:hover {
+ border-color: #006fe6;
+ background: #006fe60d;
+ }
+
+ .checker_mask {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background: transparent;
+ z-index: 1;
+
+ svg {
+ width: 24px;
+ height: 24px;
+ position: absolute;
+ right: 5px;
+ top: 5px;
+ }
+ }
+}
diff --git a/anita_theme_setting/static/src/components/settings/mask_checker.xml b/anita_theme_setting/static/src/components/settings/mask_checker.xml
new file mode 100644
index 000000000..424ac0008
--- /dev/null
+++ b/anita_theme_setting/static/src/components/settings/mask_checker.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/anita_theme_setting/static/src/components/settings/radio_style.scss b/anita_theme_setting/static/src/components/settings/radio_style.scss
new file mode 100644
index 000000000..033aaf5db
--- /dev/null
+++ b/anita_theme_setting/static/src/components/settings/radio_style.scss
@@ -0,0 +1,33 @@
+
+// radio box style2
+body.radio_style2, .theme_settings .radio_style2 {
+
+ .form-check-input[type=radio] {
+ border: 1px solid #e6e6e6;
+ border-radius: 30%;
+ background: #fff;
+ &:checked {
+ background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' version='1.1' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath d='M692.071703 329.86173c-48.372707-48.387034-112.705921-75.023694-181.146687-75.023694-68.440765 0-132.747373 26.63666-181.148733 75.023694-48.400337 48.374754-75.022671 112.707968-75.022671 181.123151s26.623357 132.74635 75.022671 181.146687c48.374754 48.402383 112.707968 75.023694 181.148733 75.023694 68.441788 0 132.745327-26.647917 181.146687-75.023694 48.427966-48.373731 75.024717-112.706945 75.024717-181.146687C767.096421 442.544115 740.447481 378.237507 692.071703 329.86173z' fill='%231296db'%3E%3C/path%3E%3C/svg%3E");
+ }
+ }
+}
+
+// radio box style3
+body.radio_style3, .theme_settings .radio_style3 {
+ .form-check-input[type=radio] {
+ border-width: 1px;
+ border-radius: 30%;
+ }
+}
+
+// radio box style4
+body.radio_style4, .theme_settings .radio_style4 {
+ .form-check-input[type=radio] {
+ border-width: 1px;
+ border-radius: 50%;
+ background-color: #fff;
+ &:checked {
+ background-image: url("data:image/svg+xml,%3Csvg class='icon' viewBox='0 0 1024 1024' version='1.1' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath d='M692.071703 329.86173c-48.372707-48.387034-112.705921-75.023694-181.146687-75.023694-68.440765 0-132.747373 26.63666-181.148733 75.023694-48.400337 48.374754-75.022671 112.707968-75.022671 181.123151s26.623357 132.74635 75.022671 181.146687c48.374754 48.402383 112.707968 75.023694 181.148733 75.023694 68.441788 0 132.745327-26.647917 181.146687-75.023694 48.427966-48.373731 75.024717-112.706945 75.024717-181.146687C767.096421 442.544115 740.447481 378.237507 692.071703 329.86173z' fill='%231296db'%3E%3C/path%3E%3C/svg%3E");
+ }
+ }
+}
diff --git a/anita_theme_setting/static/src/components/settings/seprator_style.scss b/anita_theme_setting/static/src/components/settings/seprator_style.scss
new file mode 100644
index 000000000..ef280d2e7
--- /dev/null
+++ b/anita_theme_setting/static/src/components/settings/seprator_style.scss
@@ -0,0 +1,43 @@
+
+
+// separator style2
+body.separator_style2, .theme_settings .separator_style2 {
+ hr {
+ display: block;
+ position: relative;
+ width: 100vw;
+ height: 2px;
+ border: none;
+ border-bottom: 2px dotted rgba($purple, .25);
+ float: left;
+ width: 100vw;
+ ~ * {
+ clear: both;
+ }
+ }
+}
+
+// separator style3
+body.separator_style3, .theme_settings .separator_style3 {
+ hr {
+ border-top: 1px solid #8c8b8b;
+ border-bottom: 1px solid #fff;
+ width: 100%;
+ }
+}
+
+// separator style
+body.separator_style4, .theme_settings .separator_style4 {
+ hr {
+ display: block;
+ position: relative;
+ width: 100vw;
+ height: 2px;
+ border: none;
+ border-bottom: 2px dashed rgba($purple, .25);
+ float: left;
+ ~ * {
+ clear: both;
+ }
+ }
+}
diff --git a/anita_theme_setting/static/src/components/settings/settings.js b/anita_theme_setting/static/src/components/settings/settings.js
new file mode 100644
index 000000000..6bc03cc25
--- /dev/null
+++ b/anita_theme_setting/static/src/components/settings/settings.js
@@ -0,0 +1,89 @@
+/** @odoo-module **/
+
+import { Component, useState, onWillDestroy } from "@odoo/owl";
+import { AnitaAccordion } from "../accordion/accordion";
+import { MaskChecker } from "./mask_checker";
+
+import theme_setting from "anita_theme_setting.theme_setting";
+let settings = theme_setting.settings || {};
+
+export class ThemeSettings extends Component {
+
+ setup() {
+ super.setup();
+
+ this.state = useState({
+ 'button_style': settings.button_style,
+ 'input_style': settings.input_style,
+ 'checkbox_style': settings.checkbox_style,
+ 'radio_style': settings.radio_style,
+ 'tab_style': settings.tab_style,
+ 'loading_style': settings.loading_style,
+ 'table_style': settings.table_style,
+ 'separator_style': settings.separator_style,
+ 'dialog_animation_in_style': settings.dialog_animation_in_style,
+ 'sidebar_bk_style': settings.sidebar_bk_style,
+ })
+
+ if (this.props.bus) {
+ this.get_configs = this._get_configs.bind(this);
+ this.props.bus.addEventListener(`get_settings`, this.get_configs);
+ onWillDestroy(() => {
+ this.props.bus.removeEventListener(`get_settings`, this._get_configs);
+ });
+ }
+ }
+
+ _get_configs(data) {
+ let callback = data.detail.callback;
+ return callback && callback(this.state);
+ }
+
+ _on_style_checked(type, style) {
+ switch (type) {
+ case 'button':
+ this.state.button_style = style;
+ break;
+ case 'input':
+ this.state.input_style = style;
+ break;
+ case 'checkbox':
+ this.state.checkbox_style = style;
+ break;
+ case 'radio':
+ this.state.radio_style = style;
+ break;
+ case 'tab':
+ this.state.tab_style = style;
+ break;
+ case 'loading':
+ this.state.loading_style = style;
+ break;
+ case 'separator':
+ this.state.separator_style = style;
+ break;
+ case 'popup':
+ this.state.dialog_animation_in_style = style;
+ break;
+ case 'sidebar_bk':
+ this.state.sidebar_bk_style = style;
+ break;
+ }
+ }
+
+ _on_animate(rootEl, animate, add = true) {
+ if (rootEl) {
+ let el = rootEl.querySelector('.animate__animated');
+ if (el) {
+ if (add) {
+ el.classList.add(animate);
+ } else {
+ el.classList.remove(animate);
+ }
+ }
+ }
+ }
+};
+
+ThemeSettings.template = "anita_theme_setting.theme_settings";
+ThemeSettings.components = { MaskChecker, AnitaAccordion };
\ No newline at end of file
diff --git a/anita_theme_setting/static/src/components/settings/settings.scss b/anita_theme_setting/static/src/components/settings/settings.scss
new file mode 100644
index 000000000..8c305fbc3
--- /dev/null
+++ b/anita_theme_setting/static/src/components/settings/settings.scss
@@ -0,0 +1,16 @@
+
+.loading_style {
+ min-height: 60px;
+ background: black;
+ margin: 5px;
+
+ img {
+ height: 60px;
+ }
+}
+
+.loading-container {
+ .mask_checker {
+ margin: 5px;
+ }
+}
\ No newline at end of file
diff --git a/anita_theme_setting/static/src/components/settings/settings.xml b/anita_theme_setting/static/src/components/settings/settings.xml
new file mode 100644
index 000000000..54e63f5f6
--- /dev/null
+++ b/anita_theme_setting/static/src/components/settings/settings.xml
@@ -0,0 +1,620 @@
+
+
+
+
+
+
+
+
+ Primary
+
+
+
+ Primary
+
+
+
+ Primary
+
+
+
+ Primary
+
+
+
+ Primary
+
+
+
+ Primary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Checked checkbox 1
+
+
+
+
+
+
+
+
+ Checked checkbox 2
+
+
+
+
+
+
+
+
+ Checked checkbox 3
+
+
+
+
+
+
+
+
+ Checked checkbox 4
+
+
+
+
+
+
+
+
+ Checked checkbox 5
+
+
+
+
+
+
+
+
+ Checked checkbox 6
+
+
+
+
+
+
+
+
+
+
+
+ Default radio 1
+
+
+
+
+
+
+
+
+ Default radio 2
+
+
+
+
+
+
+
+ Default radio 3
+
+
+
+
+
+
+
+
+ Default radio 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ backInDown
+
+
+
+ backInLeft
+
+
+
+ backInRight
+
+
+
+ bounceInLeft
+
+
+
+ bounceInRight
+
+
+
+ bounceInUp
+
+
+
+ fadeIn
+
+
+
+ fadeInLeft
+
+
+
+ fadeInRight
+
+
+
+ fadeInLeftBig
+
+
+
+ fadeInRightBig
+
+
+
+ fadeInUp
+
+
+
+ fadeInUpBig
+
+
+
+ flipInX
+
+
+
+ flipInY
+
+
+
+ lightSpeedInRight
+
+
+
+ lightSpeedInLeft
+
+
+
+ rotateIn
+
+
+
+ rotateInDownLeft
+
+
+
+ rotateInDownRight
+
+
+
+ rotateInUpLeft
+
+
+
+ rotateInUpRight
+
+
+
+ slideInUp
+
+
+
+ slideInDown
+
+
+
+ slideInLeft
+
+
+
+ slideInRight
+
+
+
+ zoomIn
+
+
+
+ zoomInDown
+
+
+
+ zoomInLeft
+
+
+
+ zoomInRight
+
+
+
+ zoomInUp
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/anita_theme_setting/static/src/components/settings/tab_style.scss b/anita_theme_setting/static/src/components/settings/tab_style.scss
new file mode 100644
index 000000000..219a83656
--- /dev/null
+++ b/anita_theme_setting/static/src/components/settings/tab_style.scss
@@ -0,0 +1,74 @@
+
+// tab styl2, pills
+body.tab_style2,
+.theme_settings .tab_style2 {
+ .nav-tabs {
+ border-bottom: none;
+ .nav-item .nav-link {
+ border: none;
+ background: transparent;
+ &.active {
+ background-color: #2b90d9;
+ border: 1px solid #2b90d9;
+ border-radius: 5px;
+ color: #fff;
+ }
+ }
+ }
+}
+
+// tab style3, line
+body.tab_style3,
+.theme_settings .tab_style3 {
+ .nav-tabs .nav-item .nav-link {
+ border: none;
+ border-bottom: 3px solid transparent;
+ &.active {
+ background: transparent;
+ border-bottom-color: #2c3795 !important;
+ }
+ }
+}
+
+// tab style4, pills with arrow
+body.tab_style4,
+.theme_settings .tab_style4 {
+ .nav-tabs .nav-item .nav-link {
+ border: none;
+ background: transparent;
+ position: relative;
+ &.active {
+ background-color: #2b90d9;
+ color: #fff;
+ &::after {
+ content: '';
+ border-left: 6px solid transparent;
+ border-right: 6px solid transparent;
+ border-top: 6px solid #2b90d9;
+ position: absolute;
+ bottom: -6px;
+ left: 50%;
+ transform: translateX(-50%);
+ display: block;
+ }
+ }
+ }
+}
+
+// round pill
+body.tab_style5,
+.theme_settings .tab_style5 {
+ .nav-tabs {
+ border-bottom: none;
+ .nav-item .nav-link {
+ border: none;
+ background: transparent;
+ &.active {
+ background-color: #2b90d9;
+ border: 1px solid #2b90d9;
+ border-radius: 50px;
+ color: #fff;
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/anita_theme_setting/static/src/components/webclient/webclient.js b/anita_theme_setting/static/src/components/webclient/webclient.js
new file mode 100644
index 000000000..5df737745
--- /dev/null
+++ b/anita_theme_setting/static/src/components/webclient/webclient.js
@@ -0,0 +1,181 @@
+/** @odoo-module alias=anita_theme_setting.webclient**/
+
+import { WebClient } from "@web/webclient/webclient";
+
+import theme_setting from "anita_theme_setting.theme_setting";
+let settings = theme_setting.settings
+
+
+export class AnitaWebClient extends WebClient {
+
+ setup() {
+ super.setup();
+ this.update_setting();
+
+ // listen the setting change
+ this.env.bus.addEventListener('update_setting', (new_settings) => {
+ Object.assign(theme_setting.settings, new_settings)
+ settings = theme_setting.settings
+ this._update_setting();
+ });
+ }
+
+ /**
+ * set the user setting
+ */
+ update_setting() {
+
+ // update setting
+ this._update_setting();
+
+ // update the style txt
+ this._update_style();
+
+ // update the mode
+ this._update_mode();
+ }
+
+ // set current theme mode
+ _update_mode() {
+ if (theme_setting.cur_mode_name) {
+ var cur_mode_name = theme_setting.cur_mode_name
+ $('body').addClass(cur_mode_name);
+ }
+ }
+
+ _update_setting() {
+
+ // show app name
+ if ('show_app_name' in settings) {
+ if (!settings.show_app_name) {
+ $('body').addClass('hide_app_name')
+ }
+ }
+
+ // set the layout mode
+ if ('layout_mode' in settings) {
+ var layout_mode = settings.layout_mode
+ if (layout_mode) {
+ $('body').addClass(layout_mode)
+ }
+ }
+
+ // set the button style
+ if ('button_style' in settings) {
+ var button_style = settings.button_style
+ if (button_style) {
+ for (let i = 1; i <= 10; i++) {
+ $('body').removeClass(`button_style${i}`)
+ }
+ $('body').addClass(`button_${button_style}`)
+ }
+ }
+
+ // set the input style
+ if ('input_style' in settings) {
+ var input_style = settings.input_style
+ if (input_style) {
+ for (let i = 1; i <= 10; i++) {
+ $('body').removeClass(`input_style${i}`)
+ }
+ $('body').addClass('input_' + input_style)
+ }
+ }
+
+ // tab style
+ if ('tab_style' in settings) {
+ var tab_style = settings.tab_style
+ if (tab_style) {
+ for (let i = 1; i <= 10; i++) {
+ $('body').removeClass(`tab_${i}`)
+ }
+ $('body').addClass('tab_' + tab_style)
+ }
+ }
+
+ // check box style
+ if ('checkbox_style' in settings) {
+ var checkbox_style = settings.checkbox_style
+ if (checkbox_style) {
+ for (let i = 1; i <= 10; i++) {
+ $('body').removeClass(`checkbox_style${i}`)
+ }
+ $('body').addClass('checkbox_' + checkbox_style)
+ }
+ }
+
+ // radio style
+ if ('radio_style' in settings) {
+ var radio_style = settings.radio_style
+ if (radio_style) {
+ for (let i = 1; i <= 10; i++) {
+ $('body').removeClass(`radio_style${i}`)
+ }
+ $('body').addClass('radio_' + radio_style)
+ }
+ }
+
+ // switch style
+ if ('switch_style' in settings) {
+ var switch_style = settings.switch_style
+ if (switch_style) {
+ for (let i = 1; i <= 10; i++) {
+ $('body').removeClass(`switch_style${i}`)
+ }
+ $('body').addClass('switch_' + switch_style)
+ }
+ }
+
+ // set the rtl mode
+ if ('rtl_mode' in settings) {
+ if (settings.rtl_mode) {
+ $('body').addClass('rtl_mode')
+ }
+ }
+
+ // separator style
+ if ('separator_style' in settings) {
+ var separator_style = settings.separator_style
+ if (separator_style) {
+ for (let i = 1; i <= 10; i++) {
+ $('body').removeClass(`separator_style${i}`)
+ }
+ $('body').addClass('separator_' + separator_style)
+ }
+ }
+ }
+
+ _update_style() {
+
+ var $body = $('body')
+
+ if (theme_setting.mode_style_css) {
+ var style_id = 'mode_style_id';
+ var styleText = theme_setting.mode_style_css
+ var style = document.getElementById(style_id);
+ if (style.styleSheet) {
+ style.setAttribute('type', 'text/css');
+ style.styleSheet.cssText = styleText;
+ } else {
+ style.innerHTML = styleText;
+ }
+ style && $body[0].removeChild(style);
+ $body[0].appendChild(style);
+ }
+
+ // as the priority is highable
+ if (theme_setting.style_txt) {
+ var style_id = 'style_id';
+ var styleText = theme_setting.style_txt
+ var style = document.getElementById(style_id);
+ if (style.styleSheet) {
+ style.setAttribute('type', 'text/css');
+ style.styleSheet.cssText = styleText;
+ } else {
+ style.innerHTML = styleText;
+ }
+ style && $body[0].removeChild(style);
+ $body[0].appendChild(style);
+ }
+ }
+}
diff --git a/anita_theme_setting/views/anita_bk_image_wizard.xml b/anita_theme_setting/views/anita_bk_image_wizard.xml
new file mode 100644
index 000000000..1150c4106
--- /dev/null
+++ b/anita_theme_setting/views/anita_bk_image_wizard.xml
@@ -0,0 +1,38 @@
+
+
+
+
+
+ anita_theme_setting.background_image_wizard
+ anita_theme_setting.background_image_wizard
+
+
+
+
+
+
+ anita_theme_setting.background_image_wizard
+ anita_theme_setting.background_image_wizard
+ tree,form
+
+
+
+
\ No newline at end of file
diff --git a/anita_theme_setting/views/anita_import_theme_style.xml b/anita_theme_setting/views/anita_import_theme_style.xml
new file mode 100644
index 000000000..8202c14ab
--- /dev/null
+++ b/anita_theme_setting/views/anita_import_theme_style.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+ Import Theme Style
+ anita_theme_setting.import_theme_style
+
+
+
+
+
+
+ Import Theme Style
+ anita_theme_setting.import_theme_style
+ tree,form
+
+
+
+
diff --git a/anita_theme_setting/views/anita_res_setting.xml b/anita_theme_setting/views/anita_res_setting.xml
new file mode 100644
index 000000000..903ffd2fa
--- /dev/null
+++ b/anita_theme_setting/views/anita_res_setting.xml
@@ -0,0 +1,48 @@
+
+
+
+
+
+ Theme Settings
+ res.config.settings
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Settings
+ ir.actions.act_window
+ res.config.settings
+
+ form
+ inline
+
+
+
+
diff --git a/anita_theme_setting/views/anita_theme_mode.xml b/anita_theme_setting/views/anita_theme_mode.xml
new file mode 100644
index 000000000..23a022a2f
--- /dev/null
+++ b/anita_theme_setting/views/anita_theme_mode.xml
@@ -0,0 +1,136 @@
+
+
+
+
+ Theme Mode
+ anita_theme_setting.theme_mode
+
+
+
+
+
+
+
+
+
+ Theme Mode
+ anita_theme_setting.theme_mode
+
+
+
+
+
+
+ New Theme Mode
+ anita_theme_setting.theme_mode
+
+
+
+
+
+
+ New Theme Mode
+ anita_theme_setting.theme_mode
+
+
+
+
+
+
+ Theme Mode
+ anita_theme_setting.theme_mode
+ tree,form
+
+
+
+
diff --git a/anita_theme_setting/views/anita_theme_style.xml b/anita_theme_setting/views/anita_theme_style.xml
new file mode 100644
index 000000000..05b3c7822
--- /dev/null
+++ b/anita_theme_setting/views/anita_theme_style.xml
@@ -0,0 +1,97 @@
+
+
+
+
+
+ theme style
+ anita_theme_setting.theme_style
+
+
+
+
+
+
+
+
+
+ theme style form
+ anita_theme_setting.theme_style
+
+
+
+
+
+
+ theme style form
+ anita_theme_setting.theme_style
+
+
+
+
+
+
+ theme_style
+ anita_theme_setting.theme_style
+ tree,form
+ {'search_default_group_by_theme_mode': True, 'pop_up_form': True}
+
+
+
+
+
\ No newline at end of file
diff --git a/anita_theme_setting/views/anita_theme_style_group.xml b/anita_theme_setting/views/anita_theme_style_group.xml
new file mode 100644
index 000000000..5f8fdf0c7
--- /dev/null
+++ b/anita_theme_setting/views/anita_theme_style_group.xml
@@ -0,0 +1,54 @@
+
+
+
+
+
+ Style Item Group
+ anita_theme_setting.style_item_group
+
+
+
+
+
+
+
+
+ Style Item Group
+ anita_theme_setting.style_item_group
+
+
+
+
+
+
+ Style Item Group
+ anita_theme_setting.style_item_group
+ tree,form
+
+
+
+
+
\ No newline at end of file
diff --git a/anita_theme_setting/views/anita_theme_style_item.xml b/anita_theme_setting/views/anita_theme_style_item.xml
new file mode 100644
index 000000000..f02174880
--- /dev/null
+++ b/anita_theme_setting/views/anita_theme_style_item.xml
@@ -0,0 +1,101 @@
+
+
+
+
+ theme style item
+ anita_theme_setting.style_item
+
+
+
+
+
+
+ theme style item
+ anita_theme_setting.style_item
+ tree,form
+
+
+
+ theme style config
+ theme_mode_editor
+ main
+
+
+
+
diff --git a/anita_theme_setting/views/anita_theme_style_item_sub_group.xml b/anita_theme_setting/views/anita_theme_style_item_sub_group.xml
new file mode 100644
index 000000000..a1fe0b203
--- /dev/null
+++ b/anita_theme_setting/views/anita_theme_style_item_sub_group.xml
@@ -0,0 +1,54 @@
+
+
+
+
+
+ Style Item Sub Group
+ anita_theme_setting.style_item_sub_group
+
+
+
+
+
+
+
+
+ Style Item Group
+ anita_theme_setting.style_item_sub_group
+
+
+
+
+
+
+ style item sub group
+ anita_theme_setting.style_item_sub_group
+ tree,form
+
+
+
+
+
\ No newline at end of file
diff --git a/anita_theme_setting/views/anita_theme_var.xml b/anita_theme_setting/views/anita_theme_var.xml
new file mode 100644
index 000000000..ce0d20ac8
--- /dev/null
+++ b/anita_theme_setting/views/anita_theme_var.xml
@@ -0,0 +1,161 @@
+
+
+
+
+ theme style item
+ anita_theme_setting.theme_var
+
+
+
+
+
+
+ theme var
+ anita_theme_setting.theme_var
+
+
+
+
+
+
+ theme var
+ anita_theme_setting.theme_var
+ tree,form
+
+
+
+
+
\ No newline at end of file
diff --git a/anita_theme_setting/views/anita_ui_menu.xml b/anita_theme_setting/views/anita_ui_menu.xml
new file mode 100644
index 000000000..1f5c36b9f
--- /dev/null
+++ b/anita_theme_setting/views/anita_ui_menu.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
diff --git a/anita_theme_setting/views/anita_web.xml b/anita_theme_setting/views/anita_web.xml
new file mode 100644
index 000000000..ee5127994
--- /dev/null
+++ b/anita_theme_setting/views/anita_web.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/awesome_theme/__init__.py b/awesome_theme/__init__.py
new file mode 100644
index 000000000..511a0ca3a
--- /dev/null
+++ b/awesome_theme/__init__.py
@@ -0,0 +1,4 @@
+# -*- coding: utf-8 -*-
+
+from . import controllers
+from . import models
\ No newline at end of file
diff --git a/awesome_theme/__manifest__.py b/awesome_theme/__manifest__.py
new file mode 100644
index 000000000..0a62d463c
--- /dev/null
+++ b/awesome_theme/__manifest__.py
@@ -0,0 +1,117 @@
+# -*- coding: utf-8 -*-
+{
+ 'name': "awesome_theme",
+
+ 'summary': """
+ awesome theme
+ advance theme
+ sunsine theme
+ mnk theme for odoo
+ free backend theme
+ odoo theme
+ owl theme
+ multi mode theme
+ free theme
+ multi style theme
+ button style theme
+ crazy theme
+ nice theme
+ mutli tab theme
+ multi layout theme
+ mult tab style theme
+ """,
+
+ 'description': """
+ awesome theme for odoo, it is a powerfull theme
+ """,
+
+ 'author': "Funenc Odoo Team",
+ 'website': "https://www.openerpnext.com",
+ 'live_test_url': 'https://www.openerpnext.com',
+ 'images': [
+ 'static/description/awesome_description.gif',
+ 'static/description/awesome_screenshot.gif'
+ ],
+ 'license': 'OPL-1',
+
+ 'category': 'Themes/Backend',
+ 'version': '17.0.0.7',
+ 'price': 699,
+
+ 'depends': ['web_enterprise', 'anita_theme_setting'],
+
+ 'data': [
+ 'security/ir.model.access.csv',
+
+ # templates
+ # 'data/default_templates.xml',
+
+ # 'views/awesome_res_setting.xml',
+ ],
+
+ 'assets': {
+
+ 'web.assets_backend': [
+
+ # css
+ 'awesome_theme/static/scss/variables/variables.scss',
+ 'awesome_theme/static/scss/*.scss',
+
+ # import dragula
+ 'awesome_theme/static/libs/dragula/dragula.min.css',
+ 'awesome_theme/static/libs/dragula/dragula.min.js',
+
+ # jquery full screen
+ 'awesome_theme/static/libs/jquery.fullscreen.js',
+
+ # perfect scroll
+ 'awesome_theme/static/libs/perfect-scrollbar.min.js',
+
+ # resize helper
+ 'awesome_theme/static/libs/resize_helper.js',
+ 'awesome_theme/static/src/components/resize_manager.js',
+
+ # sidebar
+ 'awesome_theme/static/src/components/sidebar/*',
+
+ # user_profile
+ 'awesome_theme/static/src/components/user_profile/*',
+
+ # header
+ 'awesome_theme/static/src/components/header/*',
+
+ # footer
+ # 'awesome_theme/static/src/components/footer/*',
+
+ # overlay
+ 'awesome_theme/static/src/components/overlay/*',
+
+ # client
+ 'awesome_theme/static/src/components/webclient/*',
+
+ # autocomplete
+ 'awesome_theme/static/src/components/autocomplete/*',
+
+ # select
+ 'awesome_theme/static/src/components/selection/*',
+
+ # datepicker
+ # 'awesome_theme/static/src/components/datepicker/*',
+
+ # many2one replace by autocomplete
+ # 'awesome_theme/static/src/components/many2one/*',
+
+ # panel toggler
+ 'awesome_theme/static/src/components/panel_toggler/*',
+
+ # setting
+ 'awesome_theme/static/src/components/settings/*',
+
+ # full screen
+ 'awesome_theme/static/src/components/full_screen/*',
+
+ # appcenter
+ 'awesome_theme/static/src/components/app_center/*',
+ ]
+ }
+}
diff --git a/awesome_theme/controllers/__init__.py b/awesome_theme/controllers/__init__.py
new file mode 100644
index 000000000..2be959a95
--- /dev/null
+++ b/awesome_theme/controllers/__init__.py
@@ -0,0 +1,3 @@
+# -*- coding: utf-8 -*-
+
+from . import ylhc_home
\ No newline at end of file
diff --git a/awesome_theme/controllers/ylhc_home.py b/awesome_theme/controllers/ylhc_home.py
new file mode 100644
index 000000000..bc8270aba
--- /dev/null
+++ b/awesome_theme/controllers/ylhc_home.py
@@ -0,0 +1,88 @@
+# -*- coding: utf-8 -*-
+
+import odoo
+import odoo.modules.registry
+from odoo.tools.translate import _
+from odoo.exceptions import AccessError
+from odoo.addons.web.controllers.home import Home, SIGN_UP_REQUEST_PARAMS
+from odoo.addons.web.controllers.utils import ensure_db, is_user_internal
+from odoo import http
+from odoo.http import request
+from odoo.modules import get_resource_path
+from odoo.tools.mimetypes import guess_mimetype
+from odoo.tools import file_open, file_path, replace_exceptions
+
+try:
+ from werkzeug.utils import send_file
+except ImportError:
+ from odoo.tools._vendor.send_file import send_file
+
+import json
+import base64
+import functools
+import io
+import os
+import logging
+
+_logger = logging.getLogger(__name__)
+
+BASE_PATH = os.path.dirname(os.path.dirname(__file__))
+
+
+class AwesomeHome(Home):
+ '''
+ inherit home to extend web.login style
+ '''
+ @http.route([
+ '/web/binary/company_small_logo',
+ '/logo_small',
+ '/logo_small.png',
+ ], type='http', auth="none", cors="*")
+ def company_logo(self, dbname=None, **kw):
+ imgname = 'logo'
+ imgext = '.png'
+ dbname = request.db
+ uid = (request.session.uid if dbname else None) or odoo.SUPERUSER_ID
+
+ if not dbname:
+ response = http.Stream.from_path(file_path('web/static/img/logo.png')).get_response()
+ else:
+ try:
+ # create an empty registry
+ registry = odoo.modules.registry.Registry(dbname)
+ with registry.cursor() as cr:
+ company = int(kw['company']) if kw and kw.get('company') else False
+ if company:
+ cr.execute("""SELECT logo_web, write_date
+ FROM res_company
+ WHERE id = %s
+ """, (company,))
+ else:
+ cr.execute("""SELECT c.logo_web, c.write_date
+ FROM res_users u
+ LEFT JOIN res_company c
+ ON c.id = u.company_id
+ WHERE u.id = %s
+ """, (uid,))
+ row = cr.fetchone()
+ if row and row[0]:
+ image_base64 = base64.b64decode(row[0])
+ image_data = io.BytesIO(image_base64)
+ mimetype = guess_mimetype(image_base64, default='image/png')
+ imgext = '.' + mimetype.split('/')[1]
+ if imgext == '.svg+xml':
+ imgext = '.svg'
+ response = send_file(
+ image_data,
+ request.httprequest.environ,
+ download_name=imgname + imgext,
+ mimetype=mimetype,
+ last_modified=row[1],
+ response_class=Response,
+ )
+ else:
+ response = http.Stream.from_path(file_path('web/static/img/nologo.png')).get_response()
+ except Exception:
+ response = http.Stream.from_path(file_path(f'web/static/img/{imgname}{imgext}')).get_response()
+
+ return response
\ No newline at end of file
diff --git a/awesome_theme/data/default_templates.xml b/awesome_theme/data/default_templates.xml
new file mode 100644
index 000000000..1c5b628aa
--- /dev/null
+++ b/awesome_theme/data/default_templates.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/awesome_theme/models/__init__.py b/awesome_theme/models/__init__.py
new file mode 100644
index 000000000..40a96afc6
--- /dev/null
+++ b/awesome_theme/models/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/awesome_theme/security/ir.model.access.csv b/awesome_theme/security/ir.model.access.csv
new file mode 100644
index 000000000..08145a00f
--- /dev/null
+++ b/awesome_theme/security/ir.model.access.csv
@@ -0,0 +1,2 @@
+id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
+
diff --git a/awesome_theme/static/description/anita_description.png b/awesome_theme/static/description/anita_description.png
new file mode 100644
index 000000000..1a9031c40
Binary files /dev/null and b/awesome_theme/static/description/anita_description.png differ
diff --git a/awesome_theme/static/description/anita_screenshot.png b/awesome_theme/static/description/anita_screenshot.png
new file mode 100644
index 000000000..9157fc68c
Binary files /dev/null and b/awesome_theme/static/description/anita_screenshot.png differ
diff --git a/awesome_theme/static/description/anita_switcher.png b/awesome_theme/static/description/anita_switcher.png
new file mode 100644
index 000000000..f7309adcc
Binary files /dev/null and b/awesome_theme/static/description/anita_switcher.png differ
diff --git a/awesome_theme/static/description/awesome_description.png b/awesome_theme/static/description/awesome_description.png
new file mode 100644
index 000000000..1a9031c40
Binary files /dev/null and b/awesome_theme/static/description/awesome_description.png differ
diff --git a/awesome_theme/static/description/awesome_screenshot.gif b/awesome_theme/static/description/awesome_screenshot.gif
new file mode 100644
index 000000000..b3e1c3ca4
Binary files /dev/null and b/awesome_theme/static/description/awesome_screenshot.gif differ
diff --git a/awesome_theme/static/description/awesome_screenshot.png b/awesome_theme/static/description/awesome_screenshot.png
new file mode 100644
index 000000000..9157fc68c
Binary files /dev/null and b/awesome_theme/static/description/awesome_screenshot.png differ
diff --git a/awesome_theme/static/description/awesome_switcher.png b/awesome_theme/static/description/awesome_switcher.png
new file mode 100644
index 000000000..f7309adcc
Binary files /dev/null and b/awesome_theme/static/description/awesome_switcher.png differ
diff --git a/awesome_theme/static/description/banner.png b/awesome_theme/static/description/banner.png
new file mode 100644
index 000000000..d15235448
Binary files /dev/null and b/awesome_theme/static/description/banner.png differ
diff --git a/awesome_theme/static/description/description.gif b/awesome_theme/static/description/description.gif
new file mode 100644
index 000000000..39a8da5a0
Binary files /dev/null and b/awesome_theme/static/description/description.gif differ
diff --git a/awesome_theme/static/description/description.png b/awesome_theme/static/description/description.png
new file mode 100644
index 000000000..cd811a073
Binary files /dev/null and b/awesome_theme/static/description/description.png differ
diff --git a/awesome_theme/static/description/icon.png b/awesome_theme/static/description/icon.png
new file mode 100644
index 000000000..e0dcd8803
Binary files /dev/null and b/awesome_theme/static/description/icon.png differ
diff --git a/awesome_theme/static/description/images/admin_theme_pro.gif b/awesome_theme/static/description/images/admin_theme_pro.gif
new file mode 100644
index 000000000..c45dd1fdd
Binary files /dev/null and b/awesome_theme/static/description/images/admin_theme_pro.gif differ
diff --git a/awesome_theme/static/description/images/akl_multi_tab_plugin.gif b/awesome_theme/static/description/images/akl_multi_tab_plugin.gif
new file mode 100644
index 000000000..f964000e0
Binary files /dev/null and b/awesome_theme/static/description/images/akl_multi_tab_plugin.gif differ
diff --git a/awesome_theme/static/description/images/anita_list.gif b/awesome_theme/static/description/images/anita_list.gif
new file mode 100644
index 000000000..f63e756a3
Binary files /dev/null and b/awesome_theme/static/description/images/anita_list.gif differ
diff --git a/awesome_theme/static/description/images/anita_modeler.gif b/awesome_theme/static/description/images/anita_modeler.gif
new file mode 100644
index 000000000..693bf2386
Binary files /dev/null and b/awesome_theme/static/description/images/anita_modeler.gif differ
diff --git a/awesome_theme/static/description/images/awesome_list.gif b/awesome_theme/static/description/images/awesome_list.gif
new file mode 100644
index 000000000..f63e756a3
Binary files /dev/null and b/awesome_theme/static/description/images/awesome_list.gif differ
diff --git a/awesome_theme/static/description/images/awesome_modeler.gif b/awesome_theme/static/description/images/awesome_modeler.gif
new file mode 100644
index 000000000..693bf2386
Binary files /dev/null and b/awesome_theme/static/description/images/awesome_modeler.gif differ
diff --git a/awesome_theme/static/description/images/awesome_theme_pro.gif b/awesome_theme/static/description/images/awesome_theme_pro.gif
new file mode 100644
index 000000000..c45dd1fdd
Binary files /dev/null and b/awesome_theme/static/description/images/awesome_theme_pro.gif differ
diff --git a/awesome_theme/static/description/index.html b/awesome_theme/static/description/index.html
new file mode 100644
index 000000000..66198d150
--- /dev/null
+++ b/awesome_theme/static/description/index.html
@@ -0,0 +1,188 @@
+
+
+
+
+
+
+
+ Awesome theme is a modern theme for odoo, it is full mobile responsive and multi mode and multi style theme.
+
+
+
+
(Current Release V17.0.0.1 -- 2023.12.1)
+
+
+
+
+ Overview Of This Theme
+
+
+
+
+
+
+
+
+
+
+
+
Features
+
+ As there is a lot of features in this theme, some of them are develop related, so we not list all of
+ theme.
+
+
+
+
+
+
+
+
+
+
+ Anita Modeler
+
+
+
+
+
+
+
+
+
+
+
+ Anita List
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/awesome_theme/static/description/others/anita_list.gif b/awesome_theme/static/description/others/anita_list.gif
new file mode 100644
index 000000000..f63e756a3
Binary files /dev/null and b/awesome_theme/static/description/others/anita_list.gif differ
diff --git a/awesome_theme/static/description/others/anita_modeler.png b/awesome_theme/static/description/others/anita_modeler.png
new file mode 100644
index 000000000..a56f812f4
Binary files /dev/null and b/awesome_theme/static/description/others/anita_modeler.png differ
diff --git a/awesome_theme/static/description/others/awesome_theme.gif b/awesome_theme/static/description/others/awesome_theme.gif
new file mode 100644
index 000000000..c45dd1fdd
Binary files /dev/null and b/awesome_theme/static/description/others/awesome_theme.gif differ
diff --git a/awesome_theme/static/description/rtl.png b/awesome_theme/static/description/rtl.png
new file mode 100644
index 000000000..00a15944b
Binary files /dev/null and b/awesome_theme/static/description/rtl.png differ
diff --git a/awesome_theme/static/description/settings.gif b/awesome_theme/static/description/settings.gif
new file mode 100644
index 000000000..f4f181282
Binary files /dev/null and b/awesome_theme/static/description/settings.gif differ
diff --git a/awesome_theme/static/img/logo.png b/awesome_theme/static/img/logo.png
new file mode 100644
index 000000000..714eea5db
Binary files /dev/null and b/awesome_theme/static/img/logo.png differ
diff --git a/awesome_theme/static/json/dark_mode.json b/awesome_theme/static/json/dark_mode.json
new file mode 100644
index 000000000..0a34eceb3
--- /dev/null
+++ b/awesome_theme/static/json/dark_mode.json
@@ -0,0 +1,1215 @@
+{
+ "name": "dark",
+ "mode_template": "template1",
+ "version": "16.0.0.1",
+ "template_var_vals": {
+ "back_ground": [
+ {
+ "name": "$light_background_color",
+ "value": "#313852",
+ "description": "light background color, like the background of the main window"
+ },
+ {
+ "name": "$semi_dark_background_color",
+ "value": "#394160",
+ "description": "semi dark background color, like the background of the control panel"
+ },
+ {
+ "name": "$dark_background_color",
+ "value": "#182139",
+ "description": "dark background color, like the background of the sidebar"
+ }
+ ],
+ "side_bar": [
+ {
+ "name": "$sidebar_background_color",
+ "value": "#313852",
+ "disable_opacity": true,
+ "description": "dark background color, like the background of the sidebar"
+ },
+ {
+ "name": "$sidebar_tab_color",
+ "value": "#313852",
+ "disable_opacity": true,
+ "description": "dark background color, like the background of the sidebar"
+ },
+ {
+ "name": "$sidebar_text_color",
+ "value": "#c7c7c7",
+ "disable_opacity": true,
+ "description": "dark background color, like the background of the sidebar"
+ }
+ ],
+ "text_color": [
+ {
+ "name": "$text_color",
+ "value": "#c7c7c7",
+ "description": "text color, default color of all text"
+ }
+ ],
+ "input": [
+ {
+ "name": "$input_background_color",
+ "value": "#292f44",
+ "description": "input background color"
+ },
+ {
+ "name": "$input_border_color",
+ "value": "#394160",
+ "description": "input border color"
+ },
+ {
+ "name": "$input_text_color",
+ "value": "#c7c7c7",
+ "description": "input text color"
+ },
+ {
+ "name": "$input_foucus_color",
+ "value": "#313852",
+ "description": "input focus color"
+ },
+ {
+ "name": "$input_checked_color",
+ "value": "#182139",
+ "description": "input checked color"
+ },
+ {
+ "name": "$input_hover_color",
+ "value": "#313852",
+ "description": "input hover color"
+ }
+ ],
+ "primary": [
+ {
+ "name": "$primary_color",
+ "value": "#313852",
+ "description": "primary background color, like the primary button color"
+ },
+ {
+ "name": "$primary_hover_color",
+ "value": "#3b425c",
+ "description": "primary hover background color, like the primary button hover color"
+ },
+ {
+ "name": "$primary_active_color",
+ "value": "#3b425c",
+ "description": "primary active background color, like the primary button active color"
+ },
+ {
+ "name": "$primary_border_color",
+ "value": "#4d5075",
+ "description": "primary border color, like the primary button border color"
+ },
+ {
+ "name": "$primary_border_hover_color",
+ "value": "#797bf2",
+ "description": "primary border hover color, like the primary button border hover color"
+ },
+ {
+ "name": "$primary_border_active_color",
+ "value": "#797bf2",
+ "description": "primary border active color, like the primary button border active color"
+ },
+ {
+ "name": "$primary_text_color",
+ "value": "#c7c7c7",
+ "description": "primary text color, like the primary button text color"
+ },
+ {
+ "name": "$primary_text_hover_color",
+ "value": "#c7c7c7",
+ "description": "primary text hover color, like the primary button text hover color"
+ },
+ {
+ "name": "$primary_text_active_color",
+ "value": "#c7c7c7",
+ "description": "primary text active color, like the primary button text active color"
+ }
+ ],
+ "secondary": [
+ {
+ "name": "$secondary_color",
+ "value": "#3b425c",
+ "description": "secondary background color, like the secondary button color"
+ },
+ {
+ "name": "$secondary_hover_color",
+ "value": "#3b425c",
+ "description": "secondary hover background color, like the secondary button hover color"
+ },
+ {
+ "name": "$secondary_active_color",
+ "value": "#3b425c",
+ "description": "secondary active background color, like the secondary button active color"
+ },
+ {
+ "name": "$secondary_border_color",
+ "value": "#313852",
+ "description": "secondary border color, like the secondary button border color"
+ },
+ {
+ "name": "$secondary_border_hover_color",
+ "value": "#313852",
+ "description": "secondary border hover color, like the secondary button border hover color"
+ },
+ {
+ "name": "$secondary_border_active_color",
+ "value": "#313852",
+ "description": "secondary border active color, like the secondary button border active color"
+ },
+ {
+ "name": "$secondary_text_color",
+ "value": "#c7c7c7",
+ "description": "secondary text color, like the secondary button text color"
+ },
+ {
+ "name": "$secondary_text_hover_color",
+ "value": "#c7c7c7",
+ "description": "secondary text hover color, like the secondary button text hover color"
+ },
+ {
+ "name": "$secondary_text_active_color",
+ "value": "#c7c7c7",
+ "description": "secondary text active color, like the secondary button text active color"
+ }
+ ],
+ "border": [
+ {
+ "name": "$dark_border_color",
+ "value": "#22273a",
+ "description": "dark border color, like the border of the main window"
+ },
+ {
+ "name": "$semi_dark_border_color",
+ "value": "#454c66",
+ "description": "semi border color, like the border of the control panel"
+ },
+ {
+ "name": "$light_border_color",
+ "value": "#313852",
+ "description": "light border color, like the border of the sidebar"
+ }
+ ],
+ "menu item": [
+ {
+ "name": "$menu_item_color",
+ "value": "#3b425c",
+ "description": "menu item color, like the menu item color"
+ },
+ {
+ "name": "$menu_item_text_color",
+ "value": "#c7c7c7",
+ "description": "menu item text color, like the menu item text color"
+ },
+ {
+ "name": "$menu_item_hover_color",
+ "value": "#454c66",
+ "description": "menu item hover color, like the menu item hover color"
+ },
+ {
+ "name": "$menu_item_active_color",
+ "value": "#454c66",
+ "description": "menu item hover color, like the menu item hover color"
+ },
+ {
+ "name": "$menu_item_text_hover_color",
+ "value": "#c7c7c7",
+ "description": "menu item text color, like the menu item text color"
+ },
+ {
+ "name": "$menu_item_text_active_color",
+ "value": "#c7c7c7",
+ "description": "menu item text color, like the menu item text color"
+ }
+ ],
+
+ "shadow": [
+ {
+ "name": "$shadow_color",
+ "value": "#00000049",
+ "description": "shadow color, like the shadow color"
+ }
+ ],
+
+ "link": [
+ {
+ "name": "$link_text_color",
+ "value": "#66598f",
+ "description": "link text color"
+ },
+ {
+ "name": "$link_text_hover_color",
+ "value": "#66598f",
+ "description": "link text hover color"
+ },
+ {
+ "name": "$link_text_active_color",
+ "value": "#66598f",
+ "description": "link text active color"
+ }
+ ],
+
+ "table": [
+ {
+ "name": "$table_header_color",
+ "value": "#3b425c",
+ "description": "table header background color"
+ },
+ {
+ "name": "$table_header_text_color",
+ "value": "#c7c7c7",
+ "description": "table header text color"
+ },
+ {
+ "name": "$table_color",
+ "value": "#c7c7c7",
+ "description": "table body background color"
+ },
+ {
+ "name": "$table_border_color",
+ "value": "#dee2e6",
+ "description": "table header border color"
+ },
+ {
+ "name": "$table_row_color",
+ "value": "#182139",
+ "description": "table row color"
+ },
+ {
+ "name": "$table_row_text_color",
+ "value": "#c7c7c7",
+ "description": "table row text color"
+ },
+ {
+ "name": "$table_row_hover_color",
+ "value": "#424b70",
+ "description": "table row hover color"
+ },
+ {
+ "name": "$table_row_hover_text_color",
+ "value": "#c7c7c7",
+ "description": "table row hover text color"
+ },
+ {
+ "name": "$table_odd_row_color",
+ "value": "#3b425c",
+ "description": "table odd row color"
+ }
+ ],
+ "scroll": [
+ {
+ "name": "$track",
+ "value": "#FFFFFF",
+ "description": "scroll track color"
+ },
+ {
+ "name": "$thumb",
+ "value": "#888",
+ "description": "scroll thumb color"
+ },
+ {
+ "name": "$thumb_hover",
+ "value": "#555",
+ "description": "scroll thumb active color"
+ },
+ {
+ "name": "$increment",
+ "value": "#000",
+ "description": "scroll thumb hover color"
+ },
+ {
+ "name": "$corner",
+ "value": "#000",
+ "description": "scroll increment color"
+ },
+ {
+ "name": "$track-piece",
+ "value": "#555",
+ "description": "scroll decrement color"
+ }
+ ]
+ },
+
+ "theme_styles": [
+ {
+ "name": "style1",
+ "is_default": true,
+ "groups": [
+ {
+ "name": "side bar",
+ "sub_groups": [
+ {
+ "name": "app tab",
+ "style_items": [
+ {
+ "name": "background",
+ "selectors": [
+ ".sidebar_menu .app_container"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$light_background_color",
+ "identity": "side_bar_background"
+ }
+ ],
+ "val_template": "background: {color} !important;"
+ },
+ {
+ "name": "text color",
+ "selectors": [
+ ".sidebar_menu .app_name"
+ ],
+ "val_template": "color: {color} !important;",
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$text_color"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "header",
+ "sub_groups": [
+ {
+ "name": "normal",
+ "style_items": [
+ {
+ "name": "background",
+ "selectors": [
+ ".awesome_header "
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$light_background_color",
+ "identity": "header_background"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ }
+ ]
+ },
+ {
+ "name": "toggler",
+ "style_items": [
+ {
+ "name": "background",
+ "selectors": [
+ ".header .navigation-toggler a"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$secondary_color"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ },
+ {
+ "name": "hover background",
+ "selectors": [
+ ".header .navigation-toggler a:hover"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$secondary_hover_color"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ },
+ {
+ "name": "border color",
+ "selectors": [
+ ".header .navigation-toggler"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$secondary_border_color"
+ }
+ ],
+ "val_template": "border-color: {color} !important;"
+ },
+ {
+ "name": "hover background",
+ "selectors": [
+ ".header .navigation-toggler:hover"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$secondary_hover_color"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "body",
+ "sub_groups": [
+ {
+ "name": "normal",
+ "style_items": [
+ {
+ "name": "background",
+ "sub_group": "body",
+ "selectors": [
+ ".o_action_manager"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$dark_background_color",
+ "identity": "body_background"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "app board",
+ "sub_groups": [
+ {
+ "name": "normal",
+ "style_items": [
+ {
+ "name": "background",
+ "selectors": [
+ ".awesome_app_board"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color1",
+ "ref_var": "$light_background_color"
+ },
+ {
+ "type": "color",
+ "name": "color2",
+ "ref_var": "$dark_background_color"
+ }
+ ],
+ "val_template": "background: radial-gradient({color1}, {color2}) !important;"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "control panel",
+ "sub_groups": [
+ {
+ "name": "normal",
+ "style_items": [
+ {
+ "name": "background color",
+ "selectors": [
+ ".o_control_panel"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$light_background_color"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "list view",
+ "sub_groups": [
+ {
+ "name": "header",
+ "style_items": [
+ {
+ "name": "text color",
+ "selectors": [
+ ".o_list_view .o_list_table thead"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$table_header_text_color"
+ }
+ ],
+ "val_template": "color: {color} !important;"
+ },
+ {
+ "name": "background",
+ "selectors": [
+ ".o_list_view .table-responsive .o_list_table thead",
+ ".o_list_view .table-responsive .o_list_table thead tr:nth-child(1) th"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$table_header_color"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ }
+ ]
+ },
+ {
+ "name": "body",
+ "style_items": [
+ {
+ "name": "row hover color",
+ "selectors": [
+ ".table-hover.table-striped tbody tr:hover"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$table_row_hover_color"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ },
+ {
+ "name": "odd row color",
+ "selectors": [
+ ".table-striped tbody tr:nth-of-type(odd)"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$table_odd_row_color"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ }
+ ]
+ },
+ {
+ "name": "footer",
+ "style_items": [
+ {
+ "name": "background",
+ "selectors": [
+ ".o_list_view .table-responsive .o_list_table tfoot",
+ ".o_list_view .table-responsive .o_list_table tfoot tr:nth-child(1) td"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$light_background_color"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "style2",
+ "is_default": true,
+ "groups": [
+ {
+ "name": "side bar",
+ "sub_groups": [
+ {
+ "name": "app tab",
+ "style_items": [
+ {
+ "name": "background",
+ "selectors": [
+ ".sidebar_menu .app_container"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$light_background_color",
+ "identity": "side_bar_background"
+ }
+ ],
+ "val_template": "background: {color} !important;"
+ },
+ {
+ "name": "text color",
+ "selectors": [
+ ".sidebar_menu .app_name"
+ ],
+ "val_template": "color: {color} !important;",
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$text_color"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "header",
+ "sub_groups": [
+ {
+ "name": "normal",
+ "style_items": [
+ {
+ "name": "background",
+ "selectors": [
+ ".awesome_header "
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$light_background_color",
+ "identity": "header_background"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ }
+ ]
+ },
+ {
+ "name": "toggler",
+ "style_items": [
+ {
+ "name": "background",
+ "selectors": [
+ ".header .navigation-toggler a"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$secondary_color"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ },
+ {
+ "name": "hover background",
+ "selectors": [
+ ".header .navigation-toggler a:hover"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$secondary_hover_color"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ },
+ {
+ "name": "border color",
+ "selectors": [
+ ".header .navigation-toggler"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$secondary_border_color"
+ }
+ ],
+ "val_template": "border-color: {color} !important;"
+ },
+ {
+ "name": "hover background",
+ "selectors": [
+ ".header .navigation-toggler:hover"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$secondary_hover_color"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "app board",
+ "sub_groups": [
+ {
+ "name": "normal",
+ "style_items": [
+ {
+ "name": "background",
+ "selectors": [
+ ".awesome_app_board"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color1",
+ "ref_var": "$light_background_color"
+ },
+ {
+ "type": "color",
+ "name": "color2",
+ "ref_var": "$dark_background_color"
+ }
+ ],
+ "val_template": "background: radial-gradient({color1}, {color2}) !important;"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "control panel",
+ "sub_groups": [
+ {
+ "name": "normal",
+ "style_items": [
+ {
+ "name": "background color",
+ "selectors": [
+ ".o_control_panel"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$light_background_color"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "list view",
+ "sub_groups": [
+ {
+ "name": "header",
+ "style_items": [
+ {
+ "name": "text color",
+ "selectors": [
+ ".o_list_view .o_list_table thead"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$table_header_text_color"
+ }
+ ],
+ "val_template": "color: {color} !important;"
+ },
+ {
+ "name": "background",
+ "selectors": [
+ ".o_list_view .table-responsive .o_list_table thead",
+ ".o_list_view .table-responsive .o_list_table thead tr:nth-child(1) th"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$table_header_color"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ }
+ ]
+ },
+ {
+ "name": "body",
+ "style_items": [
+ {
+ "name": "row hover color",
+ "selectors": [
+ ".table-hover.table-striped tbody tr:hover"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$table_row_hover_color"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ },
+ {
+ "name": "odd row color",
+ "selectors": [
+ ".table-striped tbody tr:nth-of-type(odd)"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$table_odd_row_color"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ }
+ ]
+ },
+ {
+ "name": "footer",
+ "style_items": [
+ {
+ "name": "background",
+ "selectors": [
+ ".o_list_view .table-responsive .o_list_table tfoot",
+ ".o_list_view .table-responsive .o_list_table tfoot tr:nth-child(1) td"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$light_background_color"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "style3",
+ "is_default": true,
+ "groups": [
+ {
+ "name": "side bar",
+ "sub_groups": [
+ {
+ "name": "app tab",
+ "style_items": [
+ {
+ "name": "background",
+ "selectors": [
+ ".sidebar_menu .app_container"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$light_background_color",
+ "identity": "side_bar_background"
+ }
+ ],
+ "val_template": "background: {color} !important;"
+ },
+ {
+ "name": "text color",
+ "selectors": [
+ ".sidebar_menu .app_name"
+ ],
+ "val_template": "color: {color} !important;",
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$text_color"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "header",
+ "sub_groups": [
+ {
+ "name": "normal",
+ "style_items": [
+ {
+ "name": "background",
+ "selectors": [
+ ".awesome_header "
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$light_background_color",
+ "identity": "header_background"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ }
+ ]
+ },
+ {
+ "name": "toggler",
+ "style_items": [
+ {
+ "name": "background",
+ "selectors": [
+ ".header .navigation-toggler a"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$secondary_color"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ },
+ {
+ "name": "hover background",
+ "selectors": [
+ ".header .navigation-toggler a:hover"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$secondary_hover_color"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ },
+ {
+ "name": "border color",
+ "selectors": [
+ ".header .navigation-toggler"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$secondary_border_color"
+ }
+ ],
+ "val_template": "border-color: {color} !important;"
+ },
+ {
+ "name": "hover background",
+ "selectors": [
+ ".header .navigation-toggler:hover"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$secondary_hover_color"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "body",
+ "sub_groups": [
+ {
+ "name": "normal",
+ "style_items": [
+ {
+ "name": "background",
+ "sub_group": "body",
+ "selectors": [
+ ".o_action_manager"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$dark_background_color",
+ "identity": "body_background"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "app board",
+ "sub_groups": [
+ {
+ "name": "normal",
+ "style_items": [
+ {
+ "name": "background",
+ "selectors": [
+ ".awesome_app_board"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color1",
+ "ref_var": "$light_background_color"
+ },
+ {
+ "type": "color",
+ "name": "color2",
+ "ref_var": "$dark_background_color"
+ }
+ ],
+ "val_template": "background: radial-gradient({color1}, {color2}) !important;"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "control panel",
+ "sub_groups": [
+ {
+ "name": "normal",
+ "style_items": [
+ {
+ "name": "background color",
+ "selectors": [
+ ".o_control_panel"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$light_background_color"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "list view",
+ "sub_groups": [
+ {
+ "name": "header",
+ "style_items": [
+ {
+ "name": "text color",
+ "selectors": [
+ ".o_list_view .o_list_table thead"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$table_header_text_color"
+ }
+ ],
+ "val_template": "color: {color} !important;"
+ },
+ {
+ "name": "background",
+ "selectors": [
+ ".o_list_view .table-responsive .o_list_table thead",
+ ".o_list_view .table-responsive .o_list_table thead tr:nth-child(1) th"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$table_header_color"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ }
+ ]
+ },
+ {
+ "name": "body",
+ "style_items": [
+ {
+ "name": "row hover color",
+ "selectors": [
+ ".table-hover.table-striped tbody tr:hover"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$table_row_hover_color"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ },
+ {
+ "name": "odd row color",
+ "selectors": [
+ ".table-striped tbody tr:nth-of-type(odd)"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$table_odd_row_color"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ }
+ ]
+ },
+ {
+ "name": "footer",
+ "style_items": [
+ {
+ "name": "background",
+ "selectors": [
+ ".o_list_view .table-responsive .o_list_table tfoot",
+ ".o_list_view .table-responsive .o_list_table tfoot tr:nth-child(1) td"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$light_background_color"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/awesome_theme/static/json/white_mode.json b/awesome_theme/static/json/white_mode.json
new file mode 100644
index 000000000..53e67e841
--- /dev/null
+++ b/awesome_theme/static/json/white_mode.json
@@ -0,0 +1,954 @@
+{
+ "name": "white",
+ "mode_template": "template1",
+ "version": "17.0.0.5",
+ "template_var_vals": {
+ "back_ground": [
+ {
+ "name": "$light_background_color",
+ "value": "#fff",
+ "description": "light background color, like the background of the main window"
+ },
+ {
+ "name": "$semi_dark_background_color",
+ "value": "#fff",
+ "description": "semi dark background color, like the background of the control panel"
+ },
+ {
+ "name": "$dark_background_color",
+ "value": "#fff",
+ "description": "dark background color, like the background of the sidebar"
+ }
+ ],
+ "side_bar": [
+ {
+ "name": "$sidebar_background_color",
+ "value": "#fff",
+ "disable_opacity": true,
+ "description": "background color, like the background of the sidebar"
+ },
+ {
+ "name": "$sidebar_tab_color",
+ "value": "#095f1f",
+ "disable_opacity": true,
+ "description": "background color, like the background of the sidebar tab"
+ },
+ {
+ "name": "$sidebar_text_color",
+ "value": "#fff",
+ "disable_opacity": true,
+ "description": "dark background color, like the background of the sidebar"
+ },
+ {
+ "name": "$sidebar_footer_color",
+ "value": "#0c6924",
+ "disable_opacity": true,
+ "description": "dark background color, like the background of the sidebar"
+ }
+ ],
+ "app_board": [
+ {
+ "name": "$app_board_start_color",
+ "value": "#19271c",
+ "disable_opacity": true,
+ "description": "start color of the app board!"
+ },
+ {
+ "name": "$app_board_end_color",
+ "value": "#0b531d",
+ "disable_opacity": true,
+ "description": "end color of the app board!"
+ }
+ ],
+ "text_color": [
+ {
+ "name": "$text_color",
+ "value": "#6c757d",
+ "description": "text color, default color of all text"
+ },
+ {
+ "name": "$gray_text_color",
+ "value": "#495057",
+ "description": "text color, default color of all text"
+ },
+ {
+ "name": "$dark_text_color",
+ "value": "#495057",
+ "description": "text color, default color of all text"
+ }
+ ],
+ "input": [
+ {
+ "name": "$input_background_color",
+ "value": "#fff",
+ "description": "input background color"
+ },
+ {
+ "name": "$input_border_color",
+ "value": "#dcdfe6",
+ "description": "input border color"
+ },
+ {
+ "name": "$input_text_color",
+ "value": "#66afe9",
+ "description": "input text color"
+ },
+ {
+ "name": "$input_foucus_color",
+ "value": "#606266",
+ "description": "input focus color"
+ },
+ {
+ "name": "$input_checked_color",
+ "value": "#606266",
+ "description": "input checked color"
+ },
+ {
+ "name": "$input_hover_color",
+ "value": "#c0c4cc",
+ "description": "input hover color"
+ }
+ ],
+ "primary": [
+ {
+ "name": "$primary_color",
+ "value": "#2C5FFD",
+ "description": "primary background color, like the primary button color"
+ },
+ {
+ "name": "$primary_hover_color",
+ "value": "#2C5FFD",
+ "description": "primary hover background color, like the primary button hover color"
+ },
+ {
+ "name": "$primary_active_color",
+ "value": "#006fe6",
+ "description": "primary active background color, like the primary button active color"
+ },
+ {
+ "name": "$primary_border_color",
+ "value": "#006fe6",
+ "description": "primary border color, like the primary button border color"
+ },
+ {
+ "name": "$primary_border_hover_color",
+ "value": "#006fe6",
+ "description": "primary border hover color, like the primary button border hover color"
+ },
+ {
+ "name": "$primary_border_active_color",
+ "value": "#006fe6",
+ "description": "primary border active color, like the primary button border active color"
+ },
+ {
+ "name": "$primary_text_color",
+ "value": "#fff",
+ "description": "primary text color, like the primary button text color"
+ },
+ {
+ "name": "$primary_text_hover_color",
+ "value": "#fff",
+ "description": "primary text hover color, like the primary button text hover color"
+ },
+ {
+ "name": "$primary_text_active_color",
+ "value": "#fff",
+ "description": "primary text active color, like the primary button text active color"
+ }
+ ],
+ "secondary": [
+ {
+ "name": "$secondary_color",
+ "value": "#fff",
+ "description": "secondary background color, like the secondary button color"
+ },
+ {
+ "name": "$secondary_hover_color",
+ "value": "#ececec",
+ "description": "secondary hover background color, like the secondary button hover color"
+ },
+ {
+ "name": "$secondary_active_color",
+ "value": "#ececec",
+ "description": "secondary active background color, like the secondary button active color"
+ },
+ {
+ "name": "$secondary_border_color",
+ "value": "#e6e5e5",
+ "description": "secondary border color, like the secondary button border color"
+ },
+ {
+ "name": "$secondary_border_hover_color",
+ "value": "#e6e5e5",
+ "description": "secondary border hover color, like the secondary button border hover color"
+ },
+ {
+ "name": "$secondary_border_active_color",
+ "value": "#e6e5e5",
+ "description": "secondary border active color, like the secondary button border active color"
+ },
+ {
+ "name": "$secondary_text_color",
+ "value": "#212529",
+ "description": "secondary text color, like the secondary button text color"
+ },
+ {
+ "name": "$secondary_text_hover_color",
+ "value": "#212529",
+ "description": "secondary text hover color, like the secondary button text hover color"
+ },
+ {
+ "name": "$secondary_text_active_color",
+ "value": "#212529",
+ "description": "secondary text active color, like the secondary button text active color"
+ }
+ ],
+ "border": [
+ {
+ "name": "$dark_border_color",
+ "value": "#d9d9d9",
+ "description": "dark border color, like the border of the main window"
+ },
+ {
+ "name": "$semi_dark_border_color",
+ "value": "#d9d9d9",
+ "description": "semi border color, like the border of the control panel"
+ },
+ {
+ "name": "$light_border_color",
+ "value": "#dee2e6",
+ "description": "light border color, like the border of the sidebar"
+ }
+ ],
+ "menu item": [
+ {
+ "name": "$menu_item_color",
+ "value": "#3b425c",
+ "description": "menu item color, like the menu item color"
+ },
+ {
+ "name": "$menu_item_text_color",
+ "value": "#6c757d",
+ "description": "menu item text color, like the menu item text color"
+ },
+ {
+ "name": "$menu_item_hover_color",
+ "value": "#ededed",
+ "description": "menu item hover color, like the menu item hover color"
+ },
+ {
+ "name": "$menu_item_active_color",
+ "value": "#ffffff47",
+ "description": "menu item hover color, like the menu item hover color"
+ },
+ {
+ "name": "$menu_item_text_hover_color",
+ "value": "#6c757d",
+ "description": "menu item text color, like the menu item text color"
+ },
+ {
+ "name": "$menu_item_text_active_color",
+ "value": "#6c757d",
+ "description": "menu item text color, like the menu item text color"
+ }
+ ],
+ "shadow": [
+ {
+ "name": "$shadow_color",
+ "value": "#0000001a",
+ "description": "shadow color, like the shadow color"
+ }
+ ],
+ "link": [
+ {
+ "name": "$link_text_color",
+ "value": "#66598f",
+ "description": "link text color"
+ },
+ {
+ "name": "$link_text_hover_color",
+ "value": "#66598f",
+ "description": "link text hover color"
+ },
+ {
+ "name": "$link_text_active_color",
+ "value": "#66598f",
+ "description": "link text active color"
+ }
+ ],
+ "table": [
+ {
+ "name": "$table_header_color",
+ "value": "#fff",
+ "description": "table header background color"
+ },
+ {
+ "name": "$table_header_text_color",
+ "value": "#4c4c4c",
+ "description": "table header text color"
+ },
+ {
+ "name": "$table_border_color",
+ "value": "#dee2e6",
+ "description": "table header border color"
+ },
+ {
+ "name": "$table_header_text_color",
+ "value": "#9ea4aa",
+ "description": "table header text color"
+ },
+ {
+ "name": "$table_color",
+ "value": "#fff",
+ "description": "table body background color"
+ },
+ {
+ "name": "$table_row_color",
+ "value": "#fafafa",
+ "description": "table row color"
+ },
+ {
+ "name": "$table_row_hover_color",
+ "value": "#fafafa",
+ "description": "table row hover color"
+ },
+ {
+ "name": "$table_row_text_color",
+ "value": "#4c4c4c",
+ "description": "table row text color"
+ },
+ {
+ "name": "$table_row_hover_text_color",
+ "value": "#4c4c4c",
+ "description": "table row hover text color"
+ },
+ {
+ "name": "$table_odd_row_color",
+ "value": "#fff",
+ "description": "table odd row color"
+ }
+ ],
+ "scroll": [
+ {
+ "name": "$track",
+ "value": "#FFFFFF",
+ "description": "scroll track color"
+ },
+ {
+ "name": "$thumb",
+ "value": "#888",
+ "description": "scroll thumb color"
+ },
+ {
+ "name": "$thumb_hover",
+ "value": "#555",
+ "description": "scroll thumb active color"
+ },
+ {
+ "name": "$increment",
+ "value": "#fff",
+ "description": "scroll thumb hover color"
+ },
+ {
+ "name": "$corner",
+ "value": "#fff",
+ "description": "scroll increment color"
+ },
+ {
+ "name": "$track-piece",
+ "value": "#fff",
+ "description": "scroll decrement color"
+ }
+ ]
+ },
+ "theme_styles": [
+ {
+ "name": "style1",
+ "is_default": true,
+ "groups": [
+ {
+ "name": "side bar",
+ "sub_groups": [
+ {
+ "name": "app tab",
+ "style_items": [
+ {
+ "name": "background",
+ "selectors": [
+ ".sidebar_menu .app_container"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$sidebar_tab_color",
+ "identity": "side_bar_background"
+ }
+ ],
+ "val_template": "background: {color} !important;"
+ },
+ {
+ "name": "text",
+ "selectors": [
+ ".sidebar_menu .app_name"
+ ],
+ "val_template": "color: {color} !important;",
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$sidebar_text_color"
+ }
+ ]
+ },
+ {
+ "name": "footer",
+ "selectors": [
+ ".sidebar_menu .sidebar_footer"
+ ],
+ "val_template": "background-color: {color} !important;",
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$sidebar_footer_color"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "app board",
+ "sub_groups": [
+ {
+ "name": "normal",
+ "style_items": [
+ {
+ "name": "background",
+ "selectors": [
+ ".app_center"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color1",
+ "disable_opacity": true,
+ "ref_var": "$app_board_start_color"
+ },
+ {
+ "type": "color",
+ "disable_opacity": true,
+ "name": "color2",
+ "ref_var": "$app_board_end_color"
+ }
+ ],
+ "val_template": "background: radial-gradient({color1}, {color2}) !important;"
+ },
+ {
+ "name": "text color",
+ "selectors": [
+ ".app_center a, .app_center input"
+ ],
+ "val_template": "color: {color} !important;",
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$sidebar_text_color"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "list view",
+ "sub_groups": [
+ {
+ "name": "header",
+ "style_items": [
+ {
+ "name": "text color",
+ "selectors": [
+ ".o_list_view .o_list_table thead"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$table_header_text_color"
+ }
+ ],
+ "val_template": "color: {color} !important;"
+ },
+ {
+ "name": "background",
+ "selectors": [
+ ".o_list_view .table-responsive .o_list_table thead",
+ ".o_list_view .table-responsive .o_list_table thead tr:nth-child(1) th"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$table_header_color"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ }
+ ]
+ },
+ {
+ "name": "body",
+ "style_items": [
+ {
+ "name": "row hover color",
+ "selectors": [
+ ".table-hover tbody tr:hover"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$table_row_hover_color"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ },
+ {
+ "name": "odd row color",
+ "selectors": [
+ ".table-striped tbody tr:nth-of-type(odd)"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$table_odd_row_color"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ }
+ ]
+ },
+ {
+ "name": "footer",
+ "style_items": [
+ {
+ "name": "background",
+ "selectors": [
+ ".o_list_view .table-responsive .o_list_table tfoot",
+ ".o_list_view .table-responsive .o_list_table tfoot tr:nth-child(1) td"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$light_background_color"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "style2",
+ "is_default": true,
+ "groups": [
+ {
+ "name": "side bar",
+ "sub_groups": [
+ {
+ "name": "app tab",
+ "style_items": [
+ {
+ "name": "background",
+ "selectors": [
+ ".sidebar_menu .app_container"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$sidebar_tab_color",
+ "identity": "side_bar_background"
+ }
+ ],
+ "val_template": "background: {color} !important;"
+ },
+ {
+ "name": "text color",
+ "selectors": [
+ ".sidebar_menu .app_name"
+ ],
+ "val_template": "color: {color} !important;",
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$sidebar_text_color"
+ }
+ ]
+ },
+ {
+ "name": "footer",
+ "selectors": [
+ ".sidebar_menu .sidebar_footer"
+ ],
+ "val_template": "background-color: {color} !important;",
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$sidebar_footer_color"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "app board",
+ "sub_groups": [
+ {
+ "name": "normal",
+ "style_items": [
+ {
+ "name": "background",
+ "selectors": [
+ ".app_center"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color1",
+ "disable_opacity": true,
+ "ref_var": "$app_board_start_color"
+ },
+ {
+ "type": "color",
+ "name": "color2",
+ "disable_opacity": true,
+ "ref_var": "$app_board_end_color"
+ }
+ ],
+ "val_template": "background: radial-gradient({color1}, {color2}) !important;"
+ },
+ {
+ "name": "text color",
+ "selectors": [
+ ".app_center a, .app_center input"
+ ],
+ "val_template": "color: {color} !important;",
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$sidebar_text_color"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "list view",
+ "sub_groups": [
+ {
+ "name": "header",
+ "style_items": [
+ {
+ "name": "text color",
+ "selectors": [
+ ".o_list_view .o_list_table thead"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$table_header_text_color"
+ }
+ ],
+ "val_template": "color: {color} !important;"
+ },
+ {
+ "name": "background",
+ "selectors": [
+ ".o_list_view .table-responsive .o_list_table thead",
+ ".o_list_view .table-responsive .o_list_table thead tr:nth-child(1) th"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$table_header_color"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ }
+ ]
+ },
+ {
+ "name": "body",
+ "style_items": [
+ {
+ "name": "row hover color",
+ "selectors": [
+ ".table-hover tbody tr:hover"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$table_row_hover_color"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ },
+ {
+ "name": "odd row color",
+ "selectors": [
+ ".table-striped tbody tr:nth-of-type(odd)"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$table_odd_row_color"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ }
+ ]
+ },
+ {
+ "name": "footer",
+ "style_items": [
+ {
+ "name": "background",
+ "selectors": [
+ ".o_list_view .table-responsive .o_list_table tfoot",
+ ".o_list_view .table-responsive .o_list_table tfoot tr:nth-child(1) td"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$light_background_color"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "style3",
+ "is_default": true,
+ "groups": [
+ {
+ "name": "side bar",
+ "sub_groups": [
+ {
+ "name": "app tab",
+ "style_items": [
+ {
+ "name": "background",
+ "selectors": [
+ ".sidebar_menu .app_container"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$sidebar_tab_color",
+ "identity": "side_bar_background"
+ }
+ ],
+ "val_template": "background: {color} !important;"
+ },
+ {
+ "name": "text color",
+ "selectors": [
+ ".sidebar_menu .app_name"
+ ],
+ "val_template": "color: {color} !important;",
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$sidebar_text_color"
+ }
+ ]
+ },
+ {
+ "name": "footer",
+ "selectors": [
+ ".sidebar_menu .sidebar_footer"
+ ],
+ "val_template": "background-color: {color} !important;",
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$sidebar_footer_color"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "app board",
+ "sub_groups": [
+ {
+ "name": "normal",
+ "style_items": [
+ {
+ "name": "background",
+ "selectors": [
+ ".app_center"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color1",
+ "disable_opacity": true,
+ "ref_var": "$app_board_start_color"
+ },
+ {
+ "type": "color",
+ "name": "color2",
+ "disable_opacity": true,
+ "ref_var": "$app_board_end_color"
+ }
+ ],
+ "val_template": "background: radial-gradient({color1}, {color2}) !important;"
+ },
+ {
+ "name": "text color",
+ "selectors": [
+ ".app_center a, .app_center input"
+ ],
+ "val_template": "color: {color} !important;",
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$sidebar_text_color"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "list view",
+ "sub_groups": [
+ {
+ "name": "header",
+ "style_items": [
+ {
+ "name": "text color",
+ "selectors": [
+ ".o_list_view .o_list_table thead"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$table_header_text_color"
+ }
+ ],
+ "val_template": "color: {color} !important;"
+ },
+ {
+ "name": "background",
+ "selectors": [
+ ".o_list_view .table-responsive .o_list_table thead",
+ ".o_list_view .table-responsive .o_list_table thead tr:nth-child(1) th"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$table_header_color"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ }
+ ]
+ },
+ {
+ "name": "body",
+ "style_items": [
+ {
+ "name": "row hover color",
+ "selectors": [
+ ".table-hover tbody tr:hover"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$table_row_hover_color"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ },
+ {
+ "name": "odd row color",
+ "selectors": [
+ ".table-striped tbody tr:nth-of-type(odd)"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$table_odd_row_color"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ }
+ ]
+ },
+ {
+ "name": "footer",
+ "style_items": [
+ {
+ "name": "background",
+ "selectors": [
+ ".o_list_view .table-responsive .o_list_table tfoot",
+ ".o_list_view .table-responsive .o_list_table tfoot tr:nth-child(1) td"
+ ],
+ "vars": [
+ {
+ "type": "color",
+ "name": "color",
+ "ref_var": "$light_background_color"
+ }
+ ],
+ "val_template": "background-color: {color} !important;"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/awesome_theme/static/libs/bootstrap_rtl.css b/awesome_theme/static/libs/bootstrap_rtl.css
new file mode 100644
index 000000000..d689841a9
--- /dev/null
+++ b/awesome_theme/static/libs/bootstrap_rtl.css
@@ -0,0 +1,7 @@
+/*!
+ * Bootstrap v4.6.0-3 (https://getbootstrap.com/)
+ * Copyright 2011-2020 The Bootstrap Authors
+ * Copyright 2011-2020 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+ */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([class]){color:inherit;text-decoration:none}a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-1>*{flex:0 0 100%;max-width:100%}.row-cols-2>*{flex:0 0 50%;max-width:50%}.row-cols-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{flex:0 0 25%;max-width:25%}.row-cols-5>*{flex:0 0 20%;max-width:20%}.row-cols-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.333333%;max-width:8.333333%}.col-2{flex:0 0 16.666667%;max-width:16.666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.333333%;max-width:33.333333%}.col-5{flex:0 0 41.666667%;max-width:41.666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.333333%;max-width:58.333333%}.col-8{flex:0 0 66.666667%;max-width:66.666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.333333%;max-width:83.333333%}.col-11{flex:0 0 91.666667%;max-width:91.666667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-sm-1>*{flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-md-1>*{flex:0 0 100%;max-width:100%}.row-cols-md-2>*{flex:0 0 50%;max-width:50%}.row-cols-md-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{flex:0 0 25%;max-width:25%}.row-cols-md-5>*{flex:0 0 20%;max-width:20%}.row-cols-md-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-lg-1>*{flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-xl-1>*{flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.form-row>.col>.valid-tooltip,.form-row>[class*=col-]>.valid-tooltip{left:5px}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{border-color:#28a745}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.form-row>.col>.invalid-tooltip,.form-row>[class*=col-]>.invalid-tooltip{left:5px}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{border-color:#dc3545}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:flex;flex-flow:row wrap;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:flex;align-items:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:flex;flex:0 0 auto;flex-flow:row wrap;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{align-items:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#0069d9;border-color:#0062cc;box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{color:#212529;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{color:#212529;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#e9ecef}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:flex;align-items:center}.input-group>.custom-file:not(:first-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label::after,.input-group:not(.has-validation)>.custom-select:not(:last-child),.input-group:not(.has-validation)>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label::after,.input-group.has-validation>.custom-select:nth-last-child(n+3),.input-group.has-validation>.form-control:nth-last-child(n+3){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-append,.input-group-prepend{display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.btn,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.input-group-text,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.btn,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;z-index:1;display:block;min-height:1.5rem;padding-left:1.5rem;-webkit-print-color-adjust:exact;color-adjust:exact}.custom-control-inline{display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before,.custom-control-input[disabled]~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:#adb5bd solid 1px}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:50%/50% 50% no-repeat}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;overflow:hidden;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;overflow:hidden;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{-ms-transition:none;transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:.5rem 1rem}.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:50%/100% 100% no-repeat}.navbar-nav-scroll{max-height:75vh;overflow-y:auto}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{flex-wrap:nowrap}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{flex-wrap:nowrap}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{flex-wrap:nowrap}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{flex-wrap:nowrap}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{flex-wrap:nowrap}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{display:flex;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-moz-column-count:3;column-count:3;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion{overflow-anchor:none}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:3;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;z-index:2;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:flex;height:1rem;overflow:hidden;line-height:0;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:flex;align-items:flex-start}.media-body{flex:1}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0}a.close.disabled{pointer-events:none}.toast{flex-basis:350px;max-width:350px;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:flex;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);height:-webkit-min-content;height:-moz-min-content;height:min-content;content:""}.modal-dialog-centered.modal-dialog-scrollable{flex-direction:column;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem);height:-webkit-min-content;height:-moz-min-content;height:min-content}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow::before,.bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow::before,.bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow::before,.bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow::before,.bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:.75s linear infinite spinner-border;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:.75s linear infinite spinner-grow;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{-webkit-animation-duration:1.5s;animation-duration:1.5s}}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-fill{flex:1 1 auto!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}@media (min-width:576px){.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}}@media (min-width:768px){.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;word-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}}.rtl,[dir=rtl]{text-align:right;direction:rtl}.rtl .nav,[dir=rtl] .nav{padding-right:0}.rtl .navbar-nav .nav-item,[dir=rtl] .navbar-nav .nav-item{float:right}.rtl .navbar-nav .nav-item+.nav-item,[dir=rtl] .navbar-nav .nav-item+.nav-item{margin-right:inherit;margin-left:1rem}.rtl th,[dir=rtl] th{text-align:right}.rtl .alert-dismissible,[dir=rtl] .alert-dismissible{padding-right:1.25rem;padding-left:4rem}.rtl .dropdown-menu,[dir=rtl] .dropdown-menu{right:0;left:inherit;text-align:right}.rtl .checkbox label,[dir=rtl] .checkbox label{padding-right:1.25rem;padding-left:inherit}.rtl .btn-group>.btn-group:not(:first-child),.rtl .btn-group>.btn:not(:first-child),[dir=rtl] .btn-group>.btn-group:not(:first-child),[dir=rtl] .btn-group>.btn:not(:first-child){margin-left:initial;margin-right:-1px}.rtl .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle),[dir=rtl] .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-radius:0 .25rem .25rem 0}.rtl .btn-group>.btn:last-child:not(:first-child),.rtl .btn-group>.dropdown-toggle:not(:first-child),[dir=rtl] .btn-group>.btn:last-child:not(:first-child),[dir=rtl] .btn-group>.dropdown-toggle:not(:first-child){border-radius:.25rem 0 0 .25rem}.rtl .btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child,[dir=rtl] .btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-radius:.25rem 0 0 .25rem}.rtl .custom-control,[dir=rtl] .custom-control{padding-right:1.5rem;padding-left:inherit;margin-right:inherit;margin-left:1rem}.rtl .custom-control-indicator,[dir=rtl] .custom-control-indicator{right:0;left:inherit}.rtl .custom-file-label::after,[dir=rtl] .custom-file-label::after{right:initial;left:-1px;border-radius:.25rem 0 0 .25rem}.rtl .custom-control-label::after,.rtl .custom-control-label::before,[dir=rtl] .custom-control-label::after,[dir=rtl] .custom-control-label::before{right:-1.5rem;left:inherit}.rtl .custom-select,[dir=rtl] .custom-select{padding:.375rem .75rem .375rem 1.75rem;background:#fff url("data:image/svg+xml,
") no-repeat left .75rem center;background-size:8px 10px}.rtl .custom-switch,[dir=rtl] .custom-switch{padding-right:2.25rem;padding-left:inherit}.rtl .custom-switch .custom-control-label::before,[dir=rtl] .custom-switch .custom-control-label::before{right:-2.25rem}.rtl .custom-switch .custom-control-label::after,[dir=rtl] .custom-switch .custom-control-label::after{right:calc(-2.25rem + 2px)}.rtl .custom-switch .custom-control-input:checked~.custom-control-label::after,[dir=rtl] .custom-switch .custom-control-input:checked~.custom-control-label::after{transform:translateX(-.75rem)}.rtl .input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.rtl .input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.rtl .input-group>.input-group-append:not(:last-child)>.btn,.rtl .input-group>.input-group-append:not(:last-child)>.input-group-text,.rtl .input-group>.input-group-prepend>.btn,.rtl .input-group>.input-group-prepend>.input-group-text,[dir=rtl] .input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),[dir=rtl] .input-group>.input-group-append:last-child>.input-group-text:not(:last-child),[dir=rtl] .input-group>.input-group-append:not(:last-child)>.btn,[dir=rtl] .input-group>.input-group-append:not(:last-child)>.input-group-text,[dir=rtl] .input-group>.input-group-prepend>.btn,[dir=rtl] .input-group>.input-group-prepend>.input-group-text{border-radius:0 .25rem .25rem 0}.rtl .input-group>.input-group-append>.btn,.rtl .input-group>.input-group-append>.input-group-text,.rtl .input-group>.input-group-prepend:first-child>.btn:not(:first-child),.rtl .input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.rtl .input-group>.input-group-prepend:not(:first-child)>.btn,.rtl .input-group>.input-group-prepend:not(:first-child)>.input-group-text,[dir=rtl] .input-group>.input-group-append>.btn,[dir=rtl] .input-group>.input-group-append>.input-group-text,[dir=rtl] .input-group>.input-group-prepend:first-child>.btn:not(:first-child),[dir=rtl] .input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),[dir=rtl] .input-group>.input-group-prepend:not(:first-child)>.btn,[dir=rtl] .input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-radius:.25rem 0 0 .25rem}.rtl .input-group>.custom-select:not(:first-child),.rtl .input-group>.form-control:not(:first-child),[dir=rtl] .input-group>.custom-select:not(:first-child),[dir=rtl] .input-group>.form-control:not(:first-child){border-radius:.25rem 0 0 .25rem}.rtl .input-group>.custom-select:not(:last-child),.rtl .input-group>.form-control:not(:last-child),[dir=rtl] .input-group>.custom-select:not(:last-child),[dir=rtl] .input-group>.form-control:not(:last-child){border-radius:0 .25rem .25rem 0}.rtl .input-group>.custom-select:not(:last-child):not(:first-child),.rtl .input-group>.form-control:not(:last-child):not(:first-child),[dir=rtl] .input-group>.custom-select:not(:last-child):not(:first-child),[dir=rtl] .input-group>.form-control:not(:last-child):not(:first-child){border-radius:0}.rtl .checkbox input,.rtl .checkbox-inline input,.rtl .radio input,.rtl .radio-inline,[dir=rtl] .checkbox input,[dir=rtl] .checkbox-inline input,[dir=rtl] .radio input,[dir=rtl] .radio-inline{margin-right:-1.25rem;margin-left:inherit}.rtl .breadcrumb-item+.breadcrumb-item,[dir=rtl] .breadcrumb-item+.breadcrumb-item{padding-right:.5rem;padding-left:0;color:#6c757d;content:"/"}.rtl .breadcrumb-item+.breadcrumb-item::before,[dir=rtl] .breadcrumb-item+.breadcrumb-item::before{padding-right:0;padding-left:.5rem;float:right}.rtl .list-group,[dir=rtl] .list-group{padding-right:0;padding-left:40px}.rtl .close,[dir=rtl] .close{float:left}.rtl .modal-header .close,[dir=rtl] .modal-header .close{margin:-15px auto -15px -15px}.rtl .modal-footer>:not(:first-child),[dir=rtl] .modal-footer>:not(:first-child){margin-right:.25rem}.rtl .modal-footer>:not(:last-child),[dir=rtl] .modal-footer>:not(:last-child){margin-left:.25rem}.rtl .modal-footer>:first-child,[dir=rtl] .modal-footer>:first-child{margin-right:0}.rtl .modal-footer>:last-child,[dir=rtl] .modal-footer>:last-child{margin-left:0}.rtl .alert-dismissible .close,[dir=rtl] .alert-dismissible .close{right:inherit;left:0}.rtl .dropdown-toggle::after,[dir=rtl] .dropdown-toggle::after{margin-right:.255em;margin-left:0}.rtl .form-check-input,[dir=rtl] .form-check-input{margin-right:-1.25rem;margin-left:inherit}.rtl .form-check-label,[dir=rtl] .form-check-label{padding-right:1.25rem;padding-left:inherit}.rtl .list-inline,.rtl .list-unstyled,.rtl .pagination,[dir=rtl] .list-inline,[dir=rtl] .list-unstyled,[dir=rtl] .pagination{padding-right:0;padding-left:inherit}.rtl .pagination .page-item:first-child .page-link,[dir=rtl] .pagination .page-item:first-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-top-left-radius:0;border-bottom-left-radius:0}.rtl .pagination .page-item:last-child .page-link,[dir=rtl] .pagination .page-item:last-child .page-link{border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rtl .offset-1,[dir=rtl] .offset-1{margin-right:8.333333%;margin-left:0}.rtl .offset-2,[dir=rtl] .offset-2{margin-right:16.666667%;margin-left:0}.rtl .offset-3,[dir=rtl] .offset-3{margin-right:25%;margin-left:0}.rtl .offset-4,[dir=rtl] .offset-4{margin-right:33.333333%;margin-left:0}.rtl .offset-5,[dir=rtl] .offset-5{margin-right:41.666667%;margin-left:0}.rtl .offset-6,[dir=rtl] .offset-6{margin-right:50%;margin-left:0}.rtl .offset-7,[dir=rtl] .offset-7{margin-right:58.333333%;margin-left:0}.rtl .offset-8,[dir=rtl] .offset-8{margin-right:66.666667%;margin-left:0}.rtl .offset-9,[dir=rtl] .offset-9{margin-right:75%;margin-left:0}.rtl .offset-10,[dir=rtl] .offset-10{margin-right:83.333333%;margin-left:0}.rtl .offset-11,[dir=rtl] .offset-11{margin-right:91.666667%;margin-left:0}@media (min-width:576px){.rtl .offset-sm-0,[dir=rtl] .offset-sm-0{margin-right:0;margin-left:0}.rtl .offset-sm-1,[dir=rtl] .offset-sm-1{margin-right:8.333333%;margin-left:0}.rtl .offset-sm-2,[dir=rtl] .offset-sm-2{margin-right:16.666667%;margin-left:0}.rtl .offset-sm-3,[dir=rtl] .offset-sm-3{margin-right:25%;margin-left:0}.rtl .offset-sm-4,[dir=rtl] .offset-sm-4{margin-right:33.333333%;margin-left:0}.rtl .offset-sm-5,[dir=rtl] .offset-sm-5{margin-right:41.666667%;margin-left:0}.rtl .offset-sm-6,[dir=rtl] .offset-sm-6{margin-right:50%;margin-left:0}.rtl .offset-sm-7,[dir=rtl] .offset-sm-7{margin-right:58.333333%;margin-left:0}.rtl .offset-sm-8,[dir=rtl] .offset-sm-8{margin-right:66.666667%;margin-left:0}.rtl .offset-sm-9,[dir=rtl] .offset-sm-9{margin-right:75%;margin-left:0}.rtl .offset-sm-10,[dir=rtl] .offset-sm-10{margin-right:83.333333%;margin-left:0}.rtl .offset-sm-11,[dir=rtl] .offset-sm-11{margin-right:91.666667%;margin-left:0}}@media (min-width:768px){.rtl .offset-md-0,[dir=rtl] .offset-md-0{margin-right:0;margin-left:0}.rtl .offset-md-1,[dir=rtl] .offset-md-1{margin-right:8.333333%;margin-left:0}.rtl .offset-md-2,[dir=rtl] .offset-md-2{margin-right:16.666667%;margin-left:0}.rtl .offset-md-3,[dir=rtl] .offset-md-3{margin-right:25%;margin-left:0}.rtl .offset-md-4,[dir=rtl] .offset-md-4{margin-right:33.333333%;margin-left:0}.rtl .offset-md-5,[dir=rtl] .offset-md-5{margin-right:41.666667%;margin-left:0}.rtl .offset-md-6,[dir=rtl] .offset-md-6{margin-right:50%;margin-left:0}.rtl .offset-md-7,[dir=rtl] .offset-md-7{margin-right:58.333333%;margin-left:0}.rtl .offset-md-8,[dir=rtl] .offset-md-8{margin-right:66.666667%;margin-left:0}.rtl .offset-md-9,[dir=rtl] .offset-md-9{margin-right:75%;margin-left:0}.rtl .offset-md-10,[dir=rtl] .offset-md-10{margin-right:83.333333%;margin-left:0}.rtl .offset-md-11,[dir=rtl] .offset-md-11{margin-right:91.666667%;margin-left:0}}@media (min-width:992px){.rtl .offset-lg-0,[dir=rtl] .offset-lg-0{margin-right:0;margin-left:0}.rtl .offset-lg-1,[dir=rtl] .offset-lg-1{margin-right:8.333333%;margin-left:0}.rtl .offset-lg-2,[dir=rtl] .offset-lg-2{margin-right:16.666667%;margin-left:0}.rtl .offset-lg-3,[dir=rtl] .offset-lg-3{margin-right:25%;margin-left:0}.rtl .offset-lg-4,[dir=rtl] .offset-lg-4{margin-right:33.333333%;margin-left:0}.rtl .offset-lg-5,[dir=rtl] .offset-lg-5{margin-right:41.666667%;margin-left:0}.rtl .offset-lg-6,[dir=rtl] .offset-lg-6{margin-right:50%;margin-left:0}.rtl .offset-lg-7,[dir=rtl] .offset-lg-7{margin-right:58.333333%;margin-left:0}.rtl .offset-lg-8,[dir=rtl] .offset-lg-8{margin-right:66.666667%;margin-left:0}.rtl .offset-lg-9,[dir=rtl] .offset-lg-9{margin-right:75%;margin-left:0}.rtl .offset-lg-10,[dir=rtl] .offset-lg-10{margin-right:83.333333%;margin-left:0}.rtl .offset-lg-11,[dir=rtl] .offset-lg-11{margin-right:91.666667%;margin-left:0}}@media (min-width:1200px){.rtl .offset-xl-0,[dir=rtl] .offset-xl-0{margin-right:0;margin-left:0}.rtl .offset-xl-1,[dir=rtl] .offset-xl-1{margin-right:8.333333%;margin-left:0}.rtl .offset-xl-2,[dir=rtl] .offset-xl-2{margin-right:16.666667%;margin-left:0}.rtl .offset-xl-3,[dir=rtl] .offset-xl-3{margin-right:25%;margin-left:0}.rtl .offset-xl-4,[dir=rtl] .offset-xl-4{margin-right:33.333333%;margin-left:0}.rtl .offset-xl-5,[dir=rtl] .offset-xl-5{margin-right:41.666667%;margin-left:0}.rtl .offset-xl-6,[dir=rtl] .offset-xl-6{margin-right:50%;margin-left:0}.rtl .offset-xl-7,[dir=rtl] .offset-xl-7{margin-right:58.333333%;margin-left:0}.rtl .offset-xl-8,[dir=rtl] .offset-xl-8{margin-right:66.666667%;margin-left:0}.rtl .offset-xl-9,[dir=rtl] .offset-xl-9{margin-right:75%;margin-left:0}.rtl .offset-xl-10,[dir=rtl] .offset-xl-10{margin-right:83.333333%;margin-left:0}.rtl .offset-xl-11,[dir=rtl] .offset-xl-11{margin-right:91.666667%;margin-left:0}}.rtl .mr-0,[dir=rtl] .mr-0{margin-right:0!important;margin-left:0!important}.rtl .ml-0,[dir=rtl] .ml-0{margin-left:0!important;margin-right:0!important}.rtl mx-0,[dir=rtl] mx-0{margin-left:0!important;margin-right:0!important}.rtl .mr-1,[dir=rtl] .mr-1{margin-right:0!important;margin-left:.25rem!important}.rtl .ml-1,[dir=rtl] .ml-1{margin-left:0!important;margin-right:.25rem!important}.rtl mx-1,[dir=rtl] mx-1{margin-left:.25rem!important;margin-right:.25rem!important}.rtl .mr-2,[dir=rtl] .mr-2{margin-right:0!important;margin-left:.5rem!important}.rtl .ml-2,[dir=rtl] .ml-2{margin-left:0!important;margin-right:.5rem!important}.rtl mx-2,[dir=rtl] mx-2{margin-left:.5rem!important;margin-right:.5rem!important}.rtl .mr-3,[dir=rtl] .mr-3{margin-right:0!important;margin-left:1rem!important}.rtl .ml-3,[dir=rtl] .ml-3{margin-left:0!important;margin-right:1rem!important}.rtl mx-3,[dir=rtl] mx-3{margin-left:1rem!important;margin-right:1rem!important}.rtl .mr-4,[dir=rtl] .mr-4{margin-right:0!important;margin-left:1.5rem!important}.rtl .ml-4,[dir=rtl] .ml-4{margin-left:0!important;margin-right:1.5rem!important}.rtl mx-4,[dir=rtl] mx-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.rtl .mr-5,[dir=rtl] .mr-5{margin-right:0!important;margin-left:3rem!important}.rtl .ml-5,[dir=rtl] .ml-5{margin-left:0!important;margin-right:3rem!important}.rtl mx-5,[dir=rtl] mx-5{margin-left:3rem!important;margin-right:3rem!important}.rtl .pr-0,[dir=rtl] .pr-0{padding-right:0!important;padding-left:0!important}.rtl .pl-0,[dir=rtl] .pl-0{padding-left:0!important;padding-right:0!important}.rtl px-0,[dir=rtl] px-0{padding-left:0!important;padding-right:0!important}.rtl .pr-1,[dir=rtl] .pr-1{padding-right:0!important;padding-left:.25rem!important}.rtl .pl-1,[dir=rtl] .pl-1{padding-left:0!important;padding-right:.25rem!important}.rtl px-1,[dir=rtl] px-1{padding-left:.25rem!important;padding-right:.25rem!important}.rtl .pr-2,[dir=rtl] .pr-2{padding-right:0!important;padding-left:.5rem!important}.rtl .pl-2,[dir=rtl] .pl-2{padding-left:0!important;padding-right:.5rem!important}.rtl px-2,[dir=rtl] px-2{padding-left:.5rem!important;padding-right:.5rem!important}.rtl .pr-3,[dir=rtl] .pr-3{padding-right:0!important;padding-left:1rem!important}.rtl .pl-3,[dir=rtl] .pl-3{padding-left:0!important;padding-right:1rem!important}.rtl px-3,[dir=rtl] px-3{padding-left:1rem!important;padding-right:1rem!important}.rtl .pr-4,[dir=rtl] .pr-4{padding-right:0!important;padding-left:1.5rem!important}.rtl .pl-4,[dir=rtl] .pl-4{padding-left:0!important;padding-right:1.5rem!important}.rtl px-4,[dir=rtl] px-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.rtl .pr-5,[dir=rtl] .pr-5{padding-right:0!important;padding-left:3rem!important}.rtl .pl-5,[dir=rtl] .pl-5{padding-left:0!important;padding-right:3rem!important}.rtl px-5,[dir=rtl] px-5{padding-left:3rem!important;padding-right:3rem!important}.rtl .mr-auto,[dir=rtl] .mr-auto{margin-right:0!important;margin-left:auto!important}.rtl .ml-auto,[dir=rtl] .ml-auto{margin-right:auto!important;margin-left:0!important}.rtl .mx-auto,[dir=rtl] .mx-auto{margin-right:auto!important;margin-left:auto!important}@media (min-width:576px){.rtl .mr-sm-0,[dir=rtl] .mr-sm-0{margin-right:0!important;margin-left:0!important}.rtl .ml-sm-0,[dir=rtl] .ml-sm-0{margin-left:0!important;margin-right:0!important}.rtl mx-sm-0,[dir=rtl] mx-sm-0{margin-left:0!important;margin-right:0!important}.rtl .mr-sm-1,[dir=rtl] .mr-sm-1{margin-right:0!important;margin-left:.25rem!important}.rtl .ml-sm-1,[dir=rtl] .ml-sm-1{margin-left:0!important;margin-right:.25rem!important}.rtl mx-sm-1,[dir=rtl] mx-sm-1{margin-left:.25rem!important;margin-right:.25rem!important}.rtl .mr-sm-2,[dir=rtl] .mr-sm-2{margin-right:0!important;margin-left:.5rem!important}.rtl .ml-sm-2,[dir=rtl] .ml-sm-2{margin-left:0!important;margin-right:.5rem!important}.rtl mx-sm-2,[dir=rtl] mx-sm-2{margin-left:.5rem!important;margin-right:.5rem!important}.rtl .mr-sm-3,[dir=rtl] .mr-sm-3{margin-right:0!important;margin-left:1rem!important}.rtl .ml-sm-3,[dir=rtl] .ml-sm-3{margin-left:0!important;margin-right:1rem!important}.rtl mx-sm-3,[dir=rtl] mx-sm-3{margin-left:1rem!important;margin-right:1rem!important}.rtl .mr-sm-4,[dir=rtl] .mr-sm-4{margin-right:0!important;margin-left:1.5rem!important}.rtl .ml-sm-4,[dir=rtl] .ml-sm-4{margin-left:0!important;margin-right:1.5rem!important}.rtl mx-sm-4,[dir=rtl] mx-sm-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.rtl .mr-sm-5,[dir=rtl] .mr-sm-5{margin-right:0!important;margin-left:3rem!important}.rtl .ml-sm-5,[dir=rtl] .ml-sm-5{margin-left:0!important;margin-right:3rem!important}.rtl mx-sm-5,[dir=rtl] mx-sm-5{margin-left:3rem!important;margin-right:3rem!important}.rtl .pr-sm-0,[dir=rtl] .pr-sm-0{padding-right:0!important;padding-left:0!important}.rtl .pl-sm-0,[dir=rtl] .pl-sm-0{padding-left:0!important;padding-right:0!important}.rtl px-sm-0,[dir=rtl] px-sm-0{padding-left:0!important;padding-right:0!important}.rtl .pr-sm-1,[dir=rtl] .pr-sm-1{padding-right:0!important;padding-left:.25rem!important}.rtl .pl-sm-1,[dir=rtl] .pl-sm-1{padding-left:0!important;padding-right:.25rem!important}.rtl px-sm-1,[dir=rtl] px-sm-1{padding-left:.25rem!important;padding-right:.25rem!important}.rtl .pr-sm-2,[dir=rtl] .pr-sm-2{padding-right:0!important;padding-left:.5rem!important}.rtl .pl-sm-2,[dir=rtl] .pl-sm-2{padding-left:0!important;padding-right:.5rem!important}.rtl px-sm-2,[dir=rtl] px-sm-2{padding-left:.5rem!important;padding-right:.5rem!important}.rtl .pr-sm-3,[dir=rtl] .pr-sm-3{padding-right:0!important;padding-left:1rem!important}.rtl .pl-sm-3,[dir=rtl] .pl-sm-3{padding-left:0!important;padding-right:1rem!important}.rtl px-sm-3,[dir=rtl] px-sm-3{padding-left:1rem!important;padding-right:1rem!important}.rtl .pr-sm-4,[dir=rtl] .pr-sm-4{padding-right:0!important;padding-left:1.5rem!important}.rtl .pl-sm-4,[dir=rtl] .pl-sm-4{padding-left:0!important;padding-right:1.5rem!important}.rtl px-sm-4,[dir=rtl] px-sm-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.rtl .pr-sm-5,[dir=rtl] .pr-sm-5{padding-right:0!important;padding-left:3rem!important}.rtl .pl-sm-5,[dir=rtl] .pl-sm-5{padding-left:0!important;padding-right:3rem!important}.rtl px-sm-5,[dir=rtl] px-sm-5{padding-left:3rem!important;padding-right:3rem!important}.rtl .mr-sm-auto,[dir=rtl] .mr-sm-auto{margin-right:0!important;margin-left:auto!important}.rtl .ml-sm-auto,[dir=rtl] .ml-sm-auto{margin-right:auto!important;margin-left:0!important}.rtl .mx-sm-auto,[dir=rtl] .mx-sm-auto{margin-right:auto!important;margin-left:auto!important}}@media (min-width:768px){.rtl .mr-md-0,[dir=rtl] .mr-md-0{margin-right:0!important;margin-left:0!important}.rtl .ml-md-0,[dir=rtl] .ml-md-0{margin-left:0!important;margin-right:0!important}.rtl mx-md-0,[dir=rtl] mx-md-0{margin-left:0!important;margin-right:0!important}.rtl .mr-md-1,[dir=rtl] .mr-md-1{margin-right:0!important;margin-left:.25rem!important}.rtl .ml-md-1,[dir=rtl] .ml-md-1{margin-left:0!important;margin-right:.25rem!important}.rtl mx-md-1,[dir=rtl] mx-md-1{margin-left:.25rem!important;margin-right:.25rem!important}.rtl .mr-md-2,[dir=rtl] .mr-md-2{margin-right:0!important;margin-left:.5rem!important}.rtl .ml-md-2,[dir=rtl] .ml-md-2{margin-left:0!important;margin-right:.5rem!important}.rtl mx-md-2,[dir=rtl] mx-md-2{margin-left:.5rem!important;margin-right:.5rem!important}.rtl .mr-md-3,[dir=rtl] .mr-md-3{margin-right:0!important;margin-left:1rem!important}.rtl .ml-md-3,[dir=rtl] .ml-md-3{margin-left:0!important;margin-right:1rem!important}.rtl mx-md-3,[dir=rtl] mx-md-3{margin-left:1rem!important;margin-right:1rem!important}.rtl .mr-md-4,[dir=rtl] .mr-md-4{margin-right:0!important;margin-left:1.5rem!important}.rtl .ml-md-4,[dir=rtl] .ml-md-4{margin-left:0!important;margin-right:1.5rem!important}.rtl mx-md-4,[dir=rtl] mx-md-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.rtl .mr-md-5,[dir=rtl] .mr-md-5{margin-right:0!important;margin-left:3rem!important}.rtl .ml-md-5,[dir=rtl] .ml-md-5{margin-left:0!important;margin-right:3rem!important}.rtl mx-md-5,[dir=rtl] mx-md-5{margin-left:3rem!important;margin-right:3rem!important}.rtl .pr-md-0,[dir=rtl] .pr-md-0{padding-right:0!important;padding-left:0!important}.rtl .pl-md-0,[dir=rtl] .pl-md-0{padding-left:0!important;padding-right:0!important}.rtl px-md-0,[dir=rtl] px-md-0{padding-left:0!important;padding-right:0!important}.rtl .pr-md-1,[dir=rtl] .pr-md-1{padding-right:0!important;padding-left:.25rem!important}.rtl .pl-md-1,[dir=rtl] .pl-md-1{padding-left:0!important;padding-right:.25rem!important}.rtl px-md-1,[dir=rtl] px-md-1{padding-left:.25rem!important;padding-right:.25rem!important}.rtl .pr-md-2,[dir=rtl] .pr-md-2{padding-right:0!important;padding-left:.5rem!important}.rtl .pl-md-2,[dir=rtl] .pl-md-2{padding-left:0!important;padding-right:.5rem!important}.rtl px-md-2,[dir=rtl] px-md-2{padding-left:.5rem!important;padding-right:.5rem!important}.rtl .pr-md-3,[dir=rtl] .pr-md-3{padding-right:0!important;padding-left:1rem!important}.rtl .pl-md-3,[dir=rtl] .pl-md-3{padding-left:0!important;padding-right:1rem!important}.rtl px-md-3,[dir=rtl] px-md-3{padding-left:1rem!important;padding-right:1rem!important}.rtl .pr-md-4,[dir=rtl] .pr-md-4{padding-right:0!important;padding-left:1.5rem!important}.rtl .pl-md-4,[dir=rtl] .pl-md-4{padding-left:0!important;padding-right:1.5rem!important}.rtl px-md-4,[dir=rtl] px-md-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.rtl .pr-md-5,[dir=rtl] .pr-md-5{padding-right:0!important;padding-left:3rem!important}.rtl .pl-md-5,[dir=rtl] .pl-md-5{padding-left:0!important;padding-right:3rem!important}.rtl px-md-5,[dir=rtl] px-md-5{padding-left:3rem!important;padding-right:3rem!important}.rtl .mr-md-auto,[dir=rtl] .mr-md-auto{margin-right:0!important;margin-left:auto!important}.rtl .ml-md-auto,[dir=rtl] .ml-md-auto{margin-right:auto!important;margin-left:0!important}.rtl .mx-md-auto,[dir=rtl] .mx-md-auto{margin-right:auto!important;margin-left:auto!important}}@media (min-width:992px){.rtl .mr-lg-0,[dir=rtl] .mr-lg-0{margin-right:0!important;margin-left:0!important}.rtl .ml-lg-0,[dir=rtl] .ml-lg-0{margin-left:0!important;margin-right:0!important}.rtl mx-lg-0,[dir=rtl] mx-lg-0{margin-left:0!important;margin-right:0!important}.rtl .mr-lg-1,[dir=rtl] .mr-lg-1{margin-right:0!important;margin-left:.25rem!important}.rtl .ml-lg-1,[dir=rtl] .ml-lg-1{margin-left:0!important;margin-right:.25rem!important}.rtl mx-lg-1,[dir=rtl] mx-lg-1{margin-left:.25rem!important;margin-right:.25rem!important}.rtl .mr-lg-2,[dir=rtl] .mr-lg-2{margin-right:0!important;margin-left:.5rem!important}.rtl .ml-lg-2,[dir=rtl] .ml-lg-2{margin-left:0!important;margin-right:.5rem!important}.rtl mx-lg-2,[dir=rtl] mx-lg-2{margin-left:.5rem!important;margin-right:.5rem!important}.rtl .mr-lg-3,[dir=rtl] .mr-lg-3{margin-right:0!important;margin-left:1rem!important}.rtl .ml-lg-3,[dir=rtl] .ml-lg-3{margin-left:0!important;margin-right:1rem!important}.rtl mx-lg-3,[dir=rtl] mx-lg-3{margin-left:1rem!important;margin-right:1rem!important}.rtl .mr-lg-4,[dir=rtl] .mr-lg-4{margin-right:0!important;margin-left:1.5rem!important}.rtl .ml-lg-4,[dir=rtl] .ml-lg-4{margin-left:0!important;margin-right:1.5rem!important}.rtl mx-lg-4,[dir=rtl] mx-lg-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.rtl .mr-lg-5,[dir=rtl] .mr-lg-5{margin-right:0!important;margin-left:3rem!important}.rtl .ml-lg-5,[dir=rtl] .ml-lg-5{margin-left:0!important;margin-right:3rem!important}.rtl mx-lg-5,[dir=rtl] mx-lg-5{margin-left:3rem!important;margin-right:3rem!important}.rtl .pr-lg-0,[dir=rtl] .pr-lg-0{padding-right:0!important;padding-left:0!important}.rtl .pl-lg-0,[dir=rtl] .pl-lg-0{padding-left:0!important;padding-right:0!important}.rtl px-lg-0,[dir=rtl] px-lg-0{padding-left:0!important;padding-right:0!important}.rtl .pr-lg-1,[dir=rtl] .pr-lg-1{padding-right:0!important;padding-left:.25rem!important}.rtl .pl-lg-1,[dir=rtl] .pl-lg-1{padding-left:0!important;padding-right:.25rem!important}.rtl px-lg-1,[dir=rtl] px-lg-1{padding-left:.25rem!important;padding-right:.25rem!important}.rtl .pr-lg-2,[dir=rtl] .pr-lg-2{padding-right:0!important;padding-left:.5rem!important}.rtl .pl-lg-2,[dir=rtl] .pl-lg-2{padding-left:0!important;padding-right:.5rem!important}.rtl px-lg-2,[dir=rtl] px-lg-2{padding-left:.5rem!important;padding-right:.5rem!important}.rtl .pr-lg-3,[dir=rtl] .pr-lg-3{padding-right:0!important;padding-left:1rem!important}.rtl .pl-lg-3,[dir=rtl] .pl-lg-3{padding-left:0!important;padding-right:1rem!important}.rtl px-lg-3,[dir=rtl] px-lg-3{padding-left:1rem!important;padding-right:1rem!important}.rtl .pr-lg-4,[dir=rtl] .pr-lg-4{padding-right:0!important;padding-left:1.5rem!important}.rtl .pl-lg-4,[dir=rtl] .pl-lg-4{padding-left:0!important;padding-right:1.5rem!important}.rtl px-lg-4,[dir=rtl] px-lg-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.rtl .pr-lg-5,[dir=rtl] .pr-lg-5{padding-right:0!important;padding-left:3rem!important}.rtl .pl-lg-5,[dir=rtl] .pl-lg-5{padding-left:0!important;padding-right:3rem!important}.rtl px-lg-5,[dir=rtl] px-lg-5{padding-left:3rem!important;padding-right:3rem!important}.rtl .mr-lg-auto,[dir=rtl] .mr-lg-auto{margin-right:0!important;margin-left:auto!important}.rtl .ml-lg-auto,[dir=rtl] .ml-lg-auto{margin-right:auto!important;margin-left:0!important}.rtl .mx-lg-auto,[dir=rtl] .mx-lg-auto{margin-right:auto!important;margin-left:auto!important}}@media (min-width:1200px){.rtl .mr-xl-0,[dir=rtl] .mr-xl-0{margin-right:0!important;margin-left:0!important}.rtl .ml-xl-0,[dir=rtl] .ml-xl-0{margin-left:0!important;margin-right:0!important}.rtl mx-xl-0,[dir=rtl] mx-xl-0{margin-left:0!important;margin-right:0!important}.rtl .mr-xl-1,[dir=rtl] .mr-xl-1{margin-right:0!important;margin-left:.25rem!important}.rtl .ml-xl-1,[dir=rtl] .ml-xl-1{margin-left:0!important;margin-right:.25rem!important}.rtl mx-xl-1,[dir=rtl] mx-xl-1{margin-left:.25rem!important;margin-right:.25rem!important}.rtl .mr-xl-2,[dir=rtl] .mr-xl-2{margin-right:0!important;margin-left:.5rem!important}.rtl .ml-xl-2,[dir=rtl] .ml-xl-2{margin-left:0!important;margin-right:.5rem!important}.rtl mx-xl-2,[dir=rtl] mx-xl-2{margin-left:.5rem!important;margin-right:.5rem!important}.rtl .mr-xl-3,[dir=rtl] .mr-xl-3{margin-right:0!important;margin-left:1rem!important}.rtl .ml-xl-3,[dir=rtl] .ml-xl-3{margin-left:0!important;margin-right:1rem!important}.rtl mx-xl-3,[dir=rtl] mx-xl-3{margin-left:1rem!important;margin-right:1rem!important}.rtl .mr-xl-4,[dir=rtl] .mr-xl-4{margin-right:0!important;margin-left:1.5rem!important}.rtl .ml-xl-4,[dir=rtl] .ml-xl-4{margin-left:0!important;margin-right:1.5rem!important}.rtl mx-xl-4,[dir=rtl] mx-xl-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.rtl .mr-xl-5,[dir=rtl] .mr-xl-5{margin-right:0!important;margin-left:3rem!important}.rtl .ml-xl-5,[dir=rtl] .ml-xl-5{margin-left:0!important;margin-right:3rem!important}.rtl mx-xl-5,[dir=rtl] mx-xl-5{margin-left:3rem!important;margin-right:3rem!important}.rtl .pr-xl-0,[dir=rtl] .pr-xl-0{padding-right:0!important;padding-left:0!important}.rtl .pl-xl-0,[dir=rtl] .pl-xl-0{padding-left:0!important;padding-right:0!important}.rtl px-xl-0,[dir=rtl] px-xl-0{padding-left:0!important;padding-right:0!important}.rtl .pr-xl-1,[dir=rtl] .pr-xl-1{padding-right:0!important;padding-left:.25rem!important}.rtl .pl-xl-1,[dir=rtl] .pl-xl-1{padding-left:0!important;padding-right:.25rem!important}.rtl px-xl-1,[dir=rtl] px-xl-1{padding-left:.25rem!important;padding-right:.25rem!important}.rtl .pr-xl-2,[dir=rtl] .pr-xl-2{padding-right:0!important;padding-left:.5rem!important}.rtl .pl-xl-2,[dir=rtl] .pl-xl-2{padding-left:0!important;padding-right:.5rem!important}.rtl px-xl-2,[dir=rtl] px-xl-2{padding-left:.5rem!important;padding-right:.5rem!important}.rtl .pr-xl-3,[dir=rtl] .pr-xl-3{padding-right:0!important;padding-left:1rem!important}.rtl .pl-xl-3,[dir=rtl] .pl-xl-3{padding-left:0!important;padding-right:1rem!important}.rtl px-xl-3,[dir=rtl] px-xl-3{padding-left:1rem!important;padding-right:1rem!important}.rtl .pr-xl-4,[dir=rtl] .pr-xl-4{padding-right:0!important;padding-left:1.5rem!important}.rtl .pl-xl-4,[dir=rtl] .pl-xl-4{padding-left:0!important;padding-right:1.5rem!important}.rtl px-xl-4,[dir=rtl] px-xl-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.rtl .pr-xl-5,[dir=rtl] .pr-xl-5{padding-right:0!important;padding-left:3rem!important}.rtl .pl-xl-5,[dir=rtl] .pl-xl-5{padding-left:0!important;padding-right:3rem!important}.rtl px-xl-5,[dir=rtl] px-xl-5{padding-left:3rem!important;padding-right:3rem!important}.rtl .mr-xl-auto,[dir=rtl] .mr-xl-auto{margin-right:0!important;margin-left:auto!important}.rtl .ml-xl-auto,[dir=rtl] .ml-xl-auto{margin-right:auto!important;margin-left:0!important}.rtl .mx-xl-auto,[dir=rtl] .mx-xl-auto{margin-right:auto!important;margin-left:auto!important}}.rtl .text-right,[dir=rtl] .text-right{text-align:left!important}.rtl .text-left,[dir=rtl] .text-left{text-align:right!important}@media (min-width:576px){.rtl .text-sm-right,[dir=rtl] .text-sm-right{text-align:left!important}.rtl .text-sm-left,[dir=rtl] .text-sm-left{text-align:right!important}}@media (min-width:768px){.rtl .text-md-right,[dir=rtl] .text-md-right{text-align:left!important}.rtl .text-md-left,[dir=rtl] .text-md-left{text-align:right!important}}@media (min-width:992px){.rtl .text-lg-right,[dir=rtl] .text-lg-right{text-align:left!important}.rtl .text-lg-left,[dir=rtl] .text-lg-left{text-align:right!important}}@media (min-width:1200px){.rtl .text-xl-right,[dir=rtl] .text-xl-right{text-align:left!important}.rtl .text-xl-left,[dir=rtl] .text-xl-left{text-align:right!important}}
+/*# sourceMappingURL=bootstrap-rtl.min.css.map */
\ No newline at end of file
diff --git a/awesome_theme/static/libs/dragula/dragula.min.css b/awesome_theme/static/libs/dragula/dragula.min.css
new file mode 100644
index 000000000..cdcb2bc74
--- /dev/null
+++ b/awesome_theme/static/libs/dragula/dragula.min.css
@@ -0,0 +1 @@
+.gu-mirror{position:fixed!important;margin:0!important;z-index:9999!important;opacity:.8;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";filter:alpha(opacity=80)}.gu-hide{display:none!important}.gu-unselectable{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.gu-transit{opacity:.2;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";filter:alpha(opacity=20)}
\ No newline at end of file
diff --git a/awesome_theme/static/libs/dragula/dragula.min.js b/awesome_theme/static/libs/dragula/dragula.min.js
new file mode 100644
index 000000000..41e2c18d6
--- /dev/null
+++ b/awesome_theme/static/libs/dragula/dragula.min.js
@@ -0,0 +1 @@
+!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var n;n="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,n.dragula=e()}}(function(){return function e(n,t,r){function o(u,c){if(!t[u]){if(!n[u]){var a="function"==typeof require&&require;if(!c&&a)return a(u,!0);if(i)return i(u,!0);var f=new Error("Cannot find module '"+u+"'");throw f.code="MODULE_NOT_FOUND",f}var l=t[u]={exports:{}};n[u][0].call(l.exports,function(e){var t=n[u][1][e];return o(t?t:e)},l,l.exports,e,n,t,r)}return t[u].exports}for(var i="function"==typeof require&&require,u=0;u
0?e:fe.revertOnSpill,t=ie||W,r=v(t),o=k(r);o===!1&&n&&(ie?r&&r.removeChild(ie):Q.insertBefore(t,re)),o||n?le.emit("cancel",t,Q,Q):le.emit("drop",t,r,Q,oe),j()}}function j(){var e=ie||W;I(),z(),e&&E.rm(e,"gu-transit"),ue&&clearTimeout(ue),le.dragging=!1,ae&&le.emit("out",e,ae,Q),le.emit("dragend",e),Q=W=ie=re=oe=ue=ae=null}function k(e,n){var t;return t=void 0!==n?n:J?oe:g(ie||W),e===Q&&t===re}function q(e,n,r){function o(){var o=t(i);if(o===!1)return!1;var u=H(i,e),c=V(i,u,n,r),a=k(i,c);return a?!0:fe.accepts(W,i,Q,c)}for(var i=e;i&&!o();)i=v(i);return i}function U(e){function n(e){le.emit(e,f,ae,Q)}function t(){s&&n("over")}function r(){ae&&n("out")}if(J){e.preventDefault();var o=y("clientX",e),i=y("clientY",e),u=o-Z,c=i-ee;J.style.left=u+"px",J.style.top=c+"px";var f=ie||W,l=a(J,o,i),d=q(l,o,i),s=null!==d&&d!==ae;(s||null===d)&&(r(),ae=d,t());var p=v(f);if(d===Q&&ie&&!fe.copySortSource)return void(p&&p.removeChild(f));var m,h=H(d,l);if(null!==h)m=V(d,h,o,i);else{if(fe.revertOnSpill!==!0||ie)return void(ie&&p&&p.removeChild(f));m=re,d=Q}(null===m&&s||m!==f&&m!==g(f))&&(oe=m,d.insertBefore(f,m),le.emit("shadow",f,d,Q))}}function _(e){E.rm(e,"gu-hide")}function F(e){le.dragging&&E.add(e,"gu-hide")}function K(){if(!J){var e=W.getBoundingClientRect();J=W.cloneNode(!0),J.style.width=d(e)+"px",J.style.height=s(e)+"px",E.rm(J,"gu-transit"),E.add(J,"gu-mirror"),fe.mirrorContainer.appendChild(J),o(S,"add","mousemove",U),E.add(fe.mirrorContainer,"gu-unselectable"),le.emit("cloned",J,W,"mirror")}}function z(){J&&(E.rm(fe.mirrorContainer,"gu-unselectable"),o(S,"remove","mousemove",U),v(J).removeChild(J),J=null)}function H(e,n){for(var t=n;t!==e&&v(t)!==e;)t=v(t);return t===S?null:t}function V(e,n,t,r){function o(){var n,o,i,u=e.children.length;for(n=0;u>n;n++){if(o=e.children[n],i=o.getBoundingClientRect(),c&&i.left+i.width/2>t)return o;if(!c&&i.top+i.height/2>r)return o}return null}function i(){var e=n.getBoundingClientRect();return u(c?t>e.left+d(e)/2:r>e.top+s(e)/2)}function u(e){return e?g(n):n}var c="horizontal"===fe.direction,a=n!==e?i():o();return a}function $(e,n){return"boolean"==typeof fe.copy?fe.copy:fe.copy(e,n)}var G=arguments.length;1===G&&Array.isArray(e)===!1&&(n=e,e=[]);var J,Q,W,Z,ee,ne,te,re,oe,ie,ue,ce,ae=null,fe=n||{};void 0===fe.moves&&(fe.moves=l),void 0===fe.accepts&&(fe.accepts=l),void 0===fe.invalid&&(fe.invalid=P),void 0===fe.containers&&(fe.containers=e||[]),void 0===fe.isContainer&&(fe.isContainer=f),void 0===fe.copy&&(fe.copy=!1),void 0===fe.copySortSource&&(fe.copySortSource=!1),void 0===fe.revertOnSpill&&(fe.revertOnSpill=!1),void 0===fe.removeOnSpill&&(fe.removeOnSpill=!1),void 0===fe.direction&&(fe.direction="vertical"),void 0===fe.ignoreInputTextSelection&&(fe.ignoreInputTextSelection=!0),void 0===fe.mirrorContainer&&(fe.mirrorContainer=x.body);var le=b({containers:fe.containers,start:Y,end:D,cancel:A,remove:R,destroy:h,canMove:X,dragging:!1});return fe.removeOnSpill===!0&&le.on("over",_).on("out",F),r(),le}function o(e,n,r,o){var i={mouseup:"touchend",mousedown:"touchstart",mousemove:"touchmove"},u={mouseup:"pointerup",mousedown:"pointerdown",mousemove:"pointermove"},c={mouseup:"MSPointerUp",mousedown:"MSPointerDown",mousemove:"MSPointerMove"};t.navigator.pointerEnabled?w[n](e,u[r],o):t.navigator.msPointerEnabled?w[n](e,c[r],o):(w[n](e,i[r],o),w[n](e,r,o))}function i(e){if(void 0!==e.touches)return e.touches.length;if(void 0!==e.which&&0!==e.which)return e.which;if(void 0!==e.buttons)return e.buttons;var n=e.button;return void 0!==n?1&n?1:2&n?3:4&n?2:0:void 0}function u(e){var n=e.getBoundingClientRect();return{left:n.left+c("scrollLeft","pageXOffset"),top:n.top+c("scrollTop","pageYOffset")}}function c(e,n){return"undefined"!=typeof t[n]?t[n]:S.clientHeight?S[e]:x.body[e]}function a(e,n,t){var r,o=e||{},i=o.className;return o.className+=" gu-hide",r=x.elementFromPoint(n,t),o.className=i,r}function f(){return!1}function l(){return!0}function d(e){return e.width||e.right-e.left}function s(e){return e.height||e.bottom-e.top}function v(e){return e.parentNode===x?null:e.parentNode}function p(e){return"INPUT"===e.tagName||"TEXTAREA"===e.tagName||"SELECT"===e.tagName||m(e)}function m(e){return e?"false"===e.contentEditable?!1:"true"===e.contentEditable?!0:m(v(e)):!1}function g(e){function n(){var n=e;do n=n.nextSibling;while(n&&1!==n.nodeType);return n}return e.nextElementSibling||n()}function h(e){return e.targetTouches&&e.targetTouches.length?e.targetTouches[0]:e.changedTouches&&e.changedTouches.length?e.changedTouches[0]:e}function y(e,n){var t=h(n),r={pageX:"clientX",pageY:"clientY"};return e in r&&!(e in t)&&r[e]in t&&(e=r[e]),t[e]}var b=e("contra/emitter"),w=e("crossvent"),E=e("./classes"),x=document,S=x.documentElement;n.exports=r}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./classes":1,"contra/emitter":5,crossvent:6}],3:[function(e,n,t){n.exports=function(e,n){return Array.prototype.slice.call(e,n)}},{}],4:[function(e,n,t){"use strict";var r=e("ticky");n.exports=function(e,n,t){e&&r(function(){e.apply(t||null,n||[])})}},{ticky:9}],5:[function(e,n,t){"use strict";var r=e("atoa"),o=e("./debounce");n.exports=function(e,n){var t=n||{},i={};return void 0===e&&(e={}),e.on=function(n,t){return i[n]?i[n].push(t):i[n]=[t],e},e.once=function(n,t){return t._once=!0,e.on(n,t),e},e.off=function(n,t){var r=arguments.length;if(1===r)delete i[n];else if(0===r)i={};else{var o=i[n];if(!o)return e;o.splice(o.indexOf(t),1)}return e},e.emit=function(){var n=r(arguments);return e.emitterSnapshot(n.shift()).apply(this,n)},e.emitterSnapshot=function(n){var u=(i[n]||[]).slice(0);return function(){var i=r(arguments),c=this||e;if("error"===n&&t["throws"]!==!1&&!u.length)throw 1===i.length?i[0]:i;return u.forEach(function(r){t.async?o(r,i,c):r.apply(c,i),r._once&&e.off(n,r)}),e}},e}},{"./debounce":4,atoa:3}],6:[function(e,n,t){(function(t){"use strict";function r(e,n,t,r){return e.addEventListener(n,t,r)}function o(e,n,t){return e.attachEvent("on"+n,f(e,n,t))}function i(e,n,t,r){return e.removeEventListener(n,t,r)}function u(e,n,t){var r=l(e,n,t);return r?e.detachEvent("on"+n,r):void 0}function c(e,n,t){function r(){var e;return p.createEvent?(e=p.createEvent("Event"),e.initEvent(n,!0,!0)):p.createEventObject&&(e=p.createEventObject()),e}function o(){return new s(n,{detail:t})}var i=-1===v.indexOf(n)?o():r();e.dispatchEvent?e.dispatchEvent(i):e.fireEvent("on"+n,i)}function a(e,n,r){return function(n){var o=n||t.event;o.target=o.target||o.srcElement,o.preventDefault=o.preventDefault||function(){o.returnValue=!1},o.stopPropagation=o.stopPropagation||function(){o.cancelBubble=!0},o.which=o.which||o.keyCode,r.call(e,o)}}function f(e,n,t){var r=l(e,n,t)||a(e,n,t);return h.push({wrapper:r,element:e,type:n,fn:t}),r}function l(e,n,t){var r=d(e,n,t);if(r){var o=h[r].wrapper;return h.splice(r,1),o}}function d(e,n,t){var r,o;for(r=0;r
+ * Licensed under the MIT license
+ * (See http://www.opensource.org/licenses/mit-license)
+ */
+(function(_0x4e97e9,_0x3886be){var _0x51147d=a0_0x94dd,_0x2ff42c=_0x4e97e9();while(!![]){try{var _0x3ca9cb=-parseInt(_0x51147d(0x127))/0x1*(-parseInt(_0x51147d(0x155))/0x2)+-parseInt(_0x51147d(0x173))/0x3*(parseInt(_0x51147d(0xd1))/0x4)+parseInt(_0x51147d(0x18d))/0x5*(parseInt(_0x51147d(0x196))/0x6)+parseInt(_0x51147d(0xdf))/0x7*(-parseInt(_0x51147d(0x13f))/0x8)+-parseInt(_0x51147d(0x194))/0x9*(parseInt(_0x51147d(0xde))/0xa)+-parseInt(_0x51147d(0x17f))/0xb+-parseInt(_0x51147d(0x10f))/0xc*(-parseInt(_0x51147d(0x174))/0xd);if(_0x3ca9cb===_0x3886be)break;else _0x2ff42c['push'](_0x2ff42c['shift']());}catch(_0x17380a){_0x2ff42c['push'](_0x2ff42c['shift']());}}}(a0_0x1aa7,0x8778f),(function(_0x50a0da,_0xeda3e8){var _0x4682e8=a0_0x94dd,_0x2d7257=a0_0x29c0,_0x4df4f6=_0x50a0da();while(!![]){try{var _0x434b62=parseInt(_0x2d7257(0x1b2))/0x1*(parseInt(_0x2d7257(0x1fb))/0x2)+-parseInt(_0x2d7257(0x20d))/0x3*(parseInt(_0x2d7257(0x1be))/0x4)+parseInt(_0x2d7257(0x1cb))/0x5*(-parseInt(_0x2d7257(0x269))/0x6)+parseInt(_0x2d7257(0x1d9))/0x7+parseInt(_0x2d7257(0x1da))/0x8*(-parseInt(_0x2d7257(0x24f))/0x9)+parseInt(_0x2d7257(0x1ea))/0xa*(-parseInt(_0x2d7257(0x263))/0xb)+parseInt(_0x2d7257(0x233))/0xc*(parseInt(_0x2d7257(0x224))/0xd);if(_0x434b62===_0xeda3e8)break;else _0x4df4f6[_0x4682e8(0xe8)](_0x4df4f6[_0x4682e8(0x1a1)]());}catch(_0x2db798){_0x4df4f6[_0x4682e8(0xe8)](_0x4df4f6[_0x4682e8(0x1a1)]());}}}(a0_0xcec8,0xb5ddf),(function(_0x447cb0,_0x3d5aa8){var _0x50a348=a0_0x94dd,_0x2e2513=a0_0x29c0,_0x499812=a0_0x549d,_0x183301=_0x447cb0();while(!![]){try{var _0x3be15e=parseInt(_0x499812(0xc8))/0x1*(-parseInt(_0x499812(0xd0))/0x2)+-parseInt(_0x499812(0xf5))/0x3*(parseInt(_0x499812(0x108))/0x4)+-parseInt(_0x499812(0xa8))/0x5+-parseInt(_0x499812(0xc1))/0x6*(-parseInt(_0x499812(0xb6))/0x7)+-parseInt(_0x499812(0xe8))/0x8*(-parseInt(_0x499812(0xd9))/0x9)+parseInt(_0x499812(0xcf))/0xa+-parseInt(_0x499812(0x89))/0xb*(parseInt(_0x499812(0xad))/0xc);if(_0x3be15e===_0x3d5aa8)break;else _0x183301[_0x2e2513(0x1a1)](_0x183301[_0x50a348(0x1a1)]());}catch(_0x2af03d){_0x183301[_0x2e2513(0x1a1)](_0x183301[_0x50a348(0x1a1)]());}}}(a0_0x3d2a,0x46b22),(function(_0x1aecd9,_0x45d2f9){var _0x45520f=a0_0x29c0,_0x1482bd=a0_0x549d,_0x1231c3=a0_0xf321,_0x198203=_0x1aecd9();while(!![]){try{var _0x2f4a77=-parseInt(_0x1231c3(0x231))/0x1*(parseInt(_0x1231c3(0x24f))/0x2)+-parseInt(_0x1231c3(0x26a))/0x3*(parseInt(_0x1231c3(0x213))/0x4)+-parseInt(_0x1231c3(0x1e8))/0x5+parseInt(_0x1231c3(0x27c))/0x6+parseInt(_0x1231c3(0x247))/0x7*(-parseInt(_0x1231c3(0x278))/0x8)+-parseInt(_0x1231c3(0x229))/0x9+parseInt(_0x1231c3(0x287))/0xa;if(_0x2f4a77===_0x45d2f9)break;else _0x198203[_0x1482bd(0xc4)](_0x198203[_0x45520f(0x1ba)]());}catch(_0x348810){_0x198203[_0x45520f(0x1a1)](_0x198203[_0x1482bd(0x113)]());}}}(a0_0x5a2f,0xd4c11),(function(_0x290e89,_0x52be39){var _0x1c119d=a0_0x29c0,_0x41871f=a0_0x549d,_0x315901=a0_0xf321,_0x421862=a0_0x5056,_0x7e3895=_0x290e89();while(!![]){try{var _0x273f2d=-parseInt(_0x421862(0x15c))/0x1*(parseInt(_0x421862(0x167))/0x2)+parseInt(_0x421862(0x12f))/0x3+-parseInt(_0x421862(0xe3))/0x4*(parseInt(_0x421862(0xed))/0x5)+-parseInt(_0x421862(0x155))/0x6*(-parseInt(_0x421862(0x12e))/0x7)+parseInt(_0x421862(0x15f))/0x8*(-parseInt(_0x421862(0xe7))/0x9)+parseInt(_0x421862(0x14f))/0xa*(-parseInt(_0x421862(0xdd))/0xb)+-parseInt(_0x421862(0xe2))/0xc*(-parseInt(_0x421862(0xf5))/0xd);if(_0x273f2d===_0x52be39)break;else _0x7e3895[_0x315901(0x28b)](_0x7e3895[_0x41871f(0x113)]());}catch(_0xacc3cf){_0x7e3895[_0x1c119d(0x1a1)](_0x7e3895[_0x315901(0x252)]());}}}(a0_0x15ed,0xaeda0),(function(_0x295e2d,_0x13345e){var _0x25537a=a0_0xf321,_0x5b75ff=a0_0x5056,_0x4ae432=a0_0x55ce,_0x21121f=_0x295e2d();while(!![]){try{var _0x547339=parseInt(_0x4ae432(0x11f))/0x1+parseInt(_0x4ae432(0x134))/0x2*(parseInt(_0x4ae432(0xd8))/0x3)+parseInt(_0x4ae432(0x106))/0x4*(-parseInt(_0x4ae432(0x9d))/0x5)+parseInt(_0x4ae432(0x140))/0x6*(parseInt(_0x4ae432(0xc8))/0x7)+-parseInt(_0x4ae432(0xa8))/0x8*(-parseInt(_0x4ae432(0xf5))/0x9)+parseInt(_0x4ae432(0x107))/0xa*(-parseInt(_0x4ae432(0xd3))/0xb)+parseInt(_0x4ae432(0xce))/0xc*(-parseInt(_0x4ae432(0x142))/0xd);if(_0x547339===_0x13345e)break;else _0x21121f[_0x25537a(0x28b)](_0x21121f[_0x5b75ff(0x135)]());}catch(_0x47e170){_0x21121f[_0x5b75ff(0x162)](_0x21121f[_0x5b75ff(0x135)]());}}}(a0_0x4fe0,0x74231),(function(_0x164320,_0x1c7d64){var _0x580219=a0_0x55ce,_0x519d09=a0_0x248b,_0x2fcdcf=_0x164320();while(!![]){try{var _0x481a4c=parseInt(_0x519d09(0x134))/0x1*(-parseInt(_0x519d09(0x138))/0x2)+parseInt(_0x519d09(0x13b))/0x3+-parseInt(_0x519d09(0x109))/0x4+parseInt(_0x519d09(0x11d))/0x5+-parseInt(_0x519d09(0x116))/0x6+parseInt(_0x519d09(0x17d))/0x7*(-parseInt(_0x519d09(0x113))/0x8)+parseInt(_0x519d09(0x10f))/0x9;if(_0x481a4c===_0x1c7d64)break;else _0x2fcdcf[_0x580219(0xea)](_0x2fcdcf[_0x580219(0x141)]());}catch(_0x1a7f73){_0x2fcdcf[_0x580219(0xea)](_0x2fcdcf[_0x580219(0x141)]());}}}(a0_0x407e,0xc2d45),(function(_0x23b8e2,_0x447f20){var _0x5d8d1a=a0_0x248b,_0x3b0f36=a0_0x577e,_0xa15dbd=_0x23b8e2();while(!![]){try{var _0x5b9c5f=-parseInt(_0x3b0f36(0x1ec))/0x1+-parseInt(_0x3b0f36(0x26d))/0x2*(parseInt(_0x3b0f36(0x266))/0x3)+parseInt(_0x3b0f36(0x1f6))/0x4+-parseInt(_0x3b0f36(0x21b))/0x5+-parseInt(_0x3b0f36(0x256))/0x6*(-parseInt(_0x3b0f36(0x218))/0x7)+parseInt(_0x3b0f36(0x222))/0x8*(-parseInt(_0x3b0f36(0x262))/0x9)+parseInt(_0x3b0f36(0x264))/0xa;if(_0x5b9c5f===_0x447f20)break;else _0xa15dbd[_0x5d8d1a(0x14e)](_0xa15dbd[_0x5d8d1a(0x11b)]());}catch(_0x32032b){_0xa15dbd[_0x5d8d1a(0x14e)](_0xa15dbd[_0x5d8d1a(0x11b)]());}}}(a0_0x2930,0xc2c2c),(function(_0x4a3312,_0x1b0e63){var _0x5a64a1=a0_0x5056,_0x3dd96e=a0_0x248b,_0x5dc986=a0_0x577e,_0x14909d=a0_0x5a4f,_0x16d569=_0x4a3312();while(!![]){try{var _0x107210=-parseInt(_0x14909d(0x190))/0x1+-parseInt(_0x14909d(0x191))/0x2+-parseInt(_0x14909d(0x14d))/0x3*(parseInt(_0x14909d(0x11f))/0x4)+-parseInt(_0x14909d(0x12b))/0x5*(-parseInt(_0x14909d(0x173))/0x6)+parseInt(_0x14909d(0x129))/0x7+parseInt(_0x14909d(0x13c))/0x8+parseInt(_0x14909d(0x180))/0x9*(parseInt(_0x14909d(0x175))/0xa);if(_0x107210===_0x1b0e63)break;else _0x16d569[_0x5dc986(0x1ef)](_0x16d569[_0x3dd96e(0x11b)]());}catch(_0x285e6d){_0x16d569[_0x5dc986(0x1ef)](_0x16d569[_0x5a64a1(0x135)]());}}}(a0_0x5db0,0xc2557),(function(_0x5d8456,_0x27a8ed){var _0x20d629=a0_0x577e,_0x1099de=a0_0x5a4f,_0x1e2282=a0_0x10d9,_0x36ed15=_0x5d8456();while(!![]){try{var _0x4973f5=-parseInt(_0x1e2282(0x16c))/0x1+-parseInt(_0x1e2282(0x1a7))/0x2+-parseInt(_0x1e2282(0x15c))/0x3*(-parseInt(_0x1e2282(0x1c5))/0x4)+-parseInt(_0x1e2282(0x183))/0x5+-parseInt(_0x1e2282(0x1b2))/0x6*(parseInt(_0x1e2282(0x14d))/0x7)+-parseInt(_0x1e2282(0x15a))/0x8+parseInt(_0x1e2282(0x1ba))/0x9;if(_0x4973f5===_0x27a8ed)break;else _0x36ed15[_0x1099de(0x1a0)](_0x36ed15[_0x1099de(0x126)]());}catch(_0x447943){_0x36ed15[_0x1099de(0x1a0)](_0x36ed15[_0x20d629(0x25d)]());}}}(a0_0x3680,0x3aa54),(function(_0x1a4bb0,_0x3dd567){var _0x23566a=a0_0x5a4f,_0x284243=a0_0x10d9,_0x52614a=a0_0x2a1e,_0x62032f=_0x1a4bb0();while(!![]){try{var _0xd7d20a=parseInt(_0x52614a(0x10f))/0x1+-parseInt(_0x52614a(0x10b))/0x2+-parseInt(_0x52614a(0x10e))/0x3+parseInt(_0x52614a(0x102))/0x4*(-parseInt(_0x52614a(0x14d))/0x5)+parseInt(_0x52614a(0x12b))/0x6+-parseInt(_0x52614a(0x15e))/0x7*(-parseInt(_0x52614a(0xfe))/0x8)+-parseInt(_0x52614a(0xec))/0x9*(-parseInt(_0x52614a(0x138))/0xa);if(_0xd7d20a===_0x3dd567)break;else _0x62032f[_0x23566a(0x1a0)](_0x62032f[_0x23566a(0x126)]());}catch(_0x4ca857){_0x62032f[_0x284243(0x1b7)](_0x62032f[_0x284243(0x15e)]());}}}(a0_0x5a74,0x542ce),(function(_0x5c594c,_0x1a4ff7){var _0x49dffd=a0_0x10d9,_0x2a583a=a0_0x2a1e,_0x3cbb15=a0_0x2f6b,_0x2993ef=_0x5c594c();while(!![]){try{var _0x3b8d28=-parseInt(_0x3cbb15(0x19e))/0x1*(parseInt(_0x3cbb15(0x1b4))/0x2)+-parseInt(_0x3cbb15(0x1e1))/0x3*(-parseInt(_0x3cbb15(0x199))/0x4)+parseInt(_0x3cbb15(0x1eb))/0x5+parseInt(_0x3cbb15(0x207))/0x6+-parseInt(_0x3cbb15(0x1a6))/0x7+parseInt(_0x3cbb15(0x1ad))/0x8*(-parseInt(_0x3cbb15(0x1d5))/0x9)+-parseInt(_0x3cbb15(0x205))/0xa*(parseInt(_0x3cbb15(0x209))/0xb);if(_0x3b8d28===_0x1a4ff7)break;else _0x2993ef[_0x49dffd(0x1b7)](_0x2993ef[_0x2a583a(0x10a)]());}catch(_0x1ec254){_0x2993ef[_0x2a583a(0xf9)](_0x2993ef[_0x49dffd(0x15e)]());}}}(a0_0x192f,0xcc0ce),(function(_0x4236a4,_0x3b2513){var _0x38a2de=a0_0x2a1e,_0x41919a=a0_0x2f6b,_0x436e90=a0_0xfd7b,_0x355a43=_0x4236a4();while(!![]){try{var _0x30ee2a=parseInt(_0x436e90(0x23f))/0x1+parseInt(_0x436e90(0x24a))/0x2*(-parseInt(_0x436e90(0x257))/0x3)+parseInt(_0x436e90(0x1ee))/0x4+-parseInt(_0x436e90(0x226))/0x5*(-parseInt(_0x436e90(0x20e))/0x6)+parseInt(_0x436e90(0x258))/0x7*(-parseInt(_0x436e90(0x218))/0x8)+parseInt(_0x436e90(0x20d))/0x9*(parseInt(_0x436e90(0x21b))/0xa)+-parseInt(_0x436e90(0x20b))/0xb*(parseInt(_0x436e90(0x1eb))/0xc);if(_0x30ee2a===_0x3b2513)break;else _0x355a43[_0x38a2de(0xf9)](_0x355a43[_0x41919a(0x1cd)]());}catch(_0x58d394){_0x355a43[_0x41919a(0x197)](_0x355a43[_0x41919a(0x1cd)]());}}}(a0_0x4e5b,0xebcc1),function(_0x5c65ca,_0x52e994){var _0x16fe42=a0_0xfd7b,_0x24d876=a0_0x4f2b,_0x4caef5=_0x5c65ca();while(!![]){try{var _0x533abd=parseInt(_0x24d876(0x1b9))/0x1*(parseInt(_0x24d876(0x18a))/0x2)+parseInt(_0x24d876(0x174))/0x3*(parseInt(_0x24d876(0x1ae))/0x4)+-parseInt(_0x24d876(0x1cb))/0x5+parseInt(_0x24d876(0x191))/0x6+-parseInt(_0x24d876(0x1d8))/0x7+parseInt(_0x24d876(0x1c5))/0x8*(parseInt(_0x24d876(0x1bc))/0x9)+-parseInt(_0x24d876(0x16d))/0xa;if(_0x533abd===_0x52e994)break;else _0x4caef5[_0x16fe42(0x234)](_0x4caef5[_0x16fe42(0x1fa)]());}catch(_0x2d2be0){_0x4caef5[_0x16fe42(0x234)](_0x4caef5[_0x16fe42(0x1fa)]());}}}(a0_0x1d49,0x7df75))))))))))))));function a0_0x549d(_0x46ef1a,_0xabfe23){var _0x505800=a0_0x3d2a();return a0_0x549d=function(_0x210676,_0x26baa1){_0x210676=_0x210676-0x70;var _0x24b2a2=_0x505800[_0x210676];return _0x24b2a2;},a0_0x549d(_0x46ef1a,_0xabfe23);}function a0_0x699e(){var _0x407b03=a0_0x2a1e,_0x2ce20a=a0_0x2f6b,_0x444d95=a0_0xfd7b,_0x3d5b1c=a0_0x4f2b,_0x275d4d=[_0x3d5b1c(0x1a7),_0x3d5b1c(0x17a),_0x444d95(0x244),_0x3d5b1c(0x1d9),_0x3d5b1c(0x188),_0x3d5b1c(0x1dd),_0x3d5b1c(0x172),_0x444d95(0x242),_0x3d5b1c(0x181),_0x3d5b1c(0x182),_0x3d5b1c(0x1de),_0x3d5b1c(0x1b0),_0x444d95(0x24f),_0x444d95(0x1fa),_0x3d5b1c(0x18d),_0x3d5b1c(0x19c),_0x3d5b1c(0x1c1),_0x3d5b1c(0x18b),_0x3d5b1c(0x173),_0x3d5b1c(0x1b2),_0x444d95(0x22d),_0x3d5b1c(0x1ca),_0x3d5b1c(0x1b4),_0x3d5b1c(0x17b),_0x3d5b1c(0x1cd),_0x444d95(0x200),_0x3d5b1c(0x1c6),_0x3d5b1c(0x1d0),_0x444d95(0x216),_0x3d5b1c(0x1ad),_0x3d5b1c(0x176),_0x3d5b1c(0x1c7),_0x3d5b1c(0x190),_0x3d5b1c(0x19d),_0x3d5b1c(0x1b5),_0x3d5b1c(0x1a6),_0x3d5b1c(0x1dc),_0x3d5b1c(0x1c0),_0x3d5b1c(0x180),_0x3d5b1c(0x1da),_0x444d95(0x21a),_0x3d5b1c(0x1a9),_0x3d5b1c(0x1d1),_0x3d5b1c(0x1a8),_0x3d5b1c(0x17c),_0x3d5b1c(0x1cc),_0x3d5b1c(0x177),_0x3d5b1c(0x1c4),_0x3d5b1c(0x178),_0x3d5b1c(0x1c9),_0x3d5b1c(0x1cf),_0x3d5b1c(0x17e),_0x3d5b1c(0x1db),_0x3d5b1c(0x195),_0x3d5b1c(0x193),_0x444d95(0x220),_0x3d5b1c(0x1a1),_0x3d5b1c(0x1ac),_0x444d95(0x22c),_0x3d5b1c(0x19f),_0x3d5b1c(0x1a4),_0x3d5b1c(0x16c),_0x3d5b1c(0x1d5),_0x3d5b1c(0x197),_0x3d5b1c(0x17d),_0x3d5b1c(0x1bd),_0x3d5b1c(0x1a5),_0x3d5b1c(0x19e),_0x3d5b1c(0x17f),_0x444d95(0x21c),_0x3d5b1c(0x1d7),_0x3d5b1c(0x1b1),_0x3d5b1c(0x179),_0x3d5b1c(0x1d2),_0x3d5b1c(0x183),_0x3d5b1c(0x1bb),_0x3d5b1c(0x1ab),_0x3d5b1c(0x1a0),_0x444d95(0x1f3),_0x3d5b1c(0x184),_0x3d5b1c(0x18f),_0x3d5b1c(0x194),_0x3d5b1c(0x189),_0x2ce20a(0x1bb),_0x444d95(0x1fc),_0x3d5b1c(0x170),_0x3d5b1c(0x185),_0x3d5b1c(0x16f),_0x3d5b1c(0x171),_0x3d5b1c(0x16e),_0x3d5b1c(0x1af),_0x3d5b1c(0x198),_0x407b03(0xee),_0x444d95(0x1ff),_0x3d5b1c(0x1bf),_0x3d5b1c(0x1c8),_0x3d5b1c(0x18c),_0x3d5b1c(0x187),_0x3d5b1c(0x1be),_0x444d95(0x1f5),_0x3d5b1c(0x1a2),_0x3d5b1c(0x19b),_0x3d5b1c(0x18e),_0x3d5b1c(0x186),_0x3d5b1c(0x1d4),_0x2ce20a(0x1f0),_0x444d95(0x248)];return a0_0x699e=function(){return _0x275d4d;},a0_0x699e();}function a0_0x192f(){var _0x52d227=a0_0x55ce,_0x93524a=a0_0x5a4f,_0x13f182=a0_0x10d9,_0x16de8f=a0_0x2a1e,_0x3e95f4=[_0x16de8f(0x148),_0x16de8f(0x11f),_0x16de8f(0xfa),_0x16de8f(0x12e),_0x16de8f(0x103),_0x16de8f(0xfb),_0x16de8f(0x13e),_0x16de8f(0x12d),_0x16de8f(0x12f),_0x16de8f(0x114),_0x16de8f(0xfd),_0x52d227(0xd4),_0x16de8f(0x15b),_0x16de8f(0xed),_0x16de8f(0x100),_0x16de8f(0x169),_0x13f182(0x180),_0x13f182(0x177),_0x16de8f(0x127),_0x16de8f(0x10d),_0x16de8f(0xf2),_0x13f182(0x1bd),_0x13f182(0x1c8),_0x16de8f(0x116),_0x13f182(0x1b0),_0x13f182(0x1a2),_0x16de8f(0x145),_0x16de8f(0xf8),_0x16de8f(0x106),_0x16de8f(0x151),_0x93524a(0x11c),_0x16de8f(0x124),_0x16de8f(0x160),_0x13f182(0x156),_0x13f182(0x175),_0x16de8f(0x143),_0x16de8f(0x101),_0x16de8f(0xf1),_0x16de8f(0x164),_0x16de8f(0x144),_0x16de8f(0xf0),_0x16de8f(0x155),_0x16de8f(0x128),_0x13f182(0x1ae),_0x16de8f(0x16a),_0x16de8f(0xf7),_0x16de8f(0x122),_0x13f182(0x19b),_0x93524a(0x139),_0x93524a(0x17d),_0x16de8f(0x10a),_0x16de8f(0x139),_0x16de8f(0x159),_0x16de8f(0x108),_0x13f182(0x1b4),_0x16de8f(0x10c),_0x16de8f(0x154),_0x16de8f(0x153),_0x16de8f(0x11c),_0x16de8f(0x158),_0x13f182(0x150),_0x16de8f(0x110),_0x16de8f(0x14a),_0x16de8f(0x13a),_0x13f182(0x1a3),_0x16de8f(0x134),_0x13f182(0x174),_0x13f182(0x1af),_0x16de8f(0xf6),_0x16de8f(0x117),_0x16de8f(0x147),_0x16de8f(0xf5),_0x93524a(0x17c),_0x13f182(0x16b),_0x16de8f(0xea),_0x16de8f(0x166),_0x16de8f(0x13d),_0x16de8f(0x142),_0x16de8f(0x126),_0x13f182(0x194),_0x93524a(0x118),_0x16de8f(0x131),_0x16de8f(0x125),_0x16de8f(0x163),_0x13f182(0x17c),_0x16de8f(0x13f),_0x16de8f(0x11a),_0x13f182(0x18d),_0x16de8f(0x156),_0x16de8f(0x167),_0x16de8f(0x150),_0x16de8f(0x13c),_0x13f182(0x18a),_0x16de8f(0x13b),_0x13f182(0x1b5),_0x16de8f(0x119),_0x16de8f(0x109),_0x13f182(0x1ca),_0x16de8f(0x129),_0x16de8f(0x118),_0x16de8f(0x161),_0x16de8f(0x111),_0x16de8f(0x15d),_0x16de8f(0x14b),_0x16de8f(0x123),_0x16de8f(0x115),_0x16de8f(0x14e),_0x16de8f(0x104),_0x16de8f(0x11e),_0x16de8f(0x107),_0x16de8f(0x137),_0x16de8f(0x133),_0x16de8f(0x12c),_0x16de8f(0x146),_0x16de8f(0x11b),_0x16de8f(0x135),_0x16de8f(0xef),_0x16de8f(0xf3),_0x16de8f(0x105),_0x13f182(0x171),_0x16de8f(0x132),_0x16de8f(0x149),_0x93524a(0x148),_0x16de8f(0xf9),_0x16de8f(0x136),_0x16de8f(0x165),_0x16de8f(0x15a)];return a0_0x192f=function(){return _0x3e95f4;},a0_0x192f();}function a0_0x15ed(){var _0x525cb9=a0_0x94dd,_0x593b98=a0_0x29c0,_0x3f3078=a0_0x549d,_0x5ef40f=a0_0xf321,_0x33112d=[_0x5ef40f(0x258),_0x5ef40f(0x254),_0x5ef40f(0x21c),_0x5ef40f(0x233),_0x5ef40f(0x269),_0x5ef40f(0x20d),_0x5ef40f(0x218),_0x5ef40f(0x286),_0x5ef40f(0x255),_0x5ef40f(0x294),_0x5ef40f(0x273),_0x5ef40f(0x232),_0x5ef40f(0x264),_0x5ef40f(0x22a),_0x5ef40f(0x220),_0x5ef40f(0x25a),_0x3f3078(0x123),_0x5ef40f(0x26c),_0x5ef40f(0x24c),_0x5ef40f(0x28f),_0x5ef40f(0x20e),_0x5ef40f(0x1d8),_0x5ef40f(0x27a),_0x5ef40f(0x240),_0x5ef40f(0x261),_0x3f3078(0x106),_0x5ef40f(0x243),_0x5ef40f(0x1ea),_0x5ef40f(0x202),_0x3f3078(0x11d),_0x3f3078(0xfe),_0x5ef40f(0x27b),_0x3f3078(0x111),_0x5ef40f(0x1ff),_0x5ef40f(0x249),_0x3f3078(0xed),_0x5ef40f(0x27d),_0x525cb9(0x11d),_0x3f3078(0xc6),_0x5ef40f(0x279),_0x3f3078(0x9d),_0x5ef40f(0x1ee),_0x5ef40f(0x215),_0x5ef40f(0x1e4),_0x5ef40f(0x275),_0x3f3078(0xd7),_0x5ef40f(0x25d),_0x3f3078(0x97),_0x5ef40f(0x1e1),_0x5ef40f(0x1eb),_0x5ef40f(0x20f),_0x5ef40f(0x292),_0x5ef40f(0x23b),_0x5ef40f(0x1f8),_0x593b98(0x21a),_0x5ef40f(0x26b),_0x5ef40f(0x1fb),_0x5ef40f(0x222),_0x5ef40f(0x200),_0x5ef40f(0x204),_0x3f3078(0x79),_0x5ef40f(0x251),_0x5ef40f(0x1db),_0x3f3078(0x10b),_0x5ef40f(0x293),_0x3f3078(0xcc),_0x5ef40f(0x252),_0x5ef40f(0x22f),_0x3f3078(0x10f),_0x593b98(0x20f),_0x593b98(0x265),_0x3f3078(0xbb),_0x3f3078(0xf0),_0x5ef40f(0x214),_0x5ef40f(0x260),_0x3f3078(0xeb),_0x5ef40f(0x280),_0x5ef40f(0x245),_0x5ef40f(0x266),_0x593b98(0x23e),_0x5ef40f(0x28c),_0x5ef40f(0x1f4),_0x5ef40f(0x1e5),_0x5ef40f(0x285),_0x5ef40f(0x253),_0x5ef40f(0x205),_0x5ef40f(0x228),_0x5ef40f(0x1e7),_0x5ef40f(0x235),_0x5ef40f(0x262),_0x5ef40f(0x201),_0x5ef40f(0x23e),_0x5ef40f(0x226),_0x3f3078(0x9f),_0x5ef40f(0x1e9),_0x5ef40f(0x207),_0x5ef40f(0x1f1),_0x5ef40f(0x28e),_0x5ef40f(0x1dd),_0x5ef40f(0x1de),_0x5ef40f(0x20c),_0x5ef40f(0x271),_0x5ef40f(0x25c),_0x5ef40f(0x236),_0x5ef40f(0x267),_0x5ef40f(0x211),_0x5ef40f(0x1df),_0x5ef40f(0x28d),_0x5ef40f(0x1e2),_0x5ef40f(0x289),_0x5ef40f(0x281),_0x5ef40f(0x28b),_0x593b98(0x213),_0x5ef40f(0x256),_0x5ef40f(0x1f7),_0x593b98(0x1d6),_0x3f3078(0x105),_0x5ef40f(0x20a),_0x5ef40f(0x20b),_0x5ef40f(0x224),_0x5ef40f(0x1fc),_0x5ef40f(0x272),_0x5ef40f(0x26d),_0x5ef40f(0x23a),_0x5ef40f(0x28a),_0x5ef40f(0x1ef),_0x3f3078(0xdd),'mozRequestFullScreen',_0x5ef40f(0x223),_0x5ef40f(0x1f6),_0x5ef40f(0x263),_0x5ef40f(0x24d),_0x5ef40f(0x1e0),_0x5ef40f(0x234),_0x3f3078(0x9e),_0x5ef40f(0x203),_0x5ef40f(0x212),_0x5ef40f(0x22d),_0x5ef40f(0x21d),_0x3f3078(0xb7),_0x5ef40f(0x24a),_0x5ef40f(0x22c),_0x5ef40f(0x209),_0x3f3078(0xdc),_0x3f3078(0xbd),_0x5ef40f(0x1dc),_0x3f3078(0xac),_0x3f3078(0xf8),_0x3f3078(0xb0),_0x5ef40f(0x26f),_0x3f3078(0x85),_0x5ef40f(0x270),_0x5ef40f(0x225),_0x5ef40f(0x21a),_0x3f3078(0xda),_0x5ef40f(0x221),_0x5ef40f(0x25f),_0x5ef40f(0x257),_0x3f3078(0x7d),_0x5ef40f(0x1d7),_0x5ef40f(0x237),_0x5ef40f(0x1fe),_0x5ef40f(0x239),_0x3f3078(0xf7),_0x5ef40f(0x244),_0x5ef40f(0x230),_0x5ef40f(0x27e),_0x5ef40f(0x217),_0x5ef40f(0x250),_0x5ef40f(0x21e),'7SKtwCt',_0x5ef40f(0x241),_0x593b98(0x1fa),_0x3f3078(0x8e),_0x5ef40f(0x1f5),_0x5ef40f(0x24b),_0x5ef40f(0x238),_0x3f3078(0xd3),_0x5ef40f(0x246),_0x5ef40f(0x290),'9752946JjQAZD'];return a0_0x15ed=function(){return _0x33112d;},a0_0x15ed();}function a0_0x1d49(){var _0x49602c=a0_0x10d9,_0x53b958=a0_0x2a1e,_0x240c6f=a0_0x2f6b,_0x1409a1=a0_0xfd7b,_0x9e703=[_0x1409a1(0x241),_0x1409a1(0x213),_0x240c6f(0x1c2),_0x1409a1(0x23d),_0x1409a1(0x211),_0x1409a1(0x245),_0x1409a1(0x22b),_0x240c6f(0x1c6),_0x1409a1(0x24e),_0x1409a1(0x256),_0x240c6f(0x1bd),_0x53b958(0xe8),_0x49602c(0x170),_0x240c6f(0x1c4),_0x1409a1(0x203),_0x1409a1(0x243),_0x1409a1(0x219),_0x1409a1(0x1fd),_0x1409a1(0x21e),_0x1409a1(0x23b),_0x1409a1(0x255),_0x1409a1(0x228),_0x1409a1(0x1ea),_0x53b958(0x120),_0x1409a1(0x1f8),_0x1409a1(0x235),_0x1409a1(0x240),_0x240c6f(0x1ea),_0x1409a1(0x22e),_0x1409a1(0x20a),_0x1409a1(0x1ef),_0x1409a1(0x223),_0x1409a1(0x237),_0x1409a1(0x1fa),_0x1409a1(0x22a),_0x53b958(0xe9),_0x1409a1(0x1ec),_0x240c6f(0x1b2),_0x1409a1(0x1f4),_0x1409a1(0x1f0),_0x1409a1(0x209),_0x1409a1(0x1fb),_0x53b958(0x15f),_0x1409a1(0x23e),_0x1409a1(0x23c),_0x1409a1(0x1f7),_0x1409a1(0x254),_0x1409a1(0x1fe),_0x1409a1(0x206),_0x1409a1(0x214),_0x240c6f(0x196),_0x1409a1(0x23a),_0x1409a1(0x24d),_0x240c6f(0x212),_0x49602c(0x172),_0x1409a1(0x222),_0x1409a1(0x253),_0x1409a1(0x249),_0x1409a1(0x210),_0x1409a1(0x259),_0x1409a1(0x225),_0x240c6f(0x1a2),_0x240c6f(0x1ab),_0x1409a1(0x250),_0x1409a1(0x201),_0x49602c(0x1b1),_0x240c6f(0x1db),_0x1409a1(0x21d),_0x1409a1(0x21f),_0x240c6f(0x20b),_0x240c6f(0x19d),_0x1409a1(0x239),_0x1409a1(0x236),_0x240c6f(0x1ef),_0x1409a1(0x1f1),_0x240c6f(0x1d6),_0x1409a1(0x24b),_0x1409a1(0x24c),_0x1409a1(0x20f),_0x53b958(0x168),_0x1409a1(0x232),_0x1409a1(0x212),_0x1409a1(0x233),_0x53b958(0x11d),_0x1409a1(0x251),_0x1409a1(0x246),_0x1409a1(0x231),_0x1409a1(0x230),_0x1409a1(0x207),_0x1409a1(0x1f6),_0x1409a1(0x205),_0x240c6f(0x1b6),_0x1409a1(0x204),_0x1409a1(0x252),_0x1409a1(0x247),_0x240c6f(0x1a4),_0x240c6f(0x1cf),_0x1409a1(0x215),_0x1409a1(0x227),_0x1409a1(0x1f9),_0x1409a1(0x22f),_0x1409a1(0x1f2),_0x240c6f(0x1e3),_0x1409a1(0x202),_0x240c6f(0x197),_0x240c6f(0x1f9),_0x1409a1(0x238),_0x53b958(0x113),_0x240c6f(0x211),_0x1409a1(0x1ed),_0x240c6f(0x1d9),_0x1409a1(0x217),_0x240c6f(0x1ce),_0x1409a1(0x229),_0x1409a1(0x1e9)];return a0_0x1d49=function(){return _0x9e703;},a0_0x1d49();}function a0_0x29c0(_0x1dd2d3,_0xffb358){var _0x4a5617=a0_0xcec8();return a0_0x29c0=function(_0x4ff0b1,_0x39a8ec){_0x4ff0b1=_0x4ff0b1-0x19f;var _0x5ce6a4=_0x4a5617[_0x4ff0b1];return _0x5ce6a4;},a0_0x29c0(_0x1dd2d3,_0xffb358);}function a0_0x2d81(_0xea29d9,_0x305eee){var _0x1aca9a=a0_0x699e();return a0_0x2d81=function(_0x4db392,_0x528516){_0x4db392=_0x4db392-0x18d;var _0x33440a=_0x1aca9a[_0x4db392];return _0x33440a;},a0_0x2d81(_0xea29d9,_0x305eee);}function a0_0x5a4f(_0x503c8a,_0x5d9b8a){var _0x16e5e9=a0_0x5db0();return a0_0x5a4f=function(_0x2218c9,_0xd9c834){_0x2218c9=_0x2218c9-0x112;var _0x14483c=_0x16e5e9[_0x2218c9];return _0x14483c;},a0_0x5a4f(_0x503c8a,_0x5d9b8a);}function a0_0x10d9(_0x5ac25a,_0x5e57cb){var _0x302ad8=a0_0x3680();return a0_0x10d9=function(_0x184c91,_0x5e3b60){_0x184c91=_0x184c91-0x14c;var _0x1ef9f1=_0x302ad8[_0x184c91];return _0x1ef9f1;},a0_0x10d9(_0x5ac25a,_0x5e57cb);}function a0_0x2930(){var _0x3ad0fd=a0_0xf321,_0x8a518b=a0_0x5056,_0x3b05d5=a0_0x55ce,_0x35ae4a=a0_0x248b,_0x23deff=[_0x35ae4a(0x131),_0x35ae4a(0x136),_0x35ae4a(0xfb),_0x35ae4a(0x13d),_0x35ae4a(0xdd),_0x35ae4a(0x11b),_0x35ae4a(0x14a),_0x35ae4a(0x11c),_0x35ae4a(0x15a),_0x35ae4a(0x178),_0x35ae4a(0x153),_0x35ae4a(0xf5),_0x35ae4a(0x163),_0x35ae4a(0xff),_0x35ae4a(0x111),_0x35ae4a(0x11e),_0x3b05d5(0x117),_0x35ae4a(0xee),_0x35ae4a(0xf7),_0x35ae4a(0x16b),_0x35ae4a(0xe9),_0x3b05d5(0xfe),_0x3b05d5(0x110),_0x35ae4a(0x101),_0x35ae4a(0x104),_0x35ae4a(0x180),_0x35ae4a(0xfc),_0x3b05d5(0x129),_0x35ae4a(0x120),_0x8a518b(0x10d),_0x35ae4a(0x13f),_0x35ae4a(0x110),_0x35ae4a(0x16c),_0x35ae4a(0xe6),_0x35ae4a(0x121),_0x35ae4a(0xea),_0x35ae4a(0xf8),_0x35ae4a(0x14e),_0x35ae4a(0x143),_0x35ae4a(0x159),_0x35ae4a(0xf3),_0x3b05d5(0xee),_0x35ae4a(0xeb),_0x3b05d5(0xaf),_0x35ae4a(0x108),_0x35ae4a(0x11a),_0x35ae4a(0x179),_0x3b05d5(0xd1),_0x35ae4a(0x176),_0x3ad0fd(0x21f),_0x8a518b(0x148),_0x3b05d5(0x10c),_0x3b05d5(0x13c),_0x35ae4a(0x118),_0x3b05d5(0x120),_0x35ae4a(0x102),_0x35ae4a(0x105),_0x35ae4a(0x114),_0x35ae4a(0x17a),_0x35ae4a(0x149),_0x35ae4a(0x17c),_0x35ae4a(0xe3),_0x35ae4a(0x123),_0x35ae4a(0x152),_0x35ae4a(0xf0),_0x35ae4a(0x13a),_0x35ae4a(0x119),_0x35ae4a(0x175),_0x35ae4a(0x181),_0x35ae4a(0x17f),_0x35ae4a(0x16a),_0x35ae4a(0x16d),_0x35ae4a(0x10d),_0x3b05d5(0xe2),_0x3b05d5(0x109),_0x35ae4a(0x141),_0x3b05d5(0xde),_0x3b05d5(0xff),_0x3b05d5(0xec),_0x3b05d5(0x11b),_0x35ae4a(0x14b),_0x3b05d5(0xb5),_0x8a518b(0xd8),_0x3b05d5(0xf9),_0x35ae4a(0x15f),_0x35ae4a(0xde),_0x35ae4a(0x128),_0x35ae4a(0x12c),_0x3b05d5(0xd2),_0x35ae4a(0x15c),_0x3b05d5(0x12f),_0x3b05d5(0x115),_0x35ae4a(0x13e),_0x35ae4a(0xfe),_0x35ae4a(0x160),_0x35ae4a(0x164),_0x3b05d5(0xf2),_0x35ae4a(0xf4),_0x3b05d5(0x10f),_0x3b05d5(0xc6),_0x35ae4a(0x10b),_0x3b05d5(0x100),_0x35ae4a(0x140),_0x35ae4a(0x148),_0x35ae4a(0x103),_0x35ae4a(0x17e),_0x35ae4a(0x10a),_0x35ae4a(0x16e),_0x35ae4a(0x12a),_0x35ae4a(0x122),_0x35ae4a(0x171),_0x35ae4a(0x15b),_0x35ae4a(0x127),_0x35ae4a(0xf1),_0x35ae4a(0x15e),_0x35ae4a(0x166),_0x35ae4a(0x170),_0x8a518b(0x119),_0x35ae4a(0x146),_0x35ae4a(0x147),_0x3b05d5(0x128),_0x35ae4a(0xe2),_0x3b05d5(0xb9),_0x35ae4a(0x151),_0x35ae4a(0x135),_0x35ae4a(0x14f),_0x35ae4a(0x106),_0x35ae4a(0x161),_0x35ae4a(0x12e),_0x8a518b(0x117),_0x35ae4a(0x130),_0x35ae4a(0xe4),_0x35ae4a(0x156),_0x35ae4a(0x165),_0x35ae4a(0x150),_0x3ad0fd(0x210),_0x35ae4a(0x10e),_0x3b05d5(0x10b),_0x35ae4a(0x14c),_0x3b05d5(0x102),_0x35ae4a(0x167),_0x35ae4a(0x12f)];return a0_0x2930=function(){return _0x23deff;},a0_0x2930();}function a0_0x55ce(_0x55c5d0,_0x45d1b8){var _0x4b9efe=a0_0x4fe0();return a0_0x55ce=function(_0x3e9f0e,_0xf5f769){_0x3e9f0e=_0x3e9f0e-0x9c;var _0x2a6147=_0x4b9efe[_0x3e9f0e];return _0x2a6147;},a0_0x55ce(_0x55c5d0,_0x45d1b8);}(function(_0x2b29c7,_0x32283b){var _0x5f2374=a0_0xfd7b,_0x110d58=a0_0x4f2b,_0x5ac533=a0_0x2d81,_0x4cc2be=_0x2b29c7();while(!![]){try{var _0x361817=parseInt(_0x5ac533(0x1c2))/0x1+parseInt(_0x5ac533(0x1c0))/0x2+-parseInt(_0x5ac533(0x19f))/0x3*(parseInt(_0x5ac533(0x1c3))/0x4)+parseInt(_0x5ac533(0x19b))/0x5+-parseInt(_0x5ac533(0x1dd))/0x6+parseInt(_0x5ac533(0x197))/0x7*(parseInt(_0x5ac533(0x1f7))/0x8)+parseInt(_0x5ac533(0x1be))/0x9*(parseInt(_0x5ac533(0x193))/0xa);if(_0x361817===_0x32283b)break;else _0x4cc2be[_0x110d58(0x18c)](_0x4cc2be[_0x5f2374(0x1fa)]());}catch(_0x181154){_0x4cc2be[_0x110d58(0x18c)](_0x4cc2be[_0x110d58(0x1b8)]());}}}(a0_0x699e,0xb6ef3),(function(_0x3c9f80,_0x3b41f1){var _0x1905cb=a0_0xfd7b,_0x137c32=a0_0x2d81,_0x4686cf=a0_0x310b,_0x1a34f1=_0x3c9f80();while(!![]){try{var _0x5d9343=parseInt(_0x4686cf(0xf0))/0x1+-parseInt(_0x4686cf(0xc3))/0x2*(parseInt(_0x4686cf(0xdc))/0x3)+-parseInt(_0x4686cf(0xa4))/0x4+parseInt(_0x4686cf(0xbd))/0x5*(parseInt(_0x4686cf(0xcb))/0x6)+parseInt(_0x4686cf(0xa9))/0x7*(-parseInt(_0x4686cf(0xad))/0x8)+parseInt(_0x4686cf(0xb6))/0x9+parseInt(_0x4686cf(0xf9))/0xa*(parseInt(_0x4686cf(0xc5))/0xb);if(_0x5d9343===_0x3b41f1)break;else _0x1a34f1[_0x137c32(0x1b0)](_0x1a34f1[_0x137c32(0x1c8)]());}catch(_0x322b40){_0x1a34f1[_0x1905cb(0x234)](_0x1a34f1[_0x137c32(0x1c8)]());}}}(a0_0x417b,0x78f9b),function(_0x48609e,_0x54c18f){var _0x405940=a0_0x2d81,_0x5bf98c=a0_0x310b,_0x2044bf=a0_0x511a,_0x39dcb2=_0x48609e();while(!![]){try{var _0xb150d6=-parseInt(_0x2044bf(0x1d9))/0x1+parseInt(_0x2044bf(0x1f3))/0x2+-parseInt(_0x2044bf(0x201))/0x3+-parseInt(_0x2044bf(0x200))/0x4*(-parseInt(_0x2044bf(0x1d8))/0x5)+parseInt(_0x2044bf(0x1eb))/0x6*(-parseInt(_0x2044bf(0x1ee))/0x7)+parseInt(_0x2044bf(0x1c6))/0x8*(-parseInt(_0x2044bf(0x1cb))/0x9)+parseInt(_0x2044bf(0x1f2))/0xa;if(_0xb150d6===_0x54c18f)break;else _0x39dcb2[_0x5bf98c(0xa3)](_0x39dcb2[_0x5bf98c(0xda)]());}catch(_0x592e60){_0x39dcb2[_0x405940(0x1b0)](_0x39dcb2[_0x5bf98c(0xda)]());}}}(a0_0x2e1f,0x5b88c)));function a0_0x3b98(){var _0x772554=a0_0xfd7b,_0x48fd81=a0_0x4f2b,_0x486dcf=a0_0x2d81,_0x454fb1=a0_0x310b,_0xa82b1e=a0_0x511a,_0x1cf821=[_0xa82b1e(0x1ca),_0xa82b1e(0x204),_0x486dcf(0x1e4),_0xa82b1e(0x1d3),_0xa82b1e(0x1fa),_0xa82b1e(0x1be),_0xa82b1e(0x1f7),_0xa82b1e(0x1de),_0x48fd81(0x1d3),_0xa82b1e(0x1cd),_0xa82b1e(0x1bc),_0xa82b1e(0x1e4),_0xa82b1e(0x1c5),_0xa82b1e(0x1cf),_0x486dcf(0x198),_0xa82b1e(0x1f1),_0x454fb1(0xc0),_0xa82b1e(0x1d4),_0x454fb1(0xa3),_0x486dcf(0x1ab),_0xa82b1e(0x1c4),_0x454fb1(0xe5),_0xa82b1e(0x1ea),_0xa82b1e(0x1f8),_0xa82b1e(0x1e3),_0xa82b1e(0x202),_0x454fb1(0xd0),_0x454fb1(0xec),_0x486dcf(0x1a8),_0x454fb1(0xf6),_0xa82b1e(0x1ba),_0xa82b1e(0x1df),_0xa82b1e(0x1bb),_0x454fb1(0xe2),_0xa82b1e(0x1d6),_0xa82b1e(0x1d7),_0x454fb1(0xbe),_0xa82b1e(0x1dd),_0x454fb1(0xe1),_0x454fb1(0xb9),_0xa82b1e(0x1ce),_0xa82b1e(0x1bd),_0xa82b1e(0x1fd),_0xa82b1e(0x1ed),_0x454fb1(0xf3),_0xa82b1e(0x1d1),_0x486dcf(0x1b6),_0xa82b1e(0x1c0),_0x486dcf(0x1f2),_0xa82b1e(0x1b9),_0xa82b1e(0x203),_0x772554(0x208),_0x486dcf(0x194),_0xa82b1e(0x205),_0x454fb1(0xde),_0xa82b1e(0x1c7),_0xa82b1e(0x1bf),_0xa82b1e(0x1b8),_0xa82b1e(0x1ff),_0xa82b1e(0x1db),_0xa82b1e(0x1d5),_0xa82b1e(0x1cc),_0x454fb1(0xab),_0xa82b1e(0x1dc),_0xa82b1e(0x1e6),_0xa82b1e(0x1da),_0xa82b1e(0x1fc),_0xa82b1e(0x1c3),_0xa82b1e(0x1c1),_0xa82b1e(0x1f9),_0xa82b1e(0x1e9),_0xa82b1e(0x1e7),_0xa82b1e(0x1e5),_0xa82b1e(0x1f0),_0x48fd81(0x1b8),_0xa82b1e(0x1d2),_0xa82b1e(0x1e8),_0xa82b1e(0x1e2),_0x454fb1(0xd9),_0xa82b1e(0x1f6)];return a0_0x3b98=function(){return _0x1cf821;},a0_0x3b98();}function a0_0xfd7b(_0x675953,_0x500b8f){var _0x2ddbb6=a0_0x4e5b();return a0_0xfd7b=function(_0x51525e,_0x47566e){_0x51525e=_0x51525e-0x1e9;var _0xb85721=_0x2ddbb6[_0x51525e];return _0xb85721;},a0_0xfd7b(_0x675953,_0x500b8f);}function a0_0x417b(){var _0x347a37=a0_0x2a1e,_0x7066a4=a0_0x2f6b,_0x3d7845=a0_0xfd7b,_0xbe912=a0_0x4f2b,_0x35ad68=a0_0x2d81,_0x48c324=[_0x7066a4(0x1b8),_0x35ad68(0x1f3),_0x35ad68(0x1ba),_0x35ad68(0x1b5),_0x35ad68(0x1e3),_0x35ad68(0x1a6),_0xbe912(0x1d6),_0x35ad68(0x1f0),_0x35ad68(0x1ce),_0x35ad68(0x1cb),_0x35ad68(0x1d8),_0xbe912(0x1ce),_0x35ad68(0x1a7),_0x35ad68(0x1b4),_0xbe912(0x1aa),_0x3d7845(0x221),_0x3d7845(0x224),_0x35ad68(0x1f6),_0x35ad68(0x1c4),_0x35ad68(0x1d9),_0x35ad68(0x1ea),_0x35ad68(0x19e),_0x35ad68(0x1da),_0x35ad68(0x1aa),_0x35ad68(0x1eb),_0x35ad68(0x1bc),_0x3d7845(0x1fa),_0x35ad68(0x1dc),_0x35ad68(0x1c6),_0x35ad68(0x18f),_0xbe912(0x1b7),_0x35ad68(0x1c5),_0x35ad68(0x1c1),_0x35ad68(0x1c7),_0x35ad68(0x1d6),_0x35ad68(0x1d1),_0x35ad68(0x1a5),_0x35ad68(0x1e5),_0x35ad68(0x1ec),_0x35ad68(0x1e6),_0x35ad68(0x1ae),_0x35ad68(0x1a0),_0x35ad68(0x1bd),_0xbe912(0x175),_0x35ad68(0x1b2),_0xbe912(0x1c2),_0x35ad68(0x1d5),_0xbe912(0x1a3),_0x35ad68(0x191),_0x3d7845(0x20c),_0x35ad68(0x1f1),_0x35ad68(0x1cf),_0x35ad68(0x196),_0x35ad68(0x1e0),_0x35ad68(0x1e8),_0x35ad68(0x1d4),_0x35ad68(0x1bf),_0xbe912(0x19a),_0x35ad68(0x1a9),_0x35ad68(0x1bb),_0x35ad68(0x1c9),_0x35ad68(0x18d),_0x35ad68(0x1e1),_0x35ad68(0x1e2),_0x35ad68(0x1b0),_0x35ad68(0x1df),_0x35ad68(0x190),_0x35ad68(0x1ca),_0x347a37(0x121),_0x35ad68(0x1b8),_0x35ad68(0x1d3),_0xbe912(0x199),_0x35ad68(0x19d),_0x35ad68(0x1e9),_0x35ad68(0x1a4),_0xbe912(0x1c3),_0x35ad68(0x199),_0x35ad68(0x18e),_0x35ad68(0x1b3),_0x35ad68(0x1f4),_0x35ad68(0x1ad),_0x35ad68(0x1a3),_0x35ad68(0x19c),_0x35ad68(0x1d7),_0x35ad68(0x1b9),_0x35ad68(0x1d0),_0x35ad68(0x1cc),_0x35ad68(0x195),_0x35ad68(0x1f5),_0x35ad68(0x1ed),_0x35ad68(0x1e7),_0xbe912(0x1b3),_0x35ad68(0x1de)];return a0_0x417b=function(){return _0x48c324;},a0_0x417b();}(function(_0x3613e2,_0x2d5fa3){var _0x2d856b=a0_0x310b,_0x299557=a0_0x511a,_0x4aa94d=a0_0xe7b9,_0x3bfa82=_0x3613e2();while(!![]){try{var _0x5cd690=-parseInt(_0x4aa94d(0x18d))/0x1+-parseInt(_0x4aa94d(0x151))/0x2*(parseInt(_0x4aa94d(0x158))/0x3)+parseInt(_0x4aa94d(0x144))/0x4*(-parseInt(_0x4aa94d(0x14a))/0x5)+-parseInt(_0x4aa94d(0x15f))/0x6+-parseInt(_0x4aa94d(0x162))/0x7+parseInt(_0x4aa94d(0x164))/0x8+-parseInt(_0x4aa94d(0x182))/0x9*(-parseInt(_0x4aa94d(0x184))/0xa);if(_0x5cd690===_0x2d5fa3)break;else _0x3bfa82[_0x2d856b(0xa3)](_0x3bfa82[_0x299557(0x1f5)]());}catch(_0x5ccfff){_0x3bfa82[_0x299557(0x206)](_0x3bfa82[_0x299557(0x1f5)]());}}}(a0_0x3b98,0xc8e43),(function(_0x2e7dcf,_0xa7526a){var _0x13c035=a0_0x511a,_0x54f2e9=a0_0xe7b9,_0x1450b3=a0_0x3cb5,_0x365f51=_0x2e7dcf();while(!![]){try{var _0x12abe5=-parseInt(_0x1450b3(0x1b9))/0x1+parseInt(_0x1450b3(0x192))/0x2+parseInt(_0x1450b3(0x1a6))/0x3+-parseInt(_0x1450b3(0x1a9))/0x4+-parseInt(_0x1450b3(0x195))/0x5+parseInt(_0x1450b3(0x1ae))/0x6*(parseInt(_0x1450b3(0x188))/0x7)+-parseInt(_0x1450b3(0x19d))/0x8*(-parseInt(_0x1450b3(0x1ca))/0x9);if(_0x12abe5===_0xa7526a)break;else _0x365f51[_0x54f2e9(0x14d)](_0x365f51[_0x54f2e9(0x185)]());}catch(_0x46b950){_0x365f51[_0x13c035(0x206)](_0x365f51[_0x54f2e9(0x185)]());}}}(a0_0x20b6,0x5d563),function(_0x4f0f46,_0x229cfb){var _0x514045=a0_0xe7b9,_0x56d44f=a0_0x3cb5,_0x33aaa9=a0_0xb2ce,_0x2ef3aa=_0x4f0f46();while(!![]){try{var _0x5d89b1=-parseInt(_0x33aaa9(0xec))/0x1*(-parseInt(_0x33aaa9(0xf6))/0x2)+parseInt(_0x33aaa9(0xf4))/0x3*(-parseInt(_0x33aaa9(0xf0))/0x4)+parseInt(_0x33aaa9(0x11f))/0x5*(parseInt(_0x33aaa9(0x10d))/0x6)+-parseInt(_0x33aaa9(0xfc))/0x7*(-parseInt(_0x33aaa9(0xea))/0x8)+parseInt(_0x33aaa9(0x126))/0x9+-parseInt(_0x33aaa9(0x115))/0xa+parseInt(_0x33aaa9(0xff))/0xb*(-parseInt(_0x33aaa9(0x117))/0xc);if(_0x5d89b1===_0x229cfb)break;else _0x2ef3aa[_0x56d44f(0x193)](_0x2ef3aa[_0x56d44f(0x1b5)]());}catch(_0x5201af){_0x2ef3aa[_0x514045(0x14d)](_0x2ef3aa[_0x56d44f(0x1b5)]());}}}(a0_0x5249,0x415fc)));function a0_0x5154(){var _0x34c179=a0_0x511a,_0x373813=a0_0xe7b9,_0x141007=a0_0x3cb5,_0x2ece84=a0_0xb2ce,_0x3dce25=[_0x141007(0x194),_0x2ece84(0xf1),_0x2ece84(0xf8),_0x141007(0x1b1),_0x2ece84(0xfb),_0x2ece84(0x100),_0x2ece84(0xeb),_0x2ece84(0xf5),_0x2ece84(0x108),_0x141007(0x1b8),_0x2ece84(0xee),_0x141007(0x19b),_0x2ece84(0x11a),_0x2ece84(0x120),_0x34c179(0x1c8),_0x2ece84(0xed),_0x373813(0x14e),_0x141007(0x1b2),_0x2ece84(0x10a),_0x2ece84(0x119),_0x141007(0x1a1),_0x2ece84(0x118),_0x2ece84(0x123),_0x2ece84(0x104),_0x2ece84(0x128),_0x2ece84(0x111),_0x2ece84(0x11e),_0x2ece84(0x103),_0x2ece84(0x110),_0x141007(0x198),_0x2ece84(0x129),_0x141007(0x19c),_0x141007(0x1a5),_0x2ece84(0x109),_0x2ece84(0x106),_0x2ece84(0x10f),_0x141007(0x18e),_0x2ece84(0x114),_0x2ece84(0x102),_0x2ece84(0xfa),_0x141007(0x19f),_0x2ece84(0x121),_0x2ece84(0xfe),_0x2ece84(0x124),_0x2ece84(0xf3),_0x2ece84(0xf7),_0x2ece84(0x107),_0x2ece84(0x116),_0x2ece84(0xf2),_0x2ece84(0xf9),_0x2ece84(0xef),_0x2ece84(0x112),_0x141007(0x1a3),_0x2ece84(0x101),_0x2ece84(0x11d),_0x2ece84(0x11b),_0x2ece84(0x10c),_0x2ece84(0xfd),_0x2ece84(0x10e)];return a0_0x5154=function(){return _0x3dce25;},a0_0x5154();}function a0_0x310b(_0x58c141,_0x5bb6bf){var _0x513c57=a0_0x417b();return a0_0x310b=function(_0x3a814b,_0x5de398){_0x3a814b=_0x3a814b-0xa0;var _0xea3bb8=_0x513c57[_0x3a814b];return _0xea3bb8;},a0_0x310b(_0x58c141,_0x5bb6bf);}function a0_0xf321(_0x7e1623,_0x6da127){var _0x565d40=a0_0x5a2f();return a0_0xf321=function(_0x40d383,_0x4cd2c6){_0x40d383=_0x40d383-0x1d7;var _0x4568fe=_0x565d40[_0x40d383];return _0x4568fe;},a0_0xf321(_0x7e1623,_0x6da127);}(function(_0x49f7a2,_0x3a0256){var _0x2480f1=a0_0x3cb5,_0xd33093=a0_0xb2ce,_0x32b7dc=a0_0x6220,_0xa1d213=_0x49f7a2();while(!![]){try{var _0x22031a=parseInt(_0x32b7dc(0x161))/0x1+-parseInt(_0x32b7dc(0x132))/0x2*(parseInt(_0x32b7dc(0x13a))/0x3)+-parseInt(_0x32b7dc(0x156))/0x4*(-parseInt(_0x32b7dc(0x13d))/0x5)+parseInt(_0x32b7dc(0x12e))/0x6+parseInt(_0x32b7dc(0x14f))/0x7+-parseInt(_0x32b7dc(0x14e))/0x8*(-parseInt(_0x32b7dc(0x162))/0x9)+-parseInt(_0x32b7dc(0x14a))/0xa;if(_0x22031a===_0x3a0256)break;else _0xa1d213[_0xd33093(0xfe)](_0xa1d213[_0xd33093(0x107)]());}catch(_0xea94f8){_0xa1d213[_0xd33093(0xfe)](_0xa1d213[_0x2480f1(0x1b5)]());}}}(a0_0x5154,0x4c4e0),function(_0x3346e9,_0x506603){var _0x32b943=a0_0xb2ce,_0x5a4919=a0_0x6220,_0x3f98ef=a0_0x125d,_0x36648d=_0x3346e9();while(!![]){try{var _0x40618a=-parseInt(_0x3f98ef(0x133))/0x1*(parseInt(_0x3f98ef(0x13c))/0x2)+-parseInt(_0x3f98ef(0x155))/0x3*(parseInt(_0x3f98ef(0x131))/0x4)+parseInt(_0x3f98ef(0x14f))/0x5+parseInt(_0x3f98ef(0x136))/0x6+-parseInt(_0x3f98ef(0x13a))/0x7*(parseInt(_0x3f98ef(0x153))/0x8)+parseInt(_0x3f98ef(0x152))/0x9*(parseInt(_0x3f98ef(0x154))/0xa)+parseInt(_0x3f98ef(0x150))/0xb*(parseInt(_0x3f98ef(0x157))/0xc);if(_0x40618a===_0x506603)break;else _0x36648d[_0x32b943(0xfe)](_0x36648d[_0x5a4919(0x12c)]());}catch(_0x4bc75b){_0x36648d[_0x5a4919(0x163)](_0x36648d[_0x5a4919(0x12c)]());}}}(a0_0x21c6,0x343b2));function a0_0x4636(_0x9dc370,_0x373425){var _0x793d08=a0_0x3450();return a0_0x4636=function(_0x3476d1,_0x5ef021){_0x3476d1=_0x3476d1-0xa1;var _0x34eeab=_0x793d08[_0x3476d1];return _0x34eeab;},a0_0x4636(_0x9dc370,_0x373425);}function a0_0xe7b9(_0x2a92ef,_0x477735){var _0x2cbfa7=a0_0x3b98();return a0_0xe7b9=function(_0x48d191,_0x42fb50){_0x48d191=_0x48d191-0x144;var _0x460438=_0x2cbfa7[_0x48d191];return _0x460438;},a0_0xe7b9(_0x2a92ef,_0x477735);}function a0_0x511a(_0x27e47c,_0xa108f9){var _0x5d4aca=a0_0x2e1f();return a0_0x511a=function(_0x19c19c,_0x1c6224){_0x19c19c=_0x19c19c-0x1b7;var _0x2bb7a1=_0x5d4aca[_0x19c19c];return _0x2bb7a1;},a0_0x511a(_0x27e47c,_0xa108f9);}function a0_0x4f2b(_0x3bdc0a,_0x25569b){var _0x299024=a0_0x1d49();return a0_0x4f2b=function(_0x5718c2,_0x1dd1f1){_0x5718c2=_0x5718c2-0x16c;var _0xfe37ca=_0x299024[_0x5718c2];return _0xfe37ca;},a0_0x4f2b(_0x3bdc0a,_0x25569b);}function a0_0x3680(){var _0x202f9=a0_0x55ce,_0x3803ef=a0_0x248b,_0x3e64c7=a0_0x577e,_0x436b4c=a0_0x5a4f,_0x2c5207=[_0x436b4c(0x123),_0x3e64c7(0x220),_0x436b4c(0x18b),_0x436b4c(0x146),_0x436b4c(0x150),_0x436b4c(0x154),_0x436b4c(0x13f),_0x436b4c(0x130),_0x436b4c(0x12e),_0x436b4c(0x18e),_0x436b4c(0x149),_0x3803ef(0x174),_0x436b4c(0x12d),_0x436b4c(0x158),_0x436b4c(0x17a),_0x3e64c7(0x227),_0x3e64c7(0x24f),_0x3e64c7(0x261),_0x436b4c(0x164),_0x3803ef(0x158),_0x436b4c(0x11b),_0x436b4c(0x119),_0x3e64c7(0x255),_0x436b4c(0x162),_0x3e64c7(0x1f7),_0x436b4c(0x18a),_0x436b4c(0x14e),_0x436b4c(0x18d),_0x202f9(0xfb),_0x436b4c(0x184),_0x436b4c(0x160),_0x436b4c(0x126),_0x436b4c(0x196),_0x3e64c7(0x244),_0x436b4c(0x1a4),_0x436b4c(0x128),_0x436b4c(0x165),_0x3803ef(0xec),_0x436b4c(0x11a),_0x3e64c7(0x1e9),_0x3e64c7(0x253),_0x436b4c(0x181),_0x436b4c(0x19f),_0x436b4c(0x11e),_0x436b4c(0x17f),_0x436b4c(0x14f),_0x436b4c(0x169),_0x3e64c7(0x254),_0x436b4c(0x13d),_0x436b4c(0x179),_0x3e64c7(0x251),_0x436b4c(0x172),_0x3e64c7(0x203),_0x3803ef(0xe8),_0x436b4c(0x131),_0x436b4c(0x166),_0x436b4c(0x16b),_0x436b4c(0x135),_0x436b4c(0x19e),_0x436b4c(0x159),_0x436b4c(0x161),_0x436b4c(0x122),_0x436b4c(0x155),_0x3803ef(0xef),_0x436b4c(0x133),_0x436b4c(0x186),_0x436b4c(0x192),_0x436b4c(0x199),_0x436b4c(0x15c),_0x436b4c(0x15e),_0x436b4c(0x127),_0x3803ef(0x115),_0x436b4c(0x147),_0x436b4c(0x14b),_0x436b4c(0x120),_0x436b4c(0x1a1),_0x3803ef(0x13c),_0x436b4c(0x15a),_0x3803ef(0x126),_0x3e64c7(0x1ff),_0x436b4c(0x176),_0x436b4c(0x138),_0x436b4c(0x16d),_0x436b4c(0x116),_0x436b4c(0x12c),_0x3e64c7(0x1ed),_0x436b4c(0x115),_0x436b4c(0x182),_0x3e64c7(0x243),_0x436b4c(0x168),_0x436b4c(0x170),_0x436b4c(0x12a),_0x436b4c(0x112),_0x3e64c7(0x240),_0x436b4c(0x15b),_0x436b4c(0x11d),_0x3e64c7(0x270),_0x436b4c(0x114),_0x436b4c(0x18f),_0x436b4c(0x157),_0x3e64c7(0x210),_0x436b4c(0x197),_0x436b4c(0x13b),_0x436b4c(0x152),_0x436b4c(0x16a),_0x436b4c(0x194),_0x436b4c(0x19d),_0x3e64c7(0x22c),_0x3e64c7(0x263),_0x3e64c7(0x25f),_0x3e64c7(0x232),_0x436b4c(0x177),_0x436b4c(0x140),_0x436b4c(0x16c),_0x436b4c(0x19b),_0x436b4c(0x117),_0x436b4c(0x171),_0x436b4c(0x125),_0x436b4c(0x136),_0x3e64c7(0x216),_0x436b4c(0x1a0),_0x436b4c(0x153),_0x436b4c(0x134),_0x3e64c7(0x23f),_0x436b4c(0x16f),_0x436b4c(0x113),_0x436b4c(0x143),_0x436b4c(0x183),_0x3e64c7(0x268),_0x3e64c7(0x20e),_0x436b4c(0x174),_0x436b4c(0x13a),_0x436b4c(0x132),_0x436b4c(0x195),_0x436b4c(0x156),_0x436b4c(0x193),_0x436b4c(0x198),_0x436b4c(0x12f),_0x436b4c(0x188),_0x436b4c(0x167)];return a0_0x3680=function(){return _0x2c5207;},a0_0x3680();}function a0_0x125d(_0x4f77b7,_0x38ef19){var _0x390d47=a0_0x21c6();return a0_0x125d=function(_0x502545,_0x264b30){_0x502545=_0x502545-0x128;var _0x127ca1=_0x390d47[_0x502545];return _0x127ca1;},a0_0x125d(_0x4f77b7,_0x38ef19);}function a0_0x4fe0(){var _0x576436=a0_0x94dd,_0x17edd1=a0_0x29c0,_0x1681cb=a0_0x549d,_0x1c5fcd=a0_0xf321,_0x1debb6=a0_0x5056,_0xe6744a=[_0x1debb6(0x16b),_0x1debb6(0x126),_0x1debb6(0x141),_0x1debb6(0xca),_0x1debb6(0x131),_0x1debb6(0x116),_0x1debb6(0xcb),_0x1debb6(0xc4),_0x1debb6(0xde),_0x1681cb(0x11f),_0x1debb6(0xfd),_0x1debb6(0xcd),_0x1debb6(0xba),_0x1debb6(0x10a),_0x1debb6(0x159),_0x1c5fcd(0x265),_0x1debb6(0x124),_0x1debb6(0x143),_0x1debb6(0xfc),_0x1debb6(0xe6),_0x1debb6(0xdb),_0x1c5fcd(0x219),_0x1debb6(0xd7),_0x1debb6(0x162),_0x1debb6(0x10b),_0x1debb6(0x15d),_0x1debb6(0x125),_0x1c5fcd(0x1ec),_0x1debb6(0x138),_0x1debb6(0x144),_0x1681cb(0xd8),_0x1c5fcd(0x1f9),_0x1debb6(0xdc),_0x1c5fcd(0x248),_0x1debb6(0x11d),_0x1debb6(0x102),_0x1c5fcd(0x288),_0x1debb6(0x156),_0x1debb6(0x12a),_0x1debb6(0xc9),_0x1debb6(0x146),_0x1debb6(0x12b),_0x1c5fcd(0x1f3),_0x1debb6(0xbf),_0x1debb6(0x16e),_0x1debb6(0x113),_0x1debb6(0xc0),_0x1debb6(0x166),_0x1debb6(0x14e),_0x1debb6(0xef),_0x1debb6(0xff),_0x1debb6(0xea),_0x1c5fcd(0x268),_0x1debb6(0x15e),_0x1debb6(0xcf),_0x1c5fcd(0x242),_0x1c5fcd(0x21b),_0x1debb6(0xf3),_0x1debb6(0x150),_0x1c5fcd(0x282),_0x1debb6(0x12c),_0x1debb6(0xd1),_0x1debb6(0x134),_0x1debb6(0x145),_0x1debb6(0xbb),_0x1debb6(0x10e),_0x1debb6(0xf9),_0x1debb6(0xee),_0x1debb6(0xd5),_0x1debb6(0x14b),_0x1debb6(0x151),_0x576436(0x144),_0x1c5fcd(0x1e3),_0x1c5fcd(0x1f2),_0x1c5fcd(0x1fd),_0x1debb6(0x11c),_0x1debb6(0x103),_0x1debb6(0x123),_0x1debb6(0x168),_0x1c5fcd(0x208),_0x1c5fcd(0x274),_0x1c5fcd(0x1e6),'1307727wVLfMR',_0x1debb6(0xbd),_0x1debb6(0x15b),_0x1debb6(0xf8),_0x1debb6(0x158),_0x1debb6(0xda),_0x1debb6(0xf4),_0x17edd1(0x1e5),_0x1debb6(0x13f),_0x1c5fcd(0x1fa),_0x1debb6(0xc6),_0x1debb6(0xec),_0x1681cb(0xc3),_0x1debb6(0x140),_0x1debb6(0x152),_0x1debb6(0xf7),_0x1debb6(0x142),_0x1debb6(0x11a),_0x1debb6(0x149),_0x1debb6(0xd9),_0x1debb6(0x13d),_0x1c5fcd(0x23f),_0x1debb6(0x11f),_0x1debb6(0xf6),_0x1681cb(0x95),_0x1debb6(0x121),_0x1c5fcd(0x24e),_0x1debb6(0x114),_0x1c5fcd(0x252),_0x1debb6(0x13a),_0x1debb6(0x118),_0x1debb6(0xd2),_0x1debb6(0x137),_0x1debb6(0xe9),_0x1c5fcd(0x27f),_0x1debb6(0xfb),_0x1debb6(0x160),_0x1debb6(0xc1),_0x1debb6(0x107),_0x1debb6(0xd3),_0x1debb6(0x163),_0x1debb6(0x105),_0x1debb6(0xbc),_0x1debb6(0x104),_0x1debb6(0xc2),_0x1c5fcd(0x276),_0x1debb6(0x13e),_0x1debb6(0x111),_0x1debb6(0xbe),_0x1debb6(0xc3),_0x1debb6(0x165),_0x1debb6(0x16c),_0x1debb6(0x169),_0x1debb6(0xe8),_0x1debb6(0x130),_0x1debb6(0xe5),_0x576436(0x199),_0x1debb6(0x115),_0x1debb6(0xeb),_0x1debb6(0x154),_0x1debb6(0xf0),_0x1debb6(0x10c),_0x1debb6(0xdf),_0x1debb6(0x108),_0x1debb6(0xd6),_0x1debb6(0xfe),_0x1debb6(0x14d),_0x1debb6(0xd4),_0x1681cb(0x8a),_0x1debb6(0x10f),_0x1debb6(0x15a),_0x1c5fcd(0x23c),_0x1debb6(0xf2),_0x1debb6(0xc8),_0x1debb6(0x133),_0x1c5fcd(0x22e),_0x1debb6(0xf1),_0x1debb6(0xcc),_0x1debb6(0x12d),_0x1debb6(0x110),_0x1debb6(0x14a),_0x1debb6(0x136),_0x1c5fcd(0x25e),_0x1c5fcd(0x291),_0x1debb6(0x164),_0x1c5fcd(0x1f0),_0x1debb6(0x16d),_0x1debb6(0x147),_0x1debb6(0x153)];return a0_0x4fe0=function(){return _0xe6744a;},a0_0x4fe0();}function a0_0x1aa7(){var _0x441a61=['5vkLJNn','953442Qqnkcy','2126673uuGuKg','30858FjNMhM','6XJhesv','2529jXSIwy','3uJioEa','5440352tkYsde','25oDUfGG','72942XtkiTA','185333vLktpT','551622RetpKS','49038ZhmoXc','13ICmpXa','1826JuutUP','69170RgPgHF','200220WClAJO','1470vyfKfn','424pbpxYa','55vQJRGv','57VFgjTG','trigger','154MjNnqi','1194277Rxbrez','6977179tHyLCT','requestFullscreen','258676qcXmAh','7669623MZjvax','1473201pZCkpF','126FxaYlD','141756ovJjQt','3264610rVBPYx','12140410dbGLdV','268902RhYDTs','552246gYTfjh','3436350ZFgQGX','mozFullScreenElement','7284965BfcZwT','279515YmblTk','3631464WpzRsM','647268MeKxRH','38048atsJOl','3083944ZbtHIe','20BbeHaB','14teYDdJ','6018669ESgIyw','1702356HKUvub','30fwomxS','length','147bwtvYx','6723530URtrss','112548tLWked','28544022fjSHha','286426HsjeTL','1727112hzTRjb','3102042idlpCb','9YfIpvQ','4297FUpoBh','shift','7190QGloDz','49XfycrK','2334980PZVSNx','3sxuOIG','14576ixssku','4155020lvhvOE','479586bTOuAm','336SRxYwF','1tjFYFB','274GJYwTA','899322ARRVDI','136eIayGa','1644555qmImAx','8YRwOTb','3633730lSlqet','5WbGklj','20bPQlwx','5rKktsp','72068LdZxXk','259brzSRR','11OmGvcn','2025970GCDszY','729733vIjqat','623Ufjmzj','9icpQWY','32FrlgTP','10SiRxCT','2191ftTxmu','2353MejxMz','exitFullscreen','9087208vGbaee','17091uyyQjU','3UbbEnL','2472TIpGYI','85421FzQnAn','11pJEeXE','push','613610bNVKXN','7XLHNVt','6583848krdOcN','2189370GPXBun','48975020FsCjtp','2504322WAufOn','2745BnivNn','402wIlCEb','26406doMvQd','fullscreenchange','1346715ohgrPD','56312aRYcRR','4yLHylu','440884tndyhS','6308887GhiopE','2196873hVTzJW','6436008woaADa','15655bxgcVI','837790VDVsst','3TYOgXh','828QkBAeT','249096ajyLxR','webkitExitFullscreen','webkitCancelFullScreen','9FqtGLW','mozfullscreenerror','623578PnTyTx','1107894sAbeCG','15QzcyWv','823356MFHurC','292830COCGGj','2787158REaQYU','40UIexHW','mozFullScreen','webkitRequestFullscreen','534594CSGYKM','fullScreen','60qZEpMS','24984888HmThFo','23544FBHWLB','2338389dliDad','8331fOWqSM','fullscreenElement','4116266IaWhJd','4TxvNRi','213021CyHxhD','5225365rhrMAn','webkitfullscreenchange','9251648MmUwRx','88oDjwBc','611919hnuMCi','bind','5436090NPAVgv','3086699IvyOOS','24FCIgcw','msRequestFullscreen','800634AWtPue','63umFFGZ','18293jDJKjB','call','53224ksQfqg','137476lBuaQp','453317DwCePf','612303xJOZlc','659636CHQMvS','76492HmXrbW','677444gyenfd','5132300ncalgm','7032rlCDNA','8954343lqahxm','6202488BjoSXO','9ecfVBd','132200jMyUFX','18rZCHet','17634940ApyGEm','1590900JsGLBq','10715430vuPAnS','15499460isJAKf','5056596rgiVkA','webkitFullscreenElement','3306464DdFUta','10hnUdQg','2176lpCAEe','webkitRequestFullScreen','1340905wKgqmP','10412919PeRzqg','23624kCqJzf','10701985GsjXZj','6606cgYgjo','2334KRbzCY','2469276XqchoV','102960KCobBu','webkitCurrentFullScreenElement','webkitIsFullScreen','4443515Aqilfo','1653495EgIPyl','webkitfullscreenerror','MSFullscreenError','398345hPOqkR','msExitFullscreen','68BYSswp','586286Ykyosb','464xKYfxK','documentElement','57lnSDof','570840vlLGJm','3654702aktNqf','15966ZCnpNK','2dKIvAI','16XcMJzl','118527ItcvZR','7511300zRhkOU','11lPFHCS','10245FgeKVs','49VSwlZZ','22sbjPNZ','2333862Pgbiyu','1WpEnPK','21023piMUeQ','374396cihvmb','394070VTkWSb','8200560cwRiQM','4107416yMyoIn','Event','32zfgQwF','22geumNG'];a0_0x1aa7=function(){return _0x441a61;};return a0_0x1aa7();}function a0_0x20b6(){var _0x573be8=a0_0x2d81,_0x4c0a8d=a0_0x310b,_0x25f6ff=a0_0x511a,_0x42a3c0=a0_0xe7b9,_0x218f52=[_0x42a3c0(0x15b),_0x42a3c0(0x155),_0x42a3c0(0x147),_0x42a3c0(0x15c),_0x25f6ff(0x1f4),_0x42a3c0(0x161),_0x42a3c0(0x191),_0x42a3c0(0x186),_0x42a3c0(0x150),_0x42a3c0(0x17f),_0x42a3c0(0x16d),_0x42a3c0(0x17e),_0x25f6ff(0x1d0),_0x25f6ff(0x1fb),_0x42a3c0(0x145),_0x4c0a8d(0xa3),_0x42a3c0(0x18a),_0x42a3c0(0x163),_0x25f6ff(0x1ec),_0x42a3c0(0x18b),_0x42a3c0(0x174),_0x42a3c0(0x178),_0x42a3c0(0x17d),_0x42a3c0(0x167),_0x42a3c0(0x190),_0x42a3c0(0x181),_0x42a3c0(0x183),_0x4c0a8d(0xb1),_0x42a3c0(0x18e),_0x42a3c0(0x156),_0x42a3c0(0x187),_0x42a3c0(0x15a),_0x42a3c0(0x177),_0x42a3c0(0x172),_0x573be8(0x1af),_0x42a3c0(0x18c),_0x42a3c0(0x171),_0x25f6ff(0x1b7),_0x42a3c0(0x188),_0x4c0a8d(0xdb),_0x42a3c0(0x175),_0x4c0a8d(0xcf),_0x42a3c0(0x157),_0x42a3c0(0x173),_0x42a3c0(0x168),_0x42a3c0(0x17b),_0x42a3c0(0x160),_0x25f6ff(0x1c2),_0x42a3c0(0x152),_0x42a3c0(0x185),_0x42a3c0(0x192),_0x42a3c0(0x16f),_0x42a3c0(0x165),_0x42a3c0(0x153),_0x42a3c0(0x16b),_0x42a3c0(0x148),_0x42a3c0(0x169),_0x42a3c0(0x16c),_0x42a3c0(0x146),_0x42a3c0(0x189),_0x42a3c0(0x16e),_0x42a3c0(0x179),_0x42a3c0(0x180),_0x42a3c0(0x16a),_0x25f6ff(0x1e1),_0x25f6ff(0x1ef),_0x42a3c0(0x154),_0x42a3c0(0x149),_0x42a3c0(0x14f)];return a0_0x20b6=function(){return _0x218f52;},a0_0x20b6();}function a0_0x4e5b(){var _0x58d0fe=a0_0x10d9,_0x420e52=a0_0x2a1e,_0x23e017=a0_0x2f6b,_0x30fa8d=[_0x23e017(0x1e6),_0x23e017(0x206),_0x420e52(0x140),_0x23e017(0x1fb),_0x23e017(0x1c0),_0x58d0fe(0x1cc),_0x420e52(0x15c),_0x23e017(0x203),_0x420e52(0x157),_0x23e017(0x19f),_0x23e017(0x208),_0x23e017(0x1e0),_0x23e017(0x1ba),_0x420e52(0x130),_0x23e017(0x1e4),_0x23e017(0x1b3),_0x23e017(0x1c1),_0x23e017(0x1d2),_0x58d0fe(0x1aa),_0x23e017(0x1f3),_0x23e017(0x1b7),_0x58d0fe(0x1b6),_0x420e52(0x12a),_0x23e017(0x1be),_0x23e017(0x1cd),_0x23e017(0x1ff),_0x58d0fe(0x154),_0x23e017(0x1b9),_0x420e52(0xff),_0x23e017(0x200),_0x23e017(0x1af),_0x23e017(0x1b1),_0x23e017(0x20d),_0x23e017(0x1de),_0x23e017(0x1c9),_0x23e017(0x1c3),_0x23e017(0x1a8),_0x23e017(0x1e5),_0x420e52(0x14c),_0x23e017(0x1f1),_0x420e52(0xf4),_0x23e017(0x1a3),_0x23e017(0x1b5),_0x23e017(0x1bc),_0x420e52(0x141),_0x420e52(0xeb),_0x23e017(0x1d7),_0x23e017(0x1fa),_0x23e017(0x204),_0x58d0fe(0x1bb),_0x23e017(0x210),_0x23e017(0x1aa),_0x23e017(0x1f2),_0x23e017(0x198),_0x58d0fe(0x181),_0x23e017(0x1fd),_0x23e017(0x1f8),_0x23e017(0x1f5),_0x420e52(0x112),_0x23e017(0x1d1),_0x58d0fe(0x178),_0x23e017(0x1f7),_0x23e017(0x1c8),_0x23e017(0x20e),_0x23e017(0x1a9),_0x23e017(0x1df),_0x23e017(0x195),_0x58d0fe(0x163),_0x58d0fe(0x1d6),_0x23e017(0x1e7),_0x23e017(0x1c5),_0x23e017(0x1d0),_0x23e017(0x1ae),_0x23e017(0x1f6),_0x23e017(0x1ac),_0x23e017(0x19a),_0x420e52(0x14f),_0x23e017(0x1ca),_0x23e017(0x1b0),_0x23e017(0x201),_0x23e017(0x1c7),_0x23e017(0x20a),_0x23e017(0x197),_0x23e017(0x1a7),_0x23e017(0x1a5),_0x420e52(0x152),_0x23e017(0x1e8),_0x23e017(0x1dd),_0x23e017(0x1cb),_0x420e52(0xfc),_0x23e017(0x1d8),_0x23e017(0x202),_0x23e017(0x20c),_0x23e017(0x1f4),_0x23e017(0x1d4),_0x23e017(0x1ed),_0x23e017(0x20f),_0x23e017(0x1ee),_0x23e017(0x1e9),_0x23e017(0x1fe),_0x23e017(0x1cc),_0x23e017(0x1a0),_0x23e017(0x1a1),_0x23e017(0x194),_0x23e017(0x1dc),_0x23e017(0x1e2),_0x23e017(0x1bf),_0x23e017(0x1d3),_0x23e017(0x19c),_0x23e017(0x1fc),_0x23e017(0x1da),_0x420e52(0x162),_0x23e017(0x1ec)];return a0_0x4e5b=function(){return _0x30fa8d;},a0_0x4e5b();}function a0_0x407e(){var _0x5e6100=a0_0x29c0,_0x1b728e=a0_0x549d,_0x41ddc9=a0_0xf321,_0x2104f9=a0_0x5056,_0x1a4b67=a0_0x55ce,_0x53b291=[_0x1a4b67(0xa7),_0x1a4b67(0x11c),_0x2104f9(0xc7),_0x2104f9(0x106),_0x1a4b67(0x119),_0x1a4b67(0xe3),_0x1a4b67(0x130),_0x1a4b67(0x105),_0x1a4b67(0xc4),_0x2104f9(0x112),_0x1a4b67(0xf4),_0x1a4b67(0xbd),_0x1a4b67(0x125),_0x1a4b67(0xbb),_0x1a4b67(0xfa),_0x1a4b67(0xb1),_0x1a4b67(0xcf),_0x2104f9(0x14c),_0x1a4b67(0x135),_0x1a4b67(0xe8),_0x1a4b67(0xd9),_0x1a4b67(0x145),_0x2104f9(0x16a),_0x1a4b67(0xeb),_0x41ddc9(0x26e),_0x2104f9(0x127),_0x1a4b67(0x112),_0x1a4b67(0xe9),_0x2104f9(0xe0),_0x1a4b67(0xf3),_0x1a4b67(0xd6),_0x1a4b67(0xcb),_0x2104f9(0x11e),_0x1a4b67(0x139),_0x1a4b67(0xef),_0x2104f9(0xce),_0x41ddc9(0x284),_0x1a4b67(0xae),_0x41ddc9(0x1ed),_0x1a4b67(0x132),_0x1a4b67(0x123),_0x41ddc9(0x1da),_0x1a4b67(0xda),_0x1a4b67(0xbe),_0x1a4b67(0xf0),_0x1a4b67(0xac),_0x1a4b67(0xea),_0x1a4b67(0x126),_0x1a4b67(0xe5),_0x2104f9(0xc5),_0x1b728e(0x119),_0x2104f9(0x128),_0x1a4b67(0xb7),_0x2104f9(0x11b),_0x41ddc9(0x206),_0x1a4b67(0x12e),_0x1a4b67(0x144),_0x1a4b67(0x122),_0x1a4b67(0x101),_0x2104f9(0xfa),_0x1a4b67(0x10d),_0x1a4b67(0xd7),_0x1a4b67(0xd0),_0x1a4b67(0xa0),_0x1a4b67(0xab),_0x1a4b67(0x10a),_0x1a4b67(0xe4),_0x1a4b67(0xc5),_0x1a4b67(0xa9),_0x1a4b67(0xad),_0x1a4b67(0xba),_0x1a4b67(0x12d),_0x1b728e(0x11a),_0x1a4b67(0x11d),_0x1a4b67(0xb3),_0x1a4b67(0x11e),_0x1a4b67(0xa1),_0x1a4b67(0xdb),_0x1a4b67(0x121),_0x2104f9(0x13b),_0x1a4b67(0xfc),_0x1a4b67(0xa5),_0x1a4b67(0x9e),_0x1a4b67(0x13b),_0x1a4b67(0xc0),_0x1a4b67(0xf7),_0x2104f9(0x157),_0x2104f9(0x139),_0x1a4b67(0x137),_0x1a4b67(0x133),_0x1a4b67(0x12a),_0x1a4b67(0xcd),_0x1a4b67(0x131),_0x1a4b67(0x136),_0x1a4b67(0xca),_0x1a4b67(0x124),_0x1a4b67(0x127),_0x1a4b67(0xb0),_0x1a4b67(0x13a),_0x1a4b67(0xbc),_0x2104f9(0x100),_0x2104f9(0x129),_0x1a4b67(0xa6),_0x2104f9(0x120),_0x2104f9(0x109),_0x41ddc9(0x23d),_0x1a4b67(0xa2),_0x1a4b67(0x114),_0x1a4b67(0x111),_0x1a4b67(0xd5),_0x1a4b67(0xe1),_0x1a4b67(0xb4),_0x1a4b67(0x118),_0x41ddc9(0x259),_0x1a4b67(0x10e),_0x1a4b67(0x116),_0x1a4b67(0xb2),_0x1a4b67(0xaa),_0x1a4b67(0xdc),_0x1a4b67(0xa4),_0x1a4b67(0x13d),_0x41ddc9(0x216),_0x41ddc9(0x227),_0x2104f9(0x122),_0x1a4b67(0xf8),_0x1a4b67(0x9c),_0x1a4b67(0xc3),_0x1a4b67(0xc2),_0x2104f9(0x132),_0x1a4b67(0xbf),_0x2104f9(0x161),_0x1a4b67(0xed),_0x1a4b67(0xcc),_0x1a4b67(0xc1),_0x1a4b67(0xc9),_0x1a4b67(0xdf),_0x1a4b67(0x9f),_0x1a4b67(0x146),_0x1a4b67(0x113),_0x2104f9(0x13c),_0x1a4b67(0x11a),_0x41ddc9(0x1d9),_0x1a4b67(0xb8),_0x1a4b67(0x138),_0x1a4b67(0xb6),_0x1a4b67(0xc7),_0x41ddc9(0x25b),_0x5e6100(0x21f),_0x1a4b67(0xf1),_0x1a4b67(0xe6),_0x41ddc9(0x22b),_0x41ddc9(0x277),_0x1a4b67(0x104),_0x2104f9(0x101),_0x1a4b67(0x13e),_0x1a4b67(0x12c),_0x1a4b67(0xf6),_0x1a4b67(0xe0),_0x1a4b67(0xa3),_0x5e6100(0x1c2),_0x1a4b67(0x141),_0x1a4b67(0x108),_0x1a4b67(0x103),_0x2104f9(0xe1),_0x1a4b67(0xdd)];return a0_0x407e=function(){return _0x53b291;},a0_0x407e();}function a0_0x248b(_0x2ddec5,_0x2b3fca){var _0x910965=a0_0x407e();return a0_0x248b=function(_0x36a1e7,_0x52e449){_0x36a1e7=_0x36a1e7-0xdd;var _0x1d3411=_0x910965[_0x36a1e7];return _0x1d3411;},a0_0x248b(_0x2ddec5,_0x2b3fca);}function a0_0x577e(_0x40150a,_0x660ac6){var _0xcd939c=a0_0x2930();return a0_0x577e=function(_0x5845b3,_0x5c7d25){_0x5845b3=_0x5845b3-0x1e5;var _0x26019c=_0xcd939c[_0x5845b3];return _0x26019c;},a0_0x577e(_0x40150a,_0x660ac6);}function a0_0x5249(){var _0x3ec854=a0_0x310b,_0x8710f5=a0_0x511a,_0x776f24=a0_0xe7b9,_0x4b6540=a0_0x3cb5,_0x291b41=[_0x776f24(0x166),_0x776f24(0x193),_0x4b6540(0x1ad),_0x4b6540(0x197),_0x4b6540(0x19a),_0x3ec854(0xd2),_0x776f24(0x176),_0x4b6540(0x1cc),_0x4b6540(0x1c8),_0x4b6540(0x1ab),_0x4b6540(0x18d),_0x4b6540(0x1bd),_0x4b6540(0x191),_0x4b6540(0x1bf),_0x4b6540(0x189),_0x8710f5(0x207),_0x776f24(0x14c),_0x4b6540(0x19e),_0x4b6540(0x193),_0x776f24(0x159),_0x4b6540(0x1a2),_0x4b6540(0x1b7),_0x4b6540(0x1c1),_0x4b6540(0x1be),_0x4b6540(0x1c2),_0x8710f5(0x1fe),_0x4b6540(0x18f),_0x4b6540(0x1b5),_0x4b6540(0x18c),_0x4b6540(0x1a7),_0x4b6540(0x1ba),_0x4b6540(0x1cb),_0x4b6540(0x199),_0x4b6540(0x1c6),_0x776f24(0x15e),_0x8710f5(0x1c9),_0x776f24(0x17a),_0x4b6540(0x1ac),_0x776f24(0x18f),_0x4b6540(0x1af),_0x4b6540(0x1c5),_0x4b6540(0x1a0),_0x4b6540(0x1b4),_0x4b6540(0x1c9),_0x4b6540(0x1aa),_0x776f24(0x170),_0x4b6540(0x1c3),_0x4b6540(0x1c7),_0x4b6540(0x1b0),_0x4b6540(0x1b6),_0x776f24(0x17c),_0x4b6540(0x1bc),_0x4b6540(0x18a),_0x776f24(0x15d),_0x4b6540(0x1bb),_0x3ec854(0xc2),_0x4b6540(0x196),_0x4b6540(0x18b),_0x4b6540(0x1c4),_0x4b6540(0x1a8),_0x4b6540(0x1b3),_0x4b6540(0x1c0),_0x4b6540(0x190),_0x776f24(0x14b)];return a0_0x5249=function(){return _0x291b41;},a0_0x5249();}function a0_0x5a2f(){var _0x11f5b6=a0_0x94dd,_0x4fefe0=a0_0x29c0,_0x3fd498=a0_0x549d,_0x3577fb=[_0x3fd498(0x76),_0x4fefe0(0x24e),_0x3fd498(0xf9),_0x3fd498(0xa4),_0x4fefe0(0x21d),_0x3fd498(0xc2),_0x3fd498(0xff),_0x4fefe0(0x1a0),_0x3fd498(0xf1),_0x4fefe0(0x241),_0x3fd498(0x10a),_0x4fefe0(0x1d0),_0x3fd498(0xef),_0x3fd498(0x101),_0x3fd498(0x7a),_0x4fefe0(0x1ac),_0x4fefe0(0x1e1),_0x3fd498(0xb8),_0x3fd498(0xa5),_0x3fd498(0xd2),_0x3fd498(0xfb),_0x4fefe0(0x1a4),_0x3fd498(0xd6),_0x3fd498(0xfd),_0x3fd498(0x116),_0x3fd498(0xf3),_0x11f5b6(0x107),_0x3fd498(0x92),_0x3fd498(0xa3),_0x3fd498(0xb5),_0x3fd498(0x78),'2LrUxFp',_0x3fd498(0x90),_0x3fd498(0x9a),_0x3fd498(0xce),_0x3fd498(0x11c),_0x3fd498(0xde),_0x3fd498(0x8d),_0x3fd498(0x77),_0x3fd498(0x74),_0x3fd498(0x125),_0x3fd498(0xe3),_0x3fd498(0x7e),_0x3fd498(0x104),_0x4fefe0(0x1f1),_0x3fd498(0x11e),_0x3fd498(0xbe),_0x4fefe0(0x1c6),_0x3fd498(0xec),_0x4fefe0(0x1a8),_0x3fd498(0xea),_0x4fefe0(0x20b),_0x4fefe0(0x1c7),_0x3fd498(0x70),_0x3fd498(0xe4),_0x3fd498(0x110),'fullscreenerror',_0x3fd498(0x91),_0x3fd498(0x7b),_0x3fd498(0x72),_0x3fd498(0xae),_0x3fd498(0xe1),_0x11f5b6(0x190),_0x4fefe0(0x1ef),_0x3fd498(0x124),_0x3fd498(0xca),_0x3fd498(0x114),_0x4fefe0(0x239),_0x3fd498(0x117),_0x3fd498(0xf6),_0x3fd498(0x121),_0x4fefe0(0x20c),_0x3fd498(0xc7),_0x4fefe0(0x1f9),_0x3fd498(0x113),_0x3fd498(0xd5),_0x3fd498(0xab),_0x3fd498(0x10c),_0x3fd498(0x82),_0x4fefe0(0x261),_0x3fd498(0xaf),_0x3fd498(0xe7),_0x3fd498(0xee),_0x3fd498(0x9c),_0x3fd498(0xa6),_0x3fd498(0xc9),_0x3fd498(0xdb),_0x3fd498(0x8f),_0x3fd498(0x11b),_0x3fd498(0x99),_0x11f5b6(0xf3),_0x3fd498(0x107),_0x3fd498(0xbf),_0x4fefe0(0x22b),_0x11f5b6(0xca),_0x3fd498(0xdf),_0x3fd498(0x83),_0x3fd498(0x115),_0x4fefe0(0x1b4),_0x4fefe0(0x206),_0x4fefe0(0x20a),_0x4fefe0(0x1c8),_0x3fd498(0xd4),_0x3fd498(0xa2),_0x3fd498(0x88),_0x4fefe0(0x1a2),_0x3fd498(0xcb),_0x3fd498(0xcd),_0x4fefe0(0x222),_0x4fefe0(0x1ee),_0x3fd498(0x9b),_0x4fefe0(0x1ca),_0x3fd498(0xbc),_0x3fd498(0x96),_0x3fd498(0x71),_0x3fd498(0x75),_0x3fd498(0xa1),_0x4fefe0(0x217),_0x3fd498(0xe9),_0x3fd498(0x122),_0x3fd498(0x87),_0x4fefe0(0x1ae),_0x3fd498(0xb3),_0x4fefe0(0x1df),_0x3fd498(0xa9),_0x3fd498(0xe6),_0x3fd498(0xc0),_0x4fefe0(0x1d1),_0x4fefe0(0x247),_0x3fd498(0x126),_0x3fd498(0xb4),_0x3fd498(0xc4),_0x3fd498(0xc5),_0x11f5b6(0x188),_0x3fd498(0xf2),_0x3fd498(0xa7),_0x3fd498(0x80),_0x3fd498(0x118),_0x3fd498(0x7c),_0x11f5b6(0xdb),_0x4fefe0(0x1a5),_0x4fefe0(0x1fc),_0x3fd498(0x93),_0x3fd498(0x8c),_0x3fd498(0x10e),_0x3fd498(0x86),_0x3fd498(0x100),_0x3fd498(0xba),_0x4fefe0(0x246),_0x3fd498(0x84),_0x3fd498(0x120),_0x3fd498(0x7f),_0x3fd498(0xf4),_0x11f5b6(0xeb),_0x3fd498(0x98),_0x11f5b6(0x152),_0x3fd498(0xd1),_0x3fd498(0x102),_0x3fd498(0x103),_0x3fd498(0xfc),_0x4fefe0(0x1c9),_0x3fd498(0xb9),_0x4fefe0(0x1bb),_0x3fd498(0xe5),_0x3fd498(0xb1),_0x4fefe0(0x1d7),_0x4fefe0(0x1d5),_0x4fefe0(0x1de),_0x4fefe0(0x1c0),_0x3fd498(0x94),_0x3fd498(0xb2),_0x3fd498(0xe0),_0x3fd498(0xaa),_0x4fefe0(0x1f6),'2547HctUBq',_0x3fd498(0x81),_0x3fd498(0xfa),_0x3fd498(0x112),_0x3fd498(0xe2),_0x3fd498(0x10d),'1792120sGepKI',_0x3fd498(0x109),_0x3fd498(0xa0),_0x4fefe0(0x1f8),_0x3fd498(0x73),_0x3fd498(0x8b),_0x11f5b6(0x1a3),_0x4fefe0(0x23f),_0x4fefe0(0x23b),_0x4fefe0(0x22f)];return a0_0x5a2f=function(){return _0x3577fb;},a0_0x5a2f();}function a0_0x3cb5(_0x9b03f3,_0x28380e){var _0x2637a7=a0_0x20b6();return a0_0x3cb5=function(_0x3478d3,_0x444116){_0x3478d3=_0x3478d3-0x188;var _0x38ed7c=_0x2637a7[_0x3478d3];return _0x38ed7c;},a0_0x3cb5(_0x9b03f3,_0x28380e);}function a0_0x94dd(_0x47d8bd,_0x21cc54){var _0x1aa771=a0_0x1aa7();return a0_0x94dd=function(_0x94ddcd,_0x376a49){_0x94ddcd=_0x94ddcd-0xca;var _0x411186=_0x1aa771[_0x94ddcd];return _0x411186;},a0_0x94dd(_0x47d8bd,_0x21cc54);}function a0_0x5056(_0x2922e5,_0xe63fe3){var _0x563df7=a0_0x15ed();return a0_0x5056=function(_0x29389b,_0x38aec2){_0x29389b=_0x29389b-0xba;var _0x51df58=_0x563df7[_0x29389b];return _0x51df58;},a0_0x5056(_0x2922e5,_0xe63fe3);}function a0_0x5db0(){var _0x427cf8=a0_0xf321,_0x39e1ba=a0_0x5056,_0x15c1dc=a0_0x55ce,_0x5a8051=a0_0x248b,_0x37ee78=a0_0x577e,_0x165131=[_0x37ee78(0x211),_0x5a8051(0x144),_0x5a8051(0xe1),_0x37ee78(0x234),_0x37ee78(0x23c),_0x37ee78(0x1ea),_0x37ee78(0x22a),_0x37ee78(0x23d),_0x37ee78(0x1fa),_0x37ee78(0x223),_0x37ee78(0x204),_0x37ee78(0x207),_0x5a8051(0xf2),_0x39e1ba(0xd0),_0x37ee78(0x26f),_0x37ee78(0x21d),_0x37ee78(0x1f0),_0x15c1dc(0x13f),_0x5a8051(0x139),_0x15c1dc(0x12b),_0x37ee78(0x233),_0x37ee78(0x205),_0x37ee78(0x230),_0x37ee78(0x20f),_0x37ee78(0x239),_0x37ee78(0x247),_0x37ee78(0x21c),_0x37ee78(0x248),_0x37ee78(0x1ef),_0x15c1dc(0xe7),_0x5a8051(0x132),_0x37ee78(0x26a),_0x37ee78(0x271),_0x5a8051(0x129),_0x37ee78(0x208),_0x37ee78(0x1f2),_0x37ee78(0x202),_0x37ee78(0x235),_0x37ee78(0x246),_0x37ee78(0x25c),_0x5a8051(0x137),_0x5a8051(0x155),_0x5a8051(0x17b),_0x5a8051(0xdf),_0x37ee78(0x24c),_0x37ee78(0x206),_0x5a8051(0x133),_0x37ee78(0x228),_0x5a8051(0x157),_0x37ee78(0x22b),_0x37ee78(0x21e),_0x5a8051(0x145),_0x5a8051(0x142),_0x37ee78(0x215),_0x5a8051(0x11b),_0x5a8051(0xfd),_0x37ee78(0x23b),_0x37ee78(0x252),_0x37ee78(0x241),_0x15c1dc(0xfd),_0x37ee78(0x1f5),_0x37ee78(0x236),_0x37ee78(0x1e8),_0x37ee78(0x1f9),_0x37ee78(0x213),_0x37ee78(0x1f8),_0x37ee78(0x26c),_0x39e1ba(0xe4),_0x5a8051(0x11f),_0x37ee78(0x265),_0x5a8051(0x100),_0x5a8051(0xfa),_0x37ee78(0x1fb),_0x5a8051(0x169),_0x37ee78(0x1fd),_0x37ee78(0x24a),_0x37ee78(0x214),_0x37ee78(0x23a),_0x5a8051(0x125),_0x37ee78(0x1fc),_0x37ee78(0x25b),_0x5a8051(0x107),_0x5a8051(0x16f),_0x37ee78(0x21a),_0x37ee78(0x24e),_0x5a8051(0xe5),_0x37ee78(0x219),_0x37ee78(0x217),_0x5a8051(0x124),_0x427cf8(0x283),_0x37ee78(0x1f3),_0x5a8051(0x12d),_0x37ee78(0x25a),_0x5a8051(0x112),_0x37ee78(0x257),_0x37ee78(0x226),_0x37ee78(0x237),_0x37ee78(0x1e6),_0x37ee78(0x269),_0x37ee78(0x26e),_0x5a8051(0xe0),_0x37ee78(0x24b),_0x37ee78(0x212),_0x5a8051(0xf6),_0x37ee78(0x1ee),_0x37ee78(0x22e),_0x37ee78(0x249),_0x15c1dc(0x143),_0x37ee78(0x1fe),_0x37ee78(0x238),_0x37ee78(0x231),_0x37ee78(0x1e7),_0x5a8051(0x15d),_0x37ee78(0x22f),_0x37ee78(0x260),_0x37ee78(0x245),_0x37ee78(0x272),_0x37ee78(0x20d),_0x37ee78(0x259),_0x5a8051(0x172),_0x37ee78(0x224),_0x37ee78(0x1f1),_0x37ee78(0x24d),_0x5a8051(0x168),_0x37ee78(0x225),_0x5a8051(0x12b),_0x37ee78(0x23e),_0x37ee78(0x26b),_0x37ee78(0x200),_0x5a8051(0xf9),_0x37ee78(0x22d),_0x5a8051(0x117),_0x37ee78(0x25e),_0x5a8051(0xe7),_0x5a8051(0x177),_0x5a8051(0x10c),_0x37ee78(0x20a),_0x37ee78(0x1eb),_0x37ee78(0x201),_0x37ee78(0x250),_0x5a8051(0x154),_0x5a8051(0x14d),_0x37ee78(0x1f4),_0x5a8051(0x173),_0x37ee78(0x258),_0x37ee78(0x21f),_0x37ee78(0x221),_0x5a8051(0xed)];return a0_0x5db0=function(){return _0x165131;},a0_0x5db0();}function a0_0xb2ce(_0x56e938,_0x29fb77){var _0x36db8c=a0_0x5249();return a0_0xb2ce=function(_0x20c510,_0x549bae){_0x20c510=_0x20c510-0xea;var _0x3e1e4e=_0x36db8c[_0x20c510];return _0x3e1e4e;},a0_0xb2ce(_0x56e938,_0x29fb77);}function a0_0xcec8(){var _0x496001=a0_0x94dd,_0x567d22=['6okrMoy','8619795RIQgFB',_0x496001(0xcd),_0x496001(0x18f),_0x496001(0x162),'1749128XkvVdf',_0x496001(0x198),_0x496001(0x163),_0x496001(0x10b),_0x496001(0x19b),_0x496001(0x1a7),_0x496001(0x18c),'136994hoLTJk',_0x496001(0xf2),_0x496001(0x131),'msFullscreenElement','11HCTanl','330jruQve',_0x496001(0x1a0),'35394fKqBKN','117OgYlpw',_0x496001(0xfc),_0x496001(0x148),_0x496001(0x195),_0x496001(0x142),_0x496001(0x140),_0x496001(0x125),_0x496001(0xe8),_0x496001(0x147),_0x496001(0x101),_0x496001(0x12e),_0x496001(0x102),_0x496001(0x115),_0x496001(0x110),_0x496001(0xec),_0x496001(0x176),_0x496001(0xdc),_0x496001(0x15f),_0x496001(0x13c),_0x496001(0x168),_0x496001(0xce),_0x496001(0x12a),_0x496001(0xe2),_0x496001(0xd5),_0x496001(0xcc),_0x496001(0x171),_0x496001(0xf1),_0x496001(0x177),_0x496001(0xda),_0x496001(0x19a),_0x496001(0x11a),_0x496001(0x130),_0x496001(0x1a1),_0x496001(0x15c),_0x496001(0xe0),_0x496001(0x186),_0x496001(0x181),'30656AffUYc','656750GhHiuA','10ZgFxYK',_0x496001(0x16b),_0x496001(0x128),_0x496001(0x17b),_0x496001(0xf5),_0x496001(0xe4),_0x496001(0xef),'93496PtwhJw','2546866qjGjpZ',_0x496001(0x157),_0x496001(0x16f),_0x496001(0x122),'1675wcQUAR',_0x496001(0xe3),_0x496001(0x103),_0x496001(0x179),'56590670jxxmrB',_0x496001(0x189),_0x496001(0x191),_0x496001(0x113),_0x496001(0x138),_0x496001(0x1a4),_0x496001(0x164),_0x496001(0x11f),_0x496001(0x19c),_0x496001(0x165),_0x496001(0x129),'186345wYVxLu','142VwQdNV',_0x496001(0x1a6),_0x496001(0x141),'3BYAixs',_0x496001(0x118),_0x496001(0x134),_0x496001(0x14c),'78XRYslC',_0x496001(0x137),_0x496001(0x135),_0x496001(0xfd),_0x496001(0x1a2),_0x496001(0xd7),'265250SdUxRJ',_0x496001(0xd0),'140idBlyE',_0x496001(0x10a),_0x496001(0x10d),'7CdxDPV',_0x496001(0x104),_0x496001(0x14d),_0x496001(0x13d),_0x496001(0x185),_0x496001(0xd9),_0x496001(0x15b),_0x496001(0x180),_0x496001(0x184),_0x496001(0x133),_0x496001(0x193),_0x496001(0x14f),'1344118DBuOvq',_0x496001(0xe7),_0x496001(0x100),_0x496001(0x14a),_0x496001(0x197),_0x496001(0x13e),'1126NnQRiw',_0x496001(0x12c),_0x496001(0x119),_0x496001(0x121),_0x496001(0xe9),_0x496001(0x112),_0x496001(0x149),'toggleFullScreen',_0x496001(0xdd),_0x496001(0x124),_0x496001(0x136),_0x496001(0x17d),_0x496001(0x151),_0x496001(0x116),_0x496001(0xe1),'7717992HqGrvY',_0x496001(0xea),_0x496001(0x161),'2085130Jyqvgc',_0x496001(0x18a),_0x496001(0xfb),_0x496001(0x12b),_0x496001(0x17e),_0x496001(0x169),_0x496001(0x114),_0x496001(0xcf),_0x496001(0x10e),_0x496001(0x14b),'1687692VqQNsk','16SbtaEk',_0x496001(0x139),_0x496001(0x16a),_0x496001(0x192),'312606TZZTrW',_0x496001(0x16d),_0x496001(0x182),_0x496001(0x18e),_0x496001(0x120),_0x496001(0xfa),_0x496001(0xd3),_0x496001(0xf0),_0x496001(0x175),_0x496001(0xf6),'209682JwYHjC','1375CmpEjQ',_0x496001(0x143),'MSFullscreenChange',_0x496001(0x117),'319344WkKXIN','403464wPuxIq','84lEtSxi',_0x496001(0x12f),_0x496001(0xcb),_0x496001(0x156),_0x496001(0xe6),'572845xISiMh',_0x496001(0x167),_0x496001(0x14e),_0x496001(0x11c),'451waAkrk','512968KAPOun','2193472ASrBdN',_0x496001(0x146),'4684470GlpBgu',_0x496001(0x123),_0x496001(0x11b),_0x496001(0x154),_0x496001(0xd2),_0x496001(0xfe),_0x496001(0xe5),'ownerDocument',_0x496001(0x145),_0x496001(0x12d),_0x496001(0x106),_0x496001(0xf9),_0x496001(0x160),'3913270eJIFzi',_0x496001(0x13a),_0x496001(0x183),_0x496001(0x187),_0x496001(0x166)];return a0_0xcec8=function(){return _0x567d22;},a0_0xcec8();}function a0_0x2e1f(){var _0x3b147d=a0_0x2f6b,_0x2df8f9=a0_0x4f2b,_0x3b1963=a0_0x2d81,_0x1b30d1=a0_0x310b,_0x5335ce=[_0x1b30d1(0xe3),_0x1b30d1(0xb4),_0x1b30d1(0xf7),_0x1b30d1(0xda),_0x1b30d1(0xac),_0x1b30d1(0xa7),_0x3b1963(0x1db),_0x1b30d1(0xf2),_0x1b30d1(0xb3),_0x1b30d1(0xe0),_0x1b30d1(0xb8),_0x1b30d1(0xe9),_0x2df8f9(0x192),_0x3b1963(0x1b7),_0x1b30d1(0xd5),_0x1b30d1(0xb5),_0x1b30d1(0xc9),_0x1b30d1(0xbc),_0x1b30d1(0xe7),_0x3b1963(0x1b1),_0x1b30d1(0xa3),_0x1b30d1(0xdd),_0x1b30d1(0xcd),_0x3b1963(0x1ac),_0x2df8f9(0x1b6),_0x1b30d1(0xd1),_0x1b30d1(0xae),_0x3b1963(0x1ee),_0x1b30d1(0xee),_0x1b30d1(0xcc),_0x3b1963(0x19a),_0x1b30d1(0xe6),_0x1b30d1(0xc7),_0x3b1963(0x1ef),_0x1b30d1(0xf5),_0x1b30d1(0xdf),_0x1b30d1(0xa6),_0x3b1963(0x192),_0x1b30d1(0xef),_0x1b30d1(0xaa),_0x1b30d1(0xd8),_0x1b30d1(0xb0),_0x1b30d1(0xe4),_0x1b30d1(0xf4),_0x3b1963(0x1a2),_0x1b30d1(0xa2),_0x1b30d1(0xc1),_0x1b30d1(0xf8),_0x1b30d1(0xa0),_0x1b30d1(0xed),_0x1b30d1(0xd4),_0x1b30d1(0xc4),_0x3b1963(0x1a1),_0x1b30d1(0xfc),_0x1b30d1(0xfa),_0x1b30d1(0xb2),_0x1b30d1(0xa5),_0x1b30d1(0xb7),_0x2df8f9(0x1ba),_0x1b30d1(0xeb),_0x3b1963(0x1cd),_0x3b1963(0x1d2),_0x1b30d1(0xf1),_0x1b30d1(0xba),_0x1b30d1(0xc8),_0x1b30d1(0xd6),_0x1b30d1(0xfb),_0x2df8f9(0x196),_0x1b30d1(0xa1),_0x1b30d1(0xbf),_0x1b30d1(0xbb),_0x1b30d1(0xce),_0x1b30d1(0xc6),_0x1b30d1(0xca),_0x1b30d1(0xaf),_0x1b30d1(0xd3),_0x1b30d1(0xa8),_0x1b30d1(0xd7),_0x1b30d1(0xea),_0x3b147d(0x19b),_0x1b30d1(0xe8)];return a0_0x2e1f=function(){return _0x5335ce;},a0_0x2e1f();}function a0_0x2a1e(_0x54f89a,_0x5dce9d){var _0x571333=a0_0x5a74();return a0_0x2a1e=function(_0x261175,_0x51f836){_0x261175=_0x261175-0xe8;var _0x40110c=_0x571333[_0x261175];return _0x40110c;},a0_0x2a1e(_0x54f89a,_0x5dce9d);}function a0_0x6220(_0x36c9a4,_0x52eda6){var _0x515b5f=a0_0x5154();return a0_0x6220=function(_0x264580,_0x2380b7){_0x264580=_0x264580-0x12a;var _0x14316f=_0x515b5f[_0x264580];return _0x14316f;},a0_0x6220(_0x36c9a4,_0x52eda6);}function a0_0x21c6(){var _0x4007eb=a0_0x511a,_0x515cfa=a0_0x3cb5,_0x157bf8=a0_0xb2ce,_0x11955e=a0_0x6220,_0x37bc61=[_0x11955e(0x142),_0x11955e(0x164),_0x11955e(0x134),_0x11955e(0x12f),_0x11955e(0x15d),_0x11955e(0x145),_0x4007eb(0x1e0),_0x157bf8(0x105),_0x11955e(0x136),_0x11955e(0x13e),_0x11955e(0x153),_0x11955e(0x157),_0x11955e(0x148),_0x11955e(0x13b),_0x11955e(0x158),_0x11955e(0x15a),_0x11955e(0x15e),_0x11955e(0x149),_0x11955e(0x152),_0x11955e(0x14c),_0x11955e(0x131),_0x11955e(0x12a),_0x11955e(0x14b),_0x11955e(0x133),_0x11955e(0x160),_0x11955e(0x15c),_0x11955e(0x144),_0x11955e(0x141),_0x11955e(0x135),_0x11955e(0x12b),_0x11955e(0x147),_0x157bf8(0x113),_0x157bf8(0x11c),_0x11955e(0x15b),_0x11955e(0x13f),_0x11955e(0x139),_0x11955e(0x155),_0x157bf8(0x127),_0x11955e(0x15f),_0x11955e(0x151),_0x11955e(0x154),_0x11955e(0x159),_0x11955e(0x12d),_0x11955e(0x14d),_0x11955e(0x13c),_0x515cfa(0x1a4),_0x11955e(0x138),_0x11955e(0x12c)];return a0_0x21c6=function(){return _0x37bc61;},a0_0x21c6();}function a0_0x5a74(){var _0x586054=a0_0x248b,_0x246b14=a0_0x577e,_0x29c0cc=a0_0x5a4f,_0x1b422d=a0_0x10d9,_0x534a91=[_0x1b422d(0x1c4),_0x246b14(0x242),_0x29c0cc(0x189),_0x1b422d(0x19c),_0x29c0cc(0x1a5),_0x1b422d(0x1cb),_0x1b422d(0x19a),_0x1b422d(0x155),_0x1b422d(0x190),_0x29c0cc(0x145),_0x1b422d(0x17e),_0x1b422d(0x173),_0x1b422d(0x1a6),_0x29c0cc(0x185),_0x1b422d(0x159),_0x1b422d(0x16d),_0x246b14(0x1e5),_0x1b422d(0x1c7),_0x1b422d(0x199),_0x1b422d(0x1c0),_0x1b422d(0x1d1),_0x1b422d(0x1a1),_0x1b422d(0x188),_0x1b422d(0x1c6),_0x29c0cc(0x17e),_0x1b422d(0x197),_0x29c0cc(0x187),_0x1b422d(0x165),_0x1b422d(0x16e),_0x1b422d(0x1be),_0x1b422d(0x182),_0x1b422d(0x1d3),_0x1b422d(0x15b),_0x1b422d(0x14c),_0x29c0cc(0x17b),_0x1b422d(0x17d),_0x1b422d(0x158),_0x29c0cc(0x142),_0x1b422d(0x157),_0x29c0cc(0x178),_0x1b422d(0x1bc),_0x29c0cc(0x19a),_0x1b422d(0x160),_0x1b422d(0x1b3),_0x1b422d(0x17b),_0x29c0cc(0x18c),_0x1b422d(0x176),_0x246b14(0x20b),_0x1b422d(0x16f),_0x1b422d(0x153),_0x1b422d(0x1b8),_0x1b422d(0x15f),_0x1b422d(0x187),_0x1b422d(0x1cd),_0x1b422d(0x14f),_0x1b422d(0x184),_0x1b422d(0x1b7),_0x1b422d(0x192),_0x1b422d(0x1c2),_0x29c0cc(0x13e),_0x246b14(0x209),_0x1b422d(0x1c9),_0x1b422d(0x162),_0x1b422d(0x179),_0x1b422d(0x1d5),_0x1b422d(0x152),_0x1b422d(0x195),_0x1b422d(0x161),_0x1b422d(0x166),_0x1b422d(0x15d),_0x1b422d(0x1d7),_0x1b422d(0x186),_0x1b422d(0x198),_0x29c0cc(0x126),_0x1b422d(0x191),_0x29c0cc(0x1a2),_0x1b422d(0x1d4),_0x1b422d(0x19e),_0x29c0cc(0x151),_0x586054(0x162),_0x1b422d(0x1d2),_0x1b422d(0x1a8),_0x29c0cc(0x124),_0x29c0cc(0x14a),_0x1b422d(0x1a4),_0x1b422d(0x196),_0x246b14(0x229),_0x29c0cc(0x19c),_0x1b422d(0x189),_0x1b422d(0x169),_0x29c0cc(0x137),_0x1b422d(0x17f),_0x29c0cc(0x121),_0x1b422d(0x19d),_0x1b422d(0x1ad),_0x1b422d(0x1bf),_0x1b422d(0x18e),_0x29c0cc(0x1a3),_0x1b422d(0x1c1),_0x1b422d(0x1ce),_0x1b422d(0x1a5),_0x1b422d(0x167),_0x1b422d(0x16a),_0x1b422d(0x1b9),_0x1b422d(0x17a),_0x29c0cc(0x15f),_0x1b422d(0x185),_0x29c0cc(0x141),_0x1b422d(0x1c3),_0x1b422d(0x1ab),_0x29c0cc(0x14c),_0x29c0cc(0x163),_0x1b422d(0x1d0),_0x29c0cc(0x15d),_0x29c0cc(0x144),_0x1b422d(0x18f),_0x1b422d(0x151),_0x1b422d(0x1a0),_0x29c0cc(0x16e),_0x1b422d(0x1cf),_0x1b422d(0x164),_0x1b422d(0x14e),_0x1b422d(0x193),_0x1b422d(0x168),_0x1b422d(0x1a9),_0x1b422d(0x18c),_0x246b14(0x267),_0x1b422d(0x18b),_0x1b422d(0x1ac),_0x246b14(0x20c),_0x1b422d(0x19f)];return a0_0x5a74=function(){return _0x534a91;},a0_0x5a74();}function a0_0x3d2a(){var _0x37a05d=a0_0x94dd,_0x2d8665=a0_0x29c0,_0x348586=[_0x2d8665(0x207),_0x37a05d(0x19f),_0x2d8665(0x244),_0x2d8665(0x223),_0x2d8665(0x1bf),_0x37a05d(0x19e),_0x2d8665(0x203),_0x2d8665(0x208),_0x2d8665(0x234),_0x2d8665(0x236),_0x37a05d(0x172),_0x2d8665(0x1bd),_0x2d8665(0x25c),_0x2d8665(0x19f),_0x37a05d(0x10c),_0x37a05d(0x170),_0x2d8665(0x211),_0x2d8665(0x1fd),_0x37a05d(0x132),_0x37a05d(0xed),_0x2d8665(0x1cc),_0x2d8665(0x250),_0x37a05d(0x158),_0x37a05d(0x111),_0x2d8665(0x1e8),_0x37a05d(0x11e),'5728478duLcIg',_0x2d8665(0x209),'mozCancelFullScreen',_0x2d8665(0x21c),_0x2d8665(0x238),_0x2d8665(0x1e6),_0x2d8665(0x1b7),_0x2d8665(0x24d),'56rSQaBv',_0x2d8665(0x1cf),'497772QnJoHW',_0x2d8665(0x232),_0x2d8665(0x1af),_0x2d8665(0x23c),_0x2d8665(0x215),_0x37a05d(0xee),_0x2d8665(0x22e),_0x2d8665(0x1c1),_0x2d8665(0x225),_0x2d8665(0x201),_0x37a05d(0x18b),_0x2d8665(0x226),_0x2d8665(0x1db),_0x2d8665(0x25a),_0x2d8665(0x25d),_0x2d8665(0x1e2),_0x2d8665(0x1ec),_0x37a05d(0x126),_0x2d8665(0x1cd),_0x2d8665(0x256),_0x2d8665(0x200),_0x37a05d(0xd6),_0x2d8665(0x216),_0x2d8665(0x21e),_0x2d8665(0x25f),_0x2d8665(0x1d3),_0x2d8665(0x237),_0x2d8665(0x240),_0x2d8665(0x1ed),_0x2d8665(0x1b6),_0x2d8665(0x266),_0x2d8665(0x1eb),_0x2d8665(0x1ab),_0x2d8665(0x257),_0x2d8665(0x227),_0x2d8665(0x1e3),_0x2d8665(0x25e),_0x37a05d(0x150),_0x2d8665(0x1b5),_0x2d8665(0x1f3),_0x2d8665(0x21b),_0x2d8665(0x1d8),_0x2d8665(0x1c5),_0x2d8665(0x248),_0x2d8665(0x23a),_0x37a05d(0xff),'7AekJYX',_0x2d8665(0x258),_0x2d8665(0x1f5),_0x2d8665(0x1b1),_0x2d8665(0x249),_0x37a05d(0x1a5),_0x2d8665(0x1ad),_0x2d8665(0x1bc),_0x2d8665(0x1b0),_0x2d8665(0x260),_0x37a05d(0x17a),_0x2d8665(0x1c4),_0x2d8665(0x1dc),_0x2d8665(0x220),_0x37a05d(0xf4),_0x37a05d(0x19d),_0x2d8665(0x1a1),_0x2d8665(0x24b),_0x2d8665(0x253),_0x37a05d(0x17c),_0x2d8665(0x26a),'10Pywarh',_0x2d8665(0x20e),_0x2d8665(0x264),_0x2d8665(0x221),_0x2d8665(0x228),_0x37a05d(0x178),_0x2d8665(0x214),_0x2d8665(0x1e4),_0x2d8665(0x219),_0x2d8665(0x1ff),_0x2d8665(0x23d),_0x37a05d(0x108),_0x2d8665(0x1a3),_0x2d8665(0x1aa),_0x2d8665(0x1b8),_0x2d8665(0x25b),_0x2d8665(0x1f7),_0x2d8665(0x1e7),'950674EfzIZT',_0x2d8665(0x212),_0x2d8665(0x1f2),_0x37a05d(0x15e),_0x37a05d(0x109),_0x37a05d(0x15d),_0x2d8665(0x1f4),_0x2d8665(0x262),_0x2d8665(0x1ce),_0x2d8665(0x230),_0x2d8665(0x1f0),_0x2d8665(0x235),'mozfullscreenchange',_0x2d8665(0x231),_0x2d8665(0x243),_0x2d8665(0x242),_0x2d8665(0x1a7),_0x37a05d(0xd4),_0x2d8665(0x267),_0x2d8665(0x252),_0x37a05d(0x15a),_0x2d8665(0x251),_0x2d8665(0x1c3),_0x2d8665(0x268),_0x2d8665(0x1e9),_0x2d8665(0x259),_0x2d8665(0x1e0),_0x37a05d(0xd8),_0x2d8665(0x255),_0x2d8665(0x218),'768vMWvvK',_0x2d8665(0x254),_0x37a05d(0xf7),_0x2d8665(0x1b9),_0x2d8665(0x1d4),_0x37a05d(0x153),'4092180MRdtKN',_0x37a05d(0x16e),_0x37a05d(0x16c),_0x2d8665(0x245),_0x2d8665(0x202),_0x2d8665(0x1a9),_0x2d8665(0x1dd),_0x2d8665(0x22a),_0x37a05d(0xf8),'281712OqmMMM',_0x2d8665(0x229),_0x2d8665(0x1fe),_0x2d8665(0x24c),_0x2d8665(0x22d),_0x2d8665(0x1a6),_0x2d8665(0x24a),_0x2d8665(0x205),_0x2d8665(0x22c),_0x37a05d(0x13b),_0x37a05d(0x159),_0x2d8665(0x1ba),_0x2d8665(0x1b3),_0x2d8665(0x204),_0x2d8665(0x210),_0x37a05d(0x105),_0x2d8665(0x1d2)];return a0_0x3d2a=function(){return _0x348586;},a0_0x3d2a();}(function(_0x34ea14,_0x4f33aa){var _0x5ce5a3=a0_0x6220,_0x536564=a0_0x125d,_0x262fd2=a0_0x4636,_0x31ecbd=_0x34ea14();while(!![]){try{var _0x4dec92=parseInt(_0x262fd2(0xc5))/0x1+parseInt(_0x262fd2(0xa8))/0x2*(-parseInt(_0x262fd2(0xab))/0x3)+parseInt(_0x262fd2(0xbd))/0x4*(-parseInt(_0x262fd2(0xbb))/0x5)+parseInt(_0x262fd2(0xa2))/0x6+-parseInt(_0x262fd2(0xae))/0x7+parseInt(_0x262fd2(0xa1))/0x8+-parseInt(_0x262fd2(0xbc))/0x9*(-parseInt(_0x262fd2(0xc1))/0xa);if(_0x4dec92===_0x4f33aa)break;else _0x31ecbd[_0x5ce5a3(0x163)](_0x31ecbd[_0x536564(0x14c)]());}catch(_0x709f87){_0x31ecbd[_0x5ce5a3(0x163)](_0x31ecbd[_0x536564(0x14c)]());}}}(a0_0x3450,0xcf76d),function(_0x10327c){var _0x59a6cc=a0_0x4636;function _0x1c9650(_0x441ba5){var _0x4537f7=a0_0x6220,_0x194298=a0_0x125d,_0x60f738=a0_0x4636,_0x81daa0,_0x56a8e5,_0x3bedcd;if(!this[_0x194298(0x12d)])return this;_0x81daa0=this[0x0],_0x81daa0[_0x60f738(0xa5)]?_0x3bedcd=_0x81daa0[_0x60f738(0xa5)]:(_0x3bedcd=_0x81daa0,_0x81daa0=_0x3bedcd[_0x60f738(0xaa)]);if(_0x441ba5==null){if(!(_0x3bedcd[_0x60f738(0xba)]||_0x3bedcd[_0x60f738(0xa4)]||_0x3bedcd[_0x60f738(0xc2)]||_0x3bedcd[_0x60f738(0xb0)]||_0x3bedcd[_0x194298(0x137)]))return null;_0x441ba5=_0x27f3bf(_0x3bedcd);if(!_0x441ba5)return _0x441ba5;return _0x3bedcd[_0x60f738(0xb4)]||_0x3bedcd[_0x60f738(0xa7)]||_0x3bedcd[_0x60f738(0xad)]||_0x3bedcd[_0x194298(0x144)]||_0x3bedcd[_0x60f738(0xc3)]||_0x441ba5;}if(_0x441ba5)return _0x56a8e5=_0x81daa0[_0x194298(0x139)]||_0x81daa0[_0x60f738(0xa3)]||_0x81daa0[_0x194298(0x142)]||_0x81daa0[_0x60f738(0xb8)]||_0x81daa0[_0x60f738(0xb9)],_0x56a8e5&&_0x56a8e5[_0x194298(0x132)](_0x81daa0),this;else{_0x56a8e5=_0x3bedcd[_0x194298(0x14d)]||_0x3bedcd[_0x60f738(0xa4)]||_0x3bedcd[_0x4537f7(0x143)]||_0x3bedcd[_0x60f738(0xb0)]||_0x3bedcd[_0x194298(0x137)];if(_0x56a8e5&&_0x27f3bf(_0x3bedcd))_0x56a8e5[_0x194298(0x132)](_0x3bedcd);return this;}}function _0x27f3bf(_0x3cf56a){var _0x2fa97b=a0_0xb2ce,_0x1faba0=a0_0x125d,_0x5071f8=a0_0x4636;return!!(_0x3cf56a[_0x5071f8(0xb4)]||_0x3cf56a[_0x5071f8(0xb1)]||_0x3cf56a[_0x1faba0(0x12b)]||_0x3cf56a[_0x2fa97b(0x125)]);}function _0x7dab5d(){var _0x42e99b=a0_0x4636;return _0x1c9650[_0x42e99b(0xb6)](this,!_0x1c9650[_0x42e99b(0xb6)](this));}function _0x3903f7(_0x4cf05b){var _0x2ee20e=a0_0x6220,_0x44cf07=a0_0x125d,_0x5819b3=a0_0x4636;_0x10327c(document)[_0x44cf07(0x147)](new _0x10327c[(_0x2ee20e(0x150))](_0x5819b3(0xb5)));}function _0x4cfa1d(_0x567d9a){var _0x11126e=a0_0x6220,_0x3ee099=a0_0x4636;_0x10327c(document)[_0x3ee099(0xa6)](new _0x10327c[(_0x11126e(0x150))](_0x3ee099(0xac)));}function _0x3a8892(){var _0x4bc310=a0_0x125d,_0x48c97e=a0_0x4636,_0x49f185,_0x31527e,_0x371819;_0x49f185=document;if(_0x49f185[_0x48c97e(0xc2)])_0x31527e=_0x48c97e(0xbe),_0x371819=_0x48c97e(0xb3);else{if(_0x49f185[_0x4bc310(0x13f)])_0x31527e=_0x48c97e(0xa9),_0x371819=_0x48c97e(0xb2);else _0x49f185[_0x48c97e(0xbf)]?(_0x31527e=_0x48c97e(0xaf),_0x371819=_0x4bc310(0x151)):(_0x31527e=_0x48c97e(0xb5),_0x371819=_0x48c97e(0xac));}_0x10327c(document)[_0x48c97e(0xc4)](_0x31527e,_0x3903f7),_0x10327c(document)[_0x48c97e(0xc4)](_0x371819,_0x4cfa1d);}_0x10327c['fn'][_0x59a6cc(0xb7)]=_0x1c9650,_0x10327c['fn'][_0x59a6cc(0xc0)]=_0x7dab5d,_0x3a8892();}(jQuery));function a0_0x2f6b(_0x3b4cbb,_0x5054e1){var _0x71e2f9=a0_0x192f();return a0_0x2f6b=function(_0x3898aa,_0x1bbf6c){_0x3898aa=_0x3898aa-0x194;var _0x33fa6e=_0x71e2f9[_0x3898aa];return _0x33fa6e;},a0_0x2f6b(_0x3b4cbb,_0x5054e1);}function a0_0x3450(){var _0x39ad85=a0_0x3cb5,_0x473569=a0_0xb2ce,_0x546932=a0_0x6220,_0x1dcd7e=a0_0x125d,_0xf24adc=[_0x1dcd7e(0x13b),_0x1dcd7e(0x134),_0x1dcd7e(0x12a),_0x1dcd7e(0x13e),_0x1dcd7e(0x129),_0x1dcd7e(0x147),_0x1dcd7e(0x12c),_0x1dcd7e(0x146),_0x473569(0x122),_0x1dcd7e(0x141),_0x1dcd7e(0x156),_0x546932(0x146),_0x1dcd7e(0x12e),_0x1dcd7e(0x135),_0x1dcd7e(0x14a),_0x1dcd7e(0x13f),_0x546932(0x151),_0x1dcd7e(0x143),_0x1dcd7e(0x13d),_0x1dcd7e(0x128),_0x1dcd7e(0x145),_0x1dcd7e(0x132),_0x1dcd7e(0x148),_0x1dcd7e(0x130),_0x1dcd7e(0x12f),_0x546932(0x142),_0x1dcd7e(0x140),_0x1dcd7e(0x149),_0x546932(0x137),_0x1dcd7e(0x14b),_0x1dcd7e(0x137),_0x546932(0x130),_0x546932(0x140),_0x39ad85(0x1ad),_0x1dcd7e(0x138),_0x1dcd7e(0x14e),_0x473569(0x10b)];return a0_0x3450=function(){return _0xf24adc;},a0_0x3450();}
\ No newline at end of file
diff --git a/awesome_theme/static/libs/jquery.nicescroll.min.js b/awesome_theme/static/libs/jquery.nicescroll.min.js
new file mode 100644
index 000000000..5ae63dd2a
--- /dev/null
+++ b/awesome_theme/static/libs/jquery.nicescroll.min.js
@@ -0,0 +1,2 @@
+/* jquery.nicescroll v3.7.6 InuYaksa - MIT - https://nicescroll.areaaperta.com */
+!function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof exports?module.exports=e(require("jquery")):e(jQuery)}(function(e){"use strict";var o=!1,t=!1,r=0,i=2e3,s=0,n=e,l=document,a=window,c=n(a),d=[],u=a.requestAnimationFrame||a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||!1,h=a.cancelAnimationFrame||a.webkitCancelAnimationFrame||a.mozCancelAnimationFrame||!1;if(u)a.cancelAnimationFrame||(h=function(e){});else{var p=0;u=function(e,o){var t=(new Date).getTime(),r=Math.max(0,16-(t-p)),i=a.setTimeout(function(){e(t+r)},r);return p=t+r,i},h=function(e){a.clearTimeout(e)}}var m=a.MutationObserver||a.WebKitMutationObserver||!1,f=Date.now||function(){return(new Date).getTime()},g={zindex:"auto",cursoropacitymin:0,cursoropacitymax:1,cursorcolor:"#424242",cursorwidth:"6px",cursorborder:"1px solid #fff",cursorborderradius:"5px",scrollspeed:40,mousescrollstep:27,touchbehavior:!1,emulatetouch:!1,hwacceleration:!0,usetransition:!0,boxzoom:!1,dblclickzoom:!0,gesturezoom:!0,grabcursorenabled:!0,autohidemode:!0,background:"",iframeautoresize:!0,cursorminheight:32,preservenativescrolling:!0,railoffset:!1,railhoffset:!1,bouncescroll:!0,spacebarenabled:!0,railpadding:{top:0,right:0,left:0,bottom:0},disableoutline:!0,horizrailenabled:!0,railalign:"right",railvalign:"bottom",enabletranslate3d:!0,enablemousewheel:!0,enablekeyboard:!0,smoothscroll:!0,sensitiverail:!0,enablemouselockapi:!0,cursorfixedheight:!1,directionlockdeadzone:6,hidecursordelay:400,nativeparentscrolling:!0,enablescrollonselection:!0,overflowx:!0,overflowy:!0,cursordragspeed:.3,rtlmode:"auto",cursordragontouch:!1,oneaxismousemode:"auto",scriptpath:function(){var e=l.currentScript||function(){var e=l.getElementsByTagName("script");return!!e.length&&e[e.length-1]}(),o=e?e.src.split("?")[0]:"";return o.split("/").length>0?o.split("/").slice(0,-1).join("/")+"/":""}(),preventmultitouchscrolling:!0,disablemutationobserver:!1,enableobserver:!0,scrollbarid:!1},v=!1,w=function(){if(v)return v;var e=l.createElement("DIV"),o=e.style,t=navigator.userAgent,r=navigator.platform,i={};return i.haspointerlock="pointerLockElement"in l||"webkitPointerLockElement"in l||"mozPointerLockElement"in l,i.isopera="opera"in a,i.isopera12=i.isopera&&"getUserMedia"in navigator,i.isoperamini="[object OperaMini]"===Object.prototype.toString.call(a.operamini),i.isie="all"in l&&"attachEvent"in e&&!i.isopera,i.isieold=i.isie&&!("msInterpolationMode"in o),i.isie7=i.isie&&!i.isieold&&(!("documentMode"in l)||7===l.documentMode),i.isie8=i.isie&&"documentMode"in l&&8===l.documentMode,i.isie9=i.isie&&"performance"in a&&9===l.documentMode,i.isie10=i.isie&&"performance"in a&&10===l.documentMode,i.isie11="msRequestFullscreen"in e&&l.documentMode>=11,i.ismsedge="msCredentials"in a,i.ismozilla="MozAppearance"in o,i.iswebkit=!i.ismsedge&&"WebkitAppearance"in o,i.ischrome=i.iswebkit&&"chrome"in a,i.ischrome38=i.ischrome&&"touchAction"in o,i.ischrome22=!i.ischrome38&&i.ischrome&&i.haspointerlock,i.ischrome26=!i.ischrome38&&i.ischrome&&"transition"in o,i.cantouch="ontouchstart"in l.documentElement||"ontouchstart"in a,i.hasw3ctouch=(a.PointerEvent||!1)&&(navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0),i.hasmstouch=!i.hasw3ctouch&&(a.MSPointerEvent||!1),i.ismac=/^mac$/i.test(r),i.isios=i.cantouch&&/iphone|ipad|ipod/i.test(r),i.isios4=i.isios&&!("seal"in Object),i.isios7=i.isios&&"webkitHidden"in l,i.isios8=i.isios&&"hidden"in l,i.isios10=i.isios&&a.Proxy,i.isandroid=/android/i.test(t),i.haseventlistener="addEventListener"in e,i.trstyle=!1,i.hastransform=!1,i.hastranslate3d=!1,i.transitionstyle=!1,i.hastransition=!1,i.transitionend=!1,i.trstyle="transform",i.hastransform="transform"in o||function(){for(var e=["msTransform","webkitTransform","MozTransform","OTransform"],t=0,r=e.length;t0;){if(9==e[0].nodeType)return!1;var o=e.css("zIndex");if(!isNaN(o)&&0!==o)return parseInt(o);e=e.parent()}return!1}function x(e,o,t){var r=e.css(o),i=parseFloat(r);if(isNaN(i)){var s=3==(i=I[r]||0)?t?T.win.outerHeight()-T.win.innerHeight():T.win.outerWidth()-T.win.innerWidth():1;return T.isie8&&i&&(i+=1),s?i:0}return i}function S(e,o,t,r){T._bind(e,o,function(r){var i={original:r=r||a.event,target:r.target||r.srcElement,type:"wheel",deltaMode:"MozMousePixelScroll"==r.type?0:1,deltaX:0,deltaZ:0,preventDefault:function(){return r.preventDefault?r.preventDefault():r.returnValue=!1,!1},stopImmediatePropagation:function(){r.stopImmediatePropagation?r.stopImmediatePropagation():r.cancelBubble=!0}};return"mousewheel"==o?(r.wheelDeltaX&&(i.deltaX=-.025*r.wheelDeltaX),r.wheelDeltaY&&(i.deltaY=-.025*r.wheelDeltaY),!i.deltaY&&!i.deltaX&&(i.deltaY=-.025*r.wheelDelta)):i.deltaY=r.detail,t.call(e,i)},r)}function z(e,o,t,r){T.scrollrunning||(T.newscrolly=T.getScrollTop(),T.newscrollx=T.getScrollLeft(),D=f());var i=f()-D;if(D=f(),i>350?A=1:A+=(2-A)/10,e=e*A|0,o=o*A|0,e){if(r)if(e<0){if(T.getScrollLeft()>=T.page.maxw)return!0}else if(T.getScrollLeft()<=0)return!0;var s=e>0?1:-1;X!==s&&(T.scrollmom&&T.scrollmom.stop(),T.newscrollx=T.getScrollLeft(),X=s),T.lastdeltax-=e}if(o){if(function(){var e=T.getScrollTop();if(o<0){if(e>=T.page.maxh)return!0}else if(e<=0)return!0}()){if(M.nativeparentscrolling&&t&&!T.ispage&&!T.zoomactive)return!0;var n=T.view.h>>1;T.newscrolly<-n?(T.newscrolly=-n,o=-1):T.newscrolly>T.page.maxh+n?(T.newscrolly=T.page.maxh+n,o=1):o=0}var l=o>0?1:-1;B!==l&&(T.scrollmom&&T.scrollmom.stop(),T.newscrolly=T.getScrollTop(),B=l),T.lastdeltay-=o}(o||e)&&T.synched("relativexy",function(){var e=T.lastdeltay+T.newscrolly;T.lastdeltay=0;var o=T.lastdeltax+T.newscrollx;T.lastdeltax=0,T.rail.drag||T.doScrollPos(o,e)})}function k(e,o,t){var r,i;return!(t||!q)||(0===e.deltaMode?(r=-e.deltaX*(M.mousescrollstep/54)|0,i=-e.deltaY*(M.mousescrollstep/54)|0):1===e.deltaMode&&(r=-e.deltaX*M.mousescrollstep*50/80|0,i=-e.deltaY*M.mousescrollstep*50/80|0),o&&M.oneaxismousemode&&0===r&&i&&(r=i,i=0,t&&(r<0?T.getScrollLeft()>=T.page.maxw:T.getScrollLeft()<=0)&&(i=r,r=0)),T.isrtlmode&&(r=-r),z(r,i,t,!0)?void(t&&(q=!0)):(q=!1,e.stopImmediatePropagation(),e.preventDefault()))}var T=this;this.version="3.7.6",this.name="nicescroll",this.me=p;var E=n("body"),M=this.opt={doc:E,win:!1};if(n.extend(M,g),M.snapbackspeed=80,e)for(var L in M)void 0!==e[L]&&(M[L]=e[L]);if(M.disablemutationobserver&&(m=!1),this.doc=M.doc,this.iddoc=this.doc&&this.doc[0]?this.doc[0].id||"":"",this.ispage=/^BODY|HTML/.test(M.win?M.win[0].nodeName:this.doc[0].nodeName),this.haswrapper=!1!==M.win,this.win=M.win||(this.ispage?c:this.doc),this.docscroll=this.ispage&&!this.haswrapper?c:this.win,this.body=E,this.viewport=!1,this.isfixed=!1,this.iframe=!1,this.isiframe="IFRAME"==this.doc[0].nodeName&&"IFRAME"==this.win[0].nodeName,this.istextarea="TEXTAREA"==this.win[0].nodeName,this.forcescreen=!1,this.canshowonmouseevent="scroll"!=M.autohidemode,this.onmousedown=!1,this.onmouseup=!1,this.onmousemove=!1,this.onmousewheel=!1,this.onkeypress=!1,this.ongesturezoom=!1,this.onclick=!1,this.onscrollstart=!1,this.onscrollend=!1,this.onscrollcancel=!1,this.onzoomin=!1,this.onzoomout=!1,this.view=!1,this.page=!1,this.scroll={x:0,y:0},this.scrollratio={x:0,y:0},this.cursorheight=20,this.scrollvaluemax=0,"auto"==M.rtlmode){var C=this.win[0]==a?this.body:this.win,N=C.css("writing-mode")||C.css("-webkit-writing-mode")||C.css("-ms-writing-mode")||C.css("-moz-writing-mode");"horizontal-tb"==N||"lr-tb"==N||""===N?(this.isrtlmode="rtl"==C.css("direction"),this.isvertical=!1):(this.isrtlmode="vertical-rl"==N||"tb"==N||"tb-rl"==N||"rl-tb"==N,this.isvertical="vertical-rl"==N||"tb"==N||"tb-rl"==N)}else this.isrtlmode=!0===M.rtlmode,this.isvertical=!1;if(this.scrollrunning=!1,this.scrollmom=!1,this.observer=!1,this.observerremover=!1,this.observerbody=!1,!1!==M.scrollbarid)this.id=M.scrollbarid;else do{this.id="ascrail"+i++}while(l.getElementById(this.id));this.rail=!1,this.cursor=!1,this.cursorfreezed=!1,this.selectiondrag=!1,this.zoom=!1,this.zoomactive=!1,this.hasfocus=!1,this.hasmousefocus=!1,this.railslocked=!1,this.locked=!1,this.hidden=!1,this.cursoractive=!0,this.wheelprevented=!1,this.overflowx=M.overflowx,this.overflowy=M.overflowy,this.nativescrollingarea=!1,this.checkarea=0,this.events=[],this.saved={},this.delaylist={},this.synclist={},this.lastdeltax=0,this.lastdeltay=0,this.detected=w();var P=n.extend({},this.detected);this.canhwscroll=P.hastransform&&M.hwacceleration,this.ishwscroll=this.canhwscroll&&T.haswrapper,this.isrtlmode?this.isvertical?this.hasreversehr=!(P.iswebkit||P.isie||P.isie11):this.hasreversehr=!(P.iswebkit||P.isie&&!P.isie10&&!P.isie11):this.hasreversehr=!1,this.istouchcapable=!1,P.cantouch||!P.hasw3ctouch&&!P.hasmstouch?!P.cantouch||P.isios||P.isandroid||!P.iswebkit&&!P.ismozilla||(this.istouchcapable=!0):this.istouchcapable=!0,M.enablemouselockapi||(P.hasmousecapture=!1,P.haspointerlock=!1),this.debounced=function(e,o,t){T&&(T.delaylist[e]||!1||(T.delaylist[e]={h:u(function(){T.delaylist[e].fn.call(T),T.delaylist[e]=!1},t)},o.call(T)),T.delaylist[e].fn=o)},this.synched=function(e,o){T.synclist[e]?T.synclist[e]=o:(T.synclist[e]=o,u(function(){T&&(T.synclist[e]&&T.synclist[e].call(T),T.synclist[e]=null)}))},this.unsynched=function(e){T.synclist[e]&&(T.synclist[e]=!1)},this.css=function(e,o){for(var t in o)T.saved.css.push([e,t,e.css(t)]),e.css(t,o[t])},this.scrollTop=function(e){return void 0===e?T.getScrollTop():T.setScrollTop(e)},this.scrollLeft=function(e){return void 0===e?T.getScrollLeft():T.setScrollLeft(e)};var R=function(e,o,t,r,i,s,n){this.st=e,this.ed=o,this.spd=t,this.p1=r||0,this.p2=i||1,this.p3=s||0,this.p4=n||1,this.ts=f(),this.df=o-e};if(R.prototype={B2:function(e){return 3*(1-e)*(1-e)*e},B3:function(e){return 3*(1-e)*e*e},B4:function(e){return e*e*e},getPos:function(){return(f()-this.ts)/this.spd},getNow:function(){var e=(f()-this.ts)/this.spd,o=this.B2(e)+this.B3(e)+this.B4(e);return e>=1?this.ed:this.st+this.df*o|0},update:function(e,o){return this.st=this.getNow(),this.ed=e,this.spd=o,this.ts=f(),this.df=this.ed-this.st,this}},this.ishwscroll){this.doc.translate={x:0,y:0,tx:"0px",ty:"0px"},P.hastranslate3d&&P.isios&&this.doc.css("-webkit-backface-visibility","hidden"),this.getScrollTop=function(e){if(!e){var o=v();if(o)return 16==o.length?-o[13]:-o[5];if(T.timerscroll&&T.timerscroll.bz)return T.timerscroll.bz.getNow()}return T.doc.translate.y},this.getScrollLeft=function(e){if(!e){var o=v();if(o)return 16==o.length?-o[12]:-o[4];if(T.timerscroll&&T.timerscroll.bh)return T.timerscroll.bh.getNow()}return T.doc.translate.x},this.notifyScrollEvent=function(e){var o=l.createEvent("UIEvents");o.initUIEvent("scroll",!1,!1,a,1),o.niceevent=!0,e.dispatchEvent(o)};var _=this.isrtlmode?1:-1;P.hastranslate3d&&M.enabletranslate3d?(this.setScrollTop=function(e,o){T.doc.translate.y=e,T.doc.translate.ty=-1*e+"px",T.doc.css(P.trstyle,"translate3d("+T.doc.translate.tx+","+T.doc.translate.ty+",0)"),o||T.notifyScrollEvent(T.win[0])},this.setScrollLeft=function(e,o){T.doc.translate.x=e,T.doc.translate.tx=e*_+"px",T.doc.css(P.trstyle,"translate3d("+T.doc.translate.tx+","+T.doc.translate.ty+",0)"),o||T.notifyScrollEvent(T.win[0])}):(this.setScrollTop=function(e,o){T.doc.translate.y=e,T.doc.translate.ty=-1*e+"px",T.doc.css(P.trstyle,"translate("+T.doc.translate.tx+","+T.doc.translate.ty+")"),o||T.notifyScrollEvent(T.win[0])},this.setScrollLeft=function(e,o){T.doc.translate.x=e,T.doc.translate.tx=e*_+"px",T.doc.css(P.trstyle,"translate("+T.doc.translate.tx+","+T.doc.translate.ty+")"),o||T.notifyScrollEvent(T.win[0])})}else this.getScrollTop=function(){return T.docscroll.scrollTop()},this.setScrollTop=function(e){T.docscroll.scrollTop(e)},this.getScrollLeft=function(){return T.hasreversehr?T.detected.ismozilla?T.page.maxw-Math.abs(T.docscroll.scrollLeft()):T.page.maxw-T.docscroll.scrollLeft():T.docscroll.scrollLeft()},this.setScrollLeft=function(e){return setTimeout(function(){if(T)return T.hasreversehr&&(e=T.detected.ismozilla?-(T.page.maxw-e):T.page.maxw-e),T.docscroll.scrollLeft(e)},1)};this.getTarget=function(e){return!!e&&(e.target?e.target:!!e.srcElement&&e.srcElement)},this.hasParent=function(e,o){if(!e)return!1;for(var t=e.target||e.srcElement||e||!1;t&&t.id!=o;)t=t.parentNode||!1;return!1!==t};var I={thin:1,medium:3,thick:5};this.getDocumentScrollOffset=function(){return{top:a.pageYOffset||l.documentElement.scrollTop,left:a.pageXOffset||l.documentElement.scrollLeft}},this.getOffset=function(){if(T.isfixed){var e=T.win.offset(),o=T.getDocumentScrollOffset();return e.top-=o.top,e.left-=o.left,e}var t=T.win.offset();if(!T.viewport)return t;var r=T.viewport.offset();return{top:t.top-r.top,left:t.left-r.left}},this.updateScrollBar=function(e){var o,t;if(T.ishwscroll)T.rail.css({height:T.win.innerHeight()-(M.railpadding.top+M.railpadding.bottom)}),T.railh&&T.railh.css({width:T.win.innerWidth()-(M.railpadding.left+M.railpadding.right)});else{var r=T.getOffset();if(o={top:r.top,left:r.left-(M.railpadding.left+M.railpadding.right)},o.top+=x(T.win,"border-top-width",!0),o.left+=T.rail.align?T.win.outerWidth()-x(T.win,"border-right-width")-T.rail.width:x(T.win,"border-left-width"),(t=M.railoffset)&&(t.top&&(o.top+=t.top),t.left&&(o.left+=t.left)),T.railslocked||T.rail.css({top:o.top,left:o.left,height:(e?e.h:T.win.innerHeight())-(M.railpadding.top+M.railpadding.bottom)}),T.zoom&&T.zoom.css({top:o.top+1,left:1==T.rail.align?o.left-20:o.left+T.rail.width+4}),T.railh&&!T.railslocked){o={top:r.top,left:r.left},(t=M.railhoffset)&&(t.top&&(o.top+=t.top),t.left&&(o.left+=t.left));var i=T.railh.align?o.top+x(T.win,"border-top-width",!0)+T.win.innerHeight()-T.railh.height:o.top+x(T.win,"border-top-width",!0),s=o.left+x(T.win,"border-left-width");T.railh.css({top:i-(M.railpadding.top+M.railpadding.bottom),left:s,width:T.railh.width})}}},this.doRailClick=function(e,o,t){var r,i,s,n;T.railslocked||(T.cancelEvent(e),"pageY"in e||(e.pageX=e.clientX+l.documentElement.scrollLeft,e.pageY=e.clientY+l.documentElement.scrollTop),o?(r=t?T.doScrollLeft:T.doScrollTop,s=t?(e.pageX-T.railh.offset().left-T.cursorwidth/2)*T.scrollratio.x:(e.pageY-T.rail.offset().top-T.cursorheight/2)*T.scrollratio.y,T.unsynched("relativexy"),r(0|s)):(r=t?T.doScrollLeftBy:T.doScrollBy,s=t?T.scroll.x:T.scroll.y,n=t?e.pageX-T.railh.offset().left:e.pageY-T.rail.offset().top,i=t?T.view.w:T.view.h,r(s>=n?i:-i)))},T.newscrolly=T.newscrollx=0,T.hasanimationframe="requestAnimationFrame"in a,T.hascancelanimationframe="cancelAnimationFrame"in a,T.hasborderbox=!1,this.init=function(){if(T.saved.css=[],P.isoperamini)return!0;if(P.isandroid&&!("hidden"in l))return!0;M.emulatetouch=M.emulatetouch||M.touchbehavior,T.hasborderbox=a.getComputedStyle&&"border-box"===a.getComputedStyle(l.body)["box-sizing"];var e={"overflow-y":"hidden"};if((P.isie11||P.isie10)&&(e["-ms-overflow-style"]="none"),T.ishwscroll&&(this.doc.css(P.transitionstyle,P.prefixstyle+"transform 0ms ease-out"),P.transitionend&&T.bind(T.doc,P.transitionend,T.onScrollTransitionEnd,!1)),T.zindex="auto",T.ispage||"auto"!=M.zindex?T.zindex=M.zindex:T.zindex=b()||"auto",!T.ispage&&"auto"!=T.zindex&&T.zindex>s&&(s=T.zindex),T.isie&&0===T.zindex&&"auto"==M.zindex&&(T.zindex="auto"),!T.ispage||!P.isieold){var i=T.docscroll;T.ispage&&(i=T.haswrapper?T.win:T.doc),T.css(i,e),T.ispage&&(P.isie11||P.isie)&&T.css(n("html"),e),!P.isios||T.ispage||T.haswrapper||T.css(E,{"-webkit-overflow-scrolling":"touch"});var d=n(l.createElement("div"));d.css({position:"relative",top:0,float:"right",width:M.cursorwidth,height:0,"background-color":M.cursorcolor,border:M.cursorborder,"background-clip":"padding-box","-webkit-border-radius":M.cursorborderradius,"-moz-border-radius":M.cursorborderradius,"border-radius":M.cursorborderradius}),d.addClass("nicescroll-cursors"),T.cursor=d;var u=n(l.createElement("div"));u.attr("id",T.id),u.addClass("nicescroll-rails nicescroll-rails-vr");var h,p,f=["left","right","top","bottom"];for(var g in f)p=f[g],(h=M.railpadding[p]||0)&&u.css("padding-"+p,h+"px");u.append(d),u.width=Math.max(parseFloat(M.cursorwidth),d.outerWidth()),u.css({width:u.width+"px",zIndex:T.zindex,background:M.background,cursor:"default"}),u.visibility=!0,u.scrollable=!0,u.align="left"==M.railalign?0:1,T.rail=u,T.rail.drag=!1;var v=!1;!M.boxzoom||T.ispage||P.isieold||(v=l.createElement("div"),T.bind(v,"click",T.doZoom),T.bind(v,"mouseenter",function(){T.zoom.css("opacity",M.cursoropacitymax)}),T.bind(v,"mouseleave",function(){T.zoom.css("opacity",M.cursoropacitymin)}),T.zoom=n(v),T.zoom.css({cursor:"pointer",zIndex:T.zindex,backgroundImage:"url("+M.scriptpath+"zoomico.png)",height:18,width:18,backgroundPosition:"0 0"}),M.dblclickzoom&&T.bind(T.win,"dblclick",T.doZoom),P.cantouch&&M.gesturezoom&&(T.ongesturezoom=function(e){return e.scale>1.5&&T.doZoomIn(e),e.scale<.8&&T.doZoomOut(e),T.cancelEvent(e)},T.bind(T.win,"gestureend",T.ongesturezoom))),T.railh=!1;var w;if(M.horizrailenabled&&(T.css(i,{overflowX:"hidden"}),(d=n(l.createElement("div"))).css({position:"absolute",top:0,height:M.cursorwidth,width:0,backgroundColor:M.cursorcolor,border:M.cursorborder,backgroundClip:"padding-box","-webkit-border-radius":M.cursorborderradius,"-moz-border-radius":M.cursorborderradius,"border-radius":M.cursorborderradius}),P.isieold&&d.css("overflow","hidden"),d.addClass("nicescroll-cursors"),T.cursorh=d,(w=n(l.createElement("div"))).attr("id",T.id+"-hr"),w.addClass("nicescroll-rails nicescroll-rails-hr"),w.height=Math.max(parseFloat(M.cursorwidth),d.outerHeight()),w.css({height:w.height+"px",zIndex:T.zindex,background:M.background}),w.append(d),w.visibility=!0,w.scrollable=!0,w.align="top"==M.railvalign?0:1,T.railh=w,T.railh.drag=!1),T.ispage)u.css({position:"fixed",top:0,height:"100%"}),u.css(u.align?{right:0}:{left:0}),T.body.append(u),T.railh&&(w.css({position:"fixed",left:0,width:"100%"}),w.css(w.align?{bottom:0}:{top:0}),T.body.append(w));else{if(T.ishwscroll){"static"==T.win.css("position")&&T.css(T.win,{position:"relative"});var x="HTML"==T.win[0].nodeName?T.body:T.win;n(x).scrollTop(0).scrollLeft(0),T.zoom&&(T.zoom.css({position:"absolute",top:1,right:0,"margin-right":u.width+4}),x.append(T.zoom)),u.css({position:"absolute",top:0}),u.css(u.align?{right:0}:{left:0}),x.append(u),w&&(w.css({position:"absolute",left:0,bottom:0}),w.css(w.align?{bottom:0}:{top:0}),x.append(w))}else{T.isfixed="fixed"==T.win.css("position");var S=T.isfixed?"fixed":"absolute";T.isfixed||(T.viewport=T.getViewport(T.win[0])),T.viewport&&(T.body=T.viewport,/fixed|absolute/.test(T.viewport.css("position"))||T.css(T.viewport,{position:"relative"})),u.css({position:S}),T.zoom&&T.zoom.css({position:S}),T.updateScrollBar(),T.body.append(u),T.zoom&&T.body.append(T.zoom),T.railh&&(w.css({position:S}),T.body.append(w))}P.isios&&T.css(T.win,{"-webkit-tap-highlight-color":"rgba(0,0,0,0)","-webkit-touch-callout":"none"}),M.disableoutline&&(P.isie&&T.win.attr("hideFocus","true"),P.iswebkit&&T.win.css("outline","none"))}if(!1===M.autohidemode?(T.autohidedom=!1,T.rail.css({opacity:M.cursoropacitymax}),T.railh&&T.railh.css({opacity:M.cursoropacitymax})):!0===M.autohidemode||"leave"===M.autohidemode?(T.autohidedom=n().add(T.rail),P.isie8&&(T.autohidedom=T.autohidedom.add(T.cursor)),T.railh&&(T.autohidedom=T.autohidedom.add(T.railh)),T.railh&&P.isie8&&(T.autohidedom=T.autohidedom.add(T.cursorh))):"scroll"==M.autohidemode?(T.autohidedom=n().add(T.rail),T.railh&&(T.autohidedom=T.autohidedom.add(T.railh))):"cursor"==M.autohidemode?(T.autohidedom=n().add(T.cursor),T.railh&&(T.autohidedom=T.autohidedom.add(T.cursorh))):"hidden"==M.autohidemode&&(T.autohidedom=!1,T.hide(),T.railslocked=!1),P.cantouch||T.istouchcapable||M.emulatetouch||P.hasmstouch){T.scrollmom=new y(T);T.ontouchstart=function(e){if(T.locked)return!1;if(e.pointerType&&("mouse"===e.pointerType||e.pointerType===e.MSPOINTER_TYPE_MOUSE))return!1;if(T.hasmoving=!1,T.scrollmom.timer&&(T.triggerScrollEnd(),T.scrollmom.stop()),!T.railslocked){var o=T.getTarget(e);if(o&&/INPUT/i.test(o.nodeName)&&/range/i.test(o.type))return T.stopPropagation(e);var t="mousedown"===e.type;if(!("clientX"in e)&&"changedTouches"in e&&(e.clientX=e.changedTouches[0].clientX,e.clientY=e.changedTouches[0].clientY),T.forcescreen){var r=e;(e={original:e.original?e.original:e}).clientX=r.screenX,e.clientY=r.screenY}if(T.rail.drag={x:e.clientX,y:e.clientY,sx:T.scroll.x,sy:T.scroll.y,st:T.getScrollTop(),sl:T.getScrollLeft(),pt:2,dl:!1,tg:o},T.ispage||!M.directionlockdeadzone)T.rail.drag.dl="f";else{var i={w:c.width(),h:c.height()},s=T.getContentSize(),l=s.h-i.h,a=s.w-i.w;T.rail.scrollable&&!T.railh.scrollable?T.rail.drag.ck=l>0&&"v":!T.rail.scrollable&&T.railh.scrollable?T.rail.drag.ck=a>0&&"h":T.rail.drag.ck=!1}if(M.emulatetouch&&T.isiframe&&P.isie){var d=T.win.position();T.rail.drag.x+=d.left,T.rail.drag.y+=d.top}if(T.hasmoving=!1,T.lastmouseup=!1,T.scrollmom.reset(e.clientX,e.clientY),o&&t){if(!/INPUT|SELECT|BUTTON|TEXTAREA/i.test(o.nodeName))return P.hasmousecapture&&o.setCapture(),M.emulatetouch?(o.onclick&&!o._onclick&&(o._onclick=o.onclick,o.onclick=function(e){if(T.hasmoving)return!1;o._onclick.call(this,e)}),T.cancelEvent(e)):T.stopPropagation(e);/SUBMIT|CANCEL|BUTTON/i.test(n(o).attr("type"))&&(T.preventclick={tg:o,click:!1})}}},T.ontouchend=function(e){if(!T.rail.drag)return!0;if(2==T.rail.drag.pt){if(e.pointerType&&("mouse"===e.pointerType||e.pointerType===e.MSPOINTER_TYPE_MOUSE))return!1;T.rail.drag=!1;var o="mouseup"===e.type;if(T.hasmoving&&(T.scrollmom.doMomentum(),T.lastmouseup=!0,T.hideCursor(),P.hasmousecapture&&l.releaseCapture(),o))return T.cancelEvent(e)}else if(1==T.rail.drag.pt)return T.onmouseup(e)};var z=M.emulatetouch&&T.isiframe&&!P.hasmousecapture,k=.3*M.directionlockdeadzone|0;T.ontouchmove=function(e,o){if(!T.rail.drag)return!0;if(e.targetTouches&&M.preventmultitouchscrolling&&e.targetTouches.length>1)return!0;if(e.pointerType&&("mouse"===e.pointerType||e.pointerType===e.MSPOINTER_TYPE_MOUSE))return!0;if(2==T.rail.drag.pt){"changedTouches"in e&&(e.clientX=e.changedTouches[0].clientX,e.clientY=e.changedTouches[0].clientY);var t,r;if(r=t=0,z&&!o){var i=T.win.position();r=-i.left,t=-i.top}var s=e.clientY+t,n=s-T.rail.drag.y,a=e.clientX+r,c=a-T.rail.drag.x,d=T.rail.drag.st-n;if(T.ishwscroll&&M.bouncescroll)d<0?d=Math.round(d/2):d>T.page.maxh&&(d=T.page.maxh+Math.round((d-T.page.maxh)/2));else if(d<0?(d=0,s=0):d>T.page.maxh&&(d=T.page.maxh,s=0),0===s&&!T.hasmoving)return T.ispage||(T.rail.drag=!1),!0;var u=T.getScrollLeft();if(T.railh&&T.railh.scrollable&&(u=T.isrtlmode?c-T.rail.drag.sl:T.rail.drag.sl-c,T.ishwscroll&&M.bouncescroll?u<0?u=Math.round(u/2):u>T.page.maxw&&(u=T.page.maxw+Math.round((u-T.page.maxw)/2)):(u<0&&(u=0,a=0),u>T.page.maxw&&(u=T.page.maxw,a=0))),!T.hasmoving){if(T.rail.drag.y===e.clientY&&T.rail.drag.x===e.clientX)return T.cancelEvent(e);var h=Math.abs(n),p=Math.abs(c),m=M.directionlockdeadzone;if(T.rail.drag.ck?"v"==T.rail.drag.ck?p>m&&h<=k?T.rail.drag=!1:h>m&&(T.rail.drag.dl="v"):"h"==T.rail.drag.ck&&(h>m&&p<=k?T.rail.drag=!1:p>m&&(T.rail.drag.dl="h")):h>m&&p>m?T.rail.drag.dl="f":h>m?T.rail.drag.dl=p>k?"f":"v":p>m&&(T.rail.drag.dl=h>k?"f":"h"),!T.rail.drag.dl)return T.cancelEvent(e);T.triggerScrollStart(e.clientX,e.clientY,0,0,0),T.hasmoving=!0}return T.preventclick&&!T.preventclick.click&&(T.preventclick.click=T.preventclick.tg.onclick||!1,T.preventclick.tg.onclick=T.onpreventclick),T.rail.drag.dl&&("v"==T.rail.drag.dl?u=T.rail.drag.sl:"h"==T.rail.drag.dl&&(d=T.rail.drag.st)),T.synched("touchmove",function(){T.rail.drag&&2==T.rail.drag.pt&&(T.prepareTransition&&T.resetTransition(),T.rail.scrollable&&T.setScrollTop(d),T.scrollmom.update(a,s),T.railh&&T.railh.scrollable?(T.setScrollLeft(u),T.showCursor(d,u)):T.showCursor(d),P.isie10&&l.selection.clear())}),T.cancelEvent(e)}return 1==T.rail.drag.pt?T.onmousemove(e):void 0},T.ontouchstartCursor=function(e,o){if(!T.rail.drag||3==T.rail.drag.pt){if(T.locked)return T.cancelEvent(e);T.cancelScroll(),T.rail.drag={x:e.touches[0].clientX,y:e.touches[0].clientY,sx:T.scroll.x,sy:T.scroll.y,pt:3,hr:!!o};var t=T.getTarget(e);return!T.ispage&&P.hasmousecapture&&t.setCapture(),T.isiframe&&!P.hasmousecapture&&(T.saved.csspointerevents=T.doc.css("pointer-events"),T.css(T.doc,{"pointer-events":"none"})),T.cancelEvent(e)}},T.ontouchendCursor=function(e){if(T.rail.drag){if(P.hasmousecapture&&l.releaseCapture(),T.isiframe&&!P.hasmousecapture&&T.doc.css("pointer-events",T.saved.csspointerevents),3!=T.rail.drag.pt)return;return T.rail.drag=!1,T.cancelEvent(e)}},T.ontouchmoveCursor=function(e){if(T.rail.drag){if(3!=T.rail.drag.pt)return;if(T.cursorfreezed=!0,T.rail.drag.hr){T.scroll.x=T.rail.drag.sx+(e.touches[0].clientX-T.rail.drag.x),T.scroll.x<0&&(T.scroll.x=0);var o=T.scrollvaluemaxw;T.scroll.x>o&&(T.scroll.x=o)}else{T.scroll.y=T.rail.drag.sy+(e.touches[0].clientY-T.rail.drag.y),T.scroll.y<0&&(T.scroll.y=0);var t=T.scrollvaluemax;T.scroll.y>t&&(T.scroll.y=t)}return T.synched("touchmove",function(){T.rail.drag&&3==T.rail.drag.pt&&(T.showCursor(),T.rail.drag.hr?T.doScrollLeft(Math.round(T.scroll.x*T.scrollratio.x),M.cursordragspeed):T.doScrollTop(Math.round(T.scroll.y*T.scrollratio.y),M.cursordragspeed))}),T.cancelEvent(e)}}}if(T.onmousedown=function(e,o){if(!T.rail.drag||1==T.rail.drag.pt){if(T.railslocked)return T.cancelEvent(e);T.cancelScroll(),T.rail.drag={x:e.clientX,y:e.clientY,sx:T.scroll.x,sy:T.scroll.y,pt:1,hr:o||!1};var t=T.getTarget(e);return P.hasmousecapture&&t.setCapture(),T.isiframe&&!P.hasmousecapture&&(T.saved.csspointerevents=T.doc.css("pointer-events"),T.css(T.doc,{"pointer-events":"none"})),T.hasmoving=!1,T.cancelEvent(e)}},T.onmouseup=function(e){if(T.rail.drag)return 1!=T.rail.drag.pt||(P.hasmousecapture&&l.releaseCapture(),T.isiframe&&!P.hasmousecapture&&T.doc.css("pointer-events",T.saved.csspointerevents),T.rail.drag=!1,T.cursorfreezed=!1,T.hasmoving&&T.triggerScrollEnd(),T.cancelEvent(e))},T.onmousemove=function(e){if(T.rail.drag){if(1!==T.rail.drag.pt)return;if(P.ischrome&&0===e.which)return T.onmouseup(e);if(T.cursorfreezed=!0,T.hasmoving||T.triggerScrollStart(e.clientX,e.clientY,0,0,0),T.hasmoving=!0,T.rail.drag.hr){T.scroll.x=T.rail.drag.sx+(e.clientX-T.rail.drag.x),T.scroll.x<0&&(T.scroll.x=0);var o=T.scrollvaluemaxw;T.scroll.x>o&&(T.scroll.x=o)}else{T.scroll.y=T.rail.drag.sy+(e.clientY-T.rail.drag.y),T.scroll.y<0&&(T.scroll.y=0);var t=T.scrollvaluemax;T.scroll.y>t&&(T.scroll.y=t)}return T.synched("mousemove",function(){T.cursorfreezed&&(T.showCursor(),T.rail.drag.hr?T.scrollLeft(Math.round(T.scroll.x*T.scrollratio.x)):T.scrollTop(Math.round(T.scroll.y*T.scrollratio.y)))}),T.cancelEvent(e)}T.checkarea=0},P.cantouch||M.emulatetouch)T.onpreventclick=function(e){if(T.preventclick)return T.preventclick.tg.onclick=T.preventclick.click,T.preventclick=!1,T.cancelEvent(e)},T.onclick=!P.isios&&function(e){return!T.lastmouseup||(T.lastmouseup=!1,T.cancelEvent(e))},M.grabcursorenabled&&P.cursorgrabvalue&&(T.css(T.ispage?T.doc:T.win,{cursor:P.cursorgrabvalue}),T.css(T.rail,{cursor:P.cursorgrabvalue}));else{var L=function(e){if(T.selectiondrag){if(e){var o=T.win.outerHeight(),t=e.pageY-T.selectiondrag.top;t>0&&t=o&&(t-=o),T.selectiondrag.df=t}if(0!==T.selectiondrag.df){var r=-2*T.selectiondrag.df/6|0;T.doScrollBy(r),T.debounced("doselectionscroll",function(){L()},50)}}};T.hasTextSelected="getSelection"in l?function(){return l.getSelection().rangeCount>0}:"selection"in l?function(){return"None"!=l.selection.type}:function(){return!1},T.onselectionstart=function(e){T.ispage||(T.selectiondrag=T.win.offset())},T.onselectionend=function(e){T.selectiondrag=!1},T.onselectiondrag=function(e){T.selectiondrag&&T.hasTextSelected()&&T.debounced("selectionscroll",function(){L(e)},250)}}if(P.hasw3ctouch?(T.css(T.ispage?n("html"):T.win,{"touch-action":"none"}),T.css(T.rail,{"touch-action":"none"}),T.css(T.cursor,{"touch-action":"none"}),T.bind(T.win,"pointerdown",T.ontouchstart),T.bind(l,"pointerup",T.ontouchend),T.delegate(l,"pointermove",T.ontouchmove)):P.hasmstouch?(T.css(T.ispage?n("html"):T.win,{"-ms-touch-action":"none"}),T.css(T.rail,{"-ms-touch-action":"none"}),T.css(T.cursor,{"-ms-touch-action":"none"}),T.bind(T.win,"MSPointerDown",T.ontouchstart),T.bind(l,"MSPointerUp",T.ontouchend),T.delegate(l,"MSPointerMove",T.ontouchmove),T.bind(T.cursor,"MSGestureHold",function(e){e.preventDefault()}),T.bind(T.cursor,"contextmenu",function(e){e.preventDefault()})):P.cantouch&&(T.bind(T.win,"touchstart",T.ontouchstart,!1,!0),T.bind(l,"touchend",T.ontouchend,!1,!0),T.bind(l,"touchcancel",T.ontouchend,!1,!0),T.delegate(l,"touchmove",T.ontouchmove,!1,!0)),M.emulatetouch&&(T.bind(T.win,"mousedown",T.ontouchstart,!1,!0),T.bind(l,"mouseup",T.ontouchend,!1,!0),T.bind(l,"mousemove",T.ontouchmove,!1,!0)),(M.cursordragontouch||!P.cantouch&&!M.emulatetouch)&&(T.rail.css({cursor:"default"}),T.railh&&T.railh.css({cursor:"default"}),T.jqbind(T.rail,"mouseenter",function(){if(!T.ispage&&!T.win.is(":visible"))return!1;T.canshowonmouseevent&&T.showCursor(),T.rail.active=!0}),T.jqbind(T.rail,"mouseleave",function(){T.rail.active=!1,T.rail.drag||T.hideCursor()}),M.sensitiverail&&(T.bind(T.rail,"click",function(e){T.doRailClick(e,!1,!1)}),T.bind(T.rail,"dblclick",function(e){T.doRailClick(e,!0,!1)}),T.bind(T.cursor,"click",function(e){T.cancelEvent(e)}),T.bind(T.cursor,"dblclick",function(e){T.cancelEvent(e)})),T.railh&&(T.jqbind(T.railh,"mouseenter",function(){if(!T.ispage&&!T.win.is(":visible"))return!1;T.canshowonmouseevent&&T.showCursor(),T.rail.active=!0}),T.jqbind(T.railh,"mouseleave",function(){T.rail.active=!1,T.rail.drag||T.hideCursor()}),M.sensitiverail&&(T.bind(T.railh,"click",function(e){T.doRailClick(e,!1,!0)}),T.bind(T.railh,"dblclick",function(e){T.doRailClick(e,!0,!0)}),T.bind(T.cursorh,"click",function(e){T.cancelEvent(e)}),T.bind(T.cursorh,"dblclick",function(e){T.cancelEvent(e)})))),M.cursordragontouch&&(this.istouchcapable||P.cantouch)&&(T.bind(T.cursor,"touchstart",T.ontouchstartCursor),T.bind(T.cursor,"touchmove",T.ontouchmoveCursor),T.bind(T.cursor,"touchend",T.ontouchendCursor),T.cursorh&&T.bind(T.cursorh,"touchstart",function(e){T.ontouchstartCursor(e,!0)}),T.cursorh&&T.bind(T.cursorh,"touchmove",T.ontouchmoveCursor),T.cursorh&&T.bind(T.cursorh,"touchend",T.ontouchendCursor)),M.emulatetouch||P.isandroid||P.isios?(T.bind(P.hasmousecapture?T.win:l,"mouseup",T.ontouchend),T.onclick&&T.bind(l,"click",T.onclick),M.cursordragontouch?(T.bind(T.cursor,"mousedown",T.onmousedown),T.bind(T.cursor,"mouseup",T.onmouseup),T.cursorh&&T.bind(T.cursorh,"mousedown",function(e){T.onmousedown(e,!0)}),T.cursorh&&T.bind(T.cursorh,"mouseup",T.onmouseup)):(T.bind(T.rail,"mousedown",function(e){e.preventDefault()}),T.railh&&T.bind(T.railh,"mousedown",function(e){e.preventDefault()}))):(T.bind(P.hasmousecapture?T.win:l,"mouseup",T.onmouseup),T.bind(l,"mousemove",T.onmousemove),T.onclick&&T.bind(l,"click",T.onclick),T.bind(T.cursor,"mousedown",T.onmousedown),T.bind(T.cursor,"mouseup",T.onmouseup),T.railh&&(T.bind(T.cursorh,"mousedown",function(e){T.onmousedown(e,!0)}),T.bind(T.cursorh,"mouseup",T.onmouseup)),!T.ispage&&M.enablescrollonselection&&(T.bind(T.win[0],"mousedown",T.onselectionstart),T.bind(l,"mouseup",T.onselectionend),T.bind(T.cursor,"mouseup",T.onselectionend),T.cursorh&&T.bind(T.cursorh,"mouseup",T.onselectionend),T.bind(l,"mousemove",T.onselectiondrag)),T.zoom&&(T.jqbind(T.zoom,"mouseenter",function(){T.canshowonmouseevent&&T.showCursor(),T.rail.active=!0}),T.jqbind(T.zoom,"mouseleave",function(){T.rail.active=!1,T.rail.drag||T.hideCursor()}))),M.enablemousewheel&&(T.isiframe||T.mousewheel(P.isie&&T.ispage?l:T.win,T.onmousewheel),T.mousewheel(T.rail,T.onmousewheel),T.railh&&T.mousewheel(T.railh,T.onmousewheelhr)),T.ispage||P.cantouch||/HTML|^BODY/.test(T.win[0].nodeName)||(T.win.attr("tabindex")||T.win.attr({tabindex:++r}),T.bind(T.win,"focus",function(e){o=T.getTarget(e).id||T.getTarget(e)||!1,T.hasfocus=!0,T.canshowonmouseevent&&T.noticeCursor()}),T.bind(T.win,"blur",function(e){o=!1,T.hasfocus=!1}),T.bind(T.win,"mouseenter",function(e){t=T.getTarget(e).id||T.getTarget(e)||!1,T.hasmousefocus=!0,T.canshowonmouseevent&&T.noticeCursor()}),T.bind(T.win,"mouseleave",function(e){t=!1,T.hasmousefocus=!1,T.rail.drag||T.hideCursor()})),T.onkeypress=function(e){if(T.railslocked&&0===T.page.maxh)return!0;e=e||a.event;var r=T.getTarget(e);if(r&&/INPUT|TEXTAREA|SELECT|OPTION/.test(r.nodeName)&&(!(r.getAttribute("type")||r.type||!1)||!/submit|button|cancel/i.tp))return!0;if(n(r).attr("contenteditable"))return!0;if(T.hasfocus||T.hasmousefocus&&!o||T.ispage&&!o&&!t){var i=e.keyCode;if(T.railslocked&&27!=i)return T.cancelEvent(e);var s=e.ctrlKey||!1,l=e.shiftKey||!1,c=!1;switch(i){case 38:case 63233:T.doScrollBy(72),c=!0;break;case 40:case 63235:T.doScrollBy(-72),c=!0;break;case 37:case 63232:T.railh&&(s?T.doScrollLeft(0):T.doScrollLeftBy(72),c=!0);break;case 39:case 63234:T.railh&&(s?T.doScrollLeft(T.page.maxw):T.doScrollLeftBy(-72),c=!0);break;case 33:case 63276:T.doScrollBy(T.view.h),c=!0;break;case 34:case 63277:T.doScrollBy(-T.view.h),c=!0;break;case 36:case 63273:T.railh&&s?T.doScrollPos(0,0):T.doScrollTo(0),c=!0;break;case 35:case 63275:T.railh&&s?T.doScrollPos(T.page.maxw,T.page.maxh):T.doScrollTo(T.page.maxh),c=!0;break;case 32:M.spacebarenabled&&(l?T.doScrollBy(T.view.h):T.doScrollBy(-T.view.h),c=!0);break;case 27:T.zoomactive&&(T.doZoom(),c=!0)}if(c)return T.cancelEvent(e)}},M.enablekeyboard&&T.bind(l,P.isopera&&!P.isopera12?"keypress":"keydown",T.onkeypress),T.bind(l,"keydown",function(e){(e.ctrlKey||!1)&&(T.wheelprevented=!0)}),T.bind(l,"keyup",function(e){e.ctrlKey||!1||(T.wheelprevented=!1)}),T.bind(a,"blur",function(e){T.wheelprevented=!1}),T.bind(a,"resize",T.onscreenresize),T.bind(a,"orientationchange",T.onscreenresize),T.bind(a,"load",T.lazyResize),P.ischrome&&!T.ispage&&!T.haswrapper){var C=T.win.attr("style"),N=parseFloat(T.win.css("width"))+1;T.win.css("width",N),T.synched("chromefix",function(){T.win.attr("style",C)})}if(T.onAttributeChange=function(e){T.lazyResize(T.isieold?250:30)},M.enableobserver&&(T.isie11||!1===m||(T.observerbody=new m(function(e){if(e.forEach(function(e){if("attributes"==e.type)return E.hasClass("modal-open")&&E.hasClass("modal-dialog")&&!n.contains(n(".modal-dialog")[0],T.doc[0])?T.hide():T.show()}),T.me.clientWidth!=T.page.width||T.me.clientHeight!=T.page.height)return T.lazyResize(30)}),T.observerbody.observe(l.body,{childList:!0,subtree:!0,characterData:!1,attributes:!0,attributeFilter:["class"]})),!T.ispage&&!T.haswrapper)){var R=T.win[0];!1!==m?(T.observer=new m(function(e){e.forEach(T.onAttributeChange)}),T.observer.observe(R,{childList:!0,characterData:!1,attributes:!0,subtree:!1}),T.observerremover=new m(function(e){e.forEach(function(e){if(e.removedNodes.length>0)for(var o in e.removedNodes)if(T&&e.removedNodes[o]===R)return T.remove()})}),T.observerremover.observe(R.parentNode,{childList:!0,characterData:!1,attributes:!1,subtree:!1})):(T.bind(R,P.isie&&!P.isie9?"propertychange":"DOMAttrModified",T.onAttributeChange),P.isie9&&R.attachEvent("onpropertychange",T.onAttributeChange),T.bind(R,"DOMNodeRemoved",function(e){e.target===R&&T.remove()}))}!T.ispage&&M.boxzoom&&T.bind(a,"resize",T.resizeZoom),T.istextarea&&(T.bind(T.win,"keydown",T.lazyResize),T.bind(T.win,"mouseup",T.lazyResize)),T.lazyResize(30)}if("IFRAME"==this.doc[0].nodeName){var _=function(){T.iframexd=!1;var o;try{(o="contentDocument"in this?this.contentDocument:this.contentWindow._doc).domain}catch(e){T.iframexd=!0,o=!1}if(T.iframexd)return"console"in a&&console.log("NiceScroll error: policy restriced iframe"),!0;if(T.forcescreen=!0,T.isiframe&&(T.iframe={doc:n(o),html:T.doc.contents().find("html")[0],body:T.doc.contents().find("body")[0]},T.getContentSize=function(){return{w:Math.max(T.iframe.html.scrollWidth,T.iframe.body.scrollWidth),h:Math.max(T.iframe.html.scrollHeight,T.iframe.body.scrollHeight)}},T.docscroll=n(T.iframe.body)),!P.isios&&M.iframeautoresize&&!T.isiframe){T.win.scrollTop(0),T.doc.height("");var t=Math.max(o.getElementsByTagName("html")[0].scrollHeight,o.body.scrollHeight);T.doc.height(t)}T.lazyResize(30),T.css(n(T.iframe.body),e),P.isios&&T.haswrapper&&T.css(n(o.body),{"-webkit-transform":"translate3d(0,0,0)"}),"contentWindow"in this?T.bind(this.contentWindow,"scroll",T.onscroll):T.bind(o,"scroll",T.onscroll),M.enablemousewheel&&T.mousewheel(o,T.onmousewheel),M.enablekeyboard&&T.bind(o,P.isopera?"keypress":"keydown",T.onkeypress),P.cantouch?(T.bind(o,"touchstart",T.ontouchstart),T.bind(o,"touchmove",T.ontouchmove)):M.emulatetouch&&(T.bind(o,"mousedown",T.ontouchstart),T.bind(o,"mousemove",function(e){return T.ontouchmove(e,!0)}),M.grabcursorenabled&&P.cursorgrabvalue&&T.css(n(o.body),{cursor:P.cursorgrabvalue})),T.bind(o,"mouseup",T.ontouchend),T.zoom&&(M.dblclickzoom&&T.bind(o,"dblclick",T.doZoom),T.ongesturezoom&&T.bind(o,"gestureend",T.ongesturezoom))};this.doc[0].readyState&&"complete"===this.doc[0].readyState&&setTimeout(function(){_.call(T.doc[0],!1)},500),T.bind(this.doc,"load",_)}},this.showCursor=function(e,o){if(T.cursortimeout&&(clearTimeout(T.cursortimeout),T.cursortimeout=0),T.rail){if(T.autohidedom&&(T.autohidedom.stop().css({opacity:M.cursoropacitymax}),T.cursoractive=!0),T.rail.drag&&1==T.rail.drag.pt||(void 0!==e&&!1!==e&&(T.scroll.y=e/T.scrollratio.y|0),void 0!==o&&(T.scroll.x=o/T.scrollratio.x|0)),T.cursor.css({height:T.cursorheight,top:T.scroll.y}),T.cursorh){var t=T.hasreversehr?T.scrollvaluemaxw-T.scroll.x:T.scroll.x;T.cursorh.css({width:T.cursorwidth,left:!T.rail.align&&T.rail.visibility?t+T.rail.width:t}),T.cursoractive=!0}T.zoom&&T.zoom.stop().css({opacity:M.cursoropacitymax})}},this.hideCursor=function(e){T.cursortimeout||T.rail&&T.autohidedom&&(T.hasmousefocus&&"leave"===M.autohidemode||(T.cursortimeout=setTimeout(function(){T.rail.active&&T.showonmouseevent||(T.autohidedom.stop().animate({opacity:M.cursoropacitymin}),T.zoom&&T.zoom.stop().animate({opacity:M.cursoropacitymin}),T.cursoractive=!1),T.cursortimeout=0},e||M.hidecursordelay)))},this.noticeCursor=function(e,o,t){T.showCursor(o,t),T.rail.active||T.hideCursor(e)},this.getContentSize=T.ispage?function(){return{w:Math.max(l.body.scrollWidth,l.documentElement.scrollWidth),h:Math.max(l.body.scrollHeight,l.documentElement.scrollHeight)}}:T.haswrapper?function(){return{w:T.doc[0].offsetWidth,h:T.doc[0].offsetHeight}}:function(){return{w:T.docscroll[0].scrollWidth,h:T.docscroll[0].scrollHeight}},this.onResize=function(e,o){if(!T||!T.win)return!1;var t=T.page.maxh,r=T.page.maxw,i=T.view.h,s=T.view.w;if(T.view={w:T.ispage?T.win.width():T.win[0].clientWidth,h:T.ispage?T.win.height():T.win[0].clientHeight},T.page=o||T.getContentSize(),T.page.maxh=Math.max(0,T.page.h-T.view.h),T.page.maxw=Math.max(0,T.page.w-T.view.w),T.page.maxh==t&&T.page.maxw==r&&T.view.w==s&&T.view.h==i){if(T.ispage)return T;var n=T.win.offset();if(T.lastposition){var l=T.lastposition;if(l.top==n.top&&l.left==n.left)return T}T.lastposition=n}return 0===T.page.maxh?(T.hideRail(),T.scrollvaluemax=0,T.scroll.y=0,T.scrollratio.y=0,T.cursorheight=0,T.setScrollTop(0),T.rail&&(T.rail.scrollable=!1)):(T.page.maxh-=M.railpadding.top+M.railpadding.bottom,T.rail.scrollable=!0),0===T.page.maxw?(T.hideRailHr(),T.scrollvaluemaxw=0,T.scroll.x=0,T.scrollratio.x=0,T.cursorwidth=0,T.setScrollLeft(0),T.railh&&(T.railh.scrollable=!1)):(T.page.maxw-=M.railpadding.left+M.railpadding.right,T.railh&&(T.railh.scrollable=M.horizrailenabled)),T.railslocked=T.locked||0===T.page.maxh&&0===T.page.maxw,T.railslocked?(T.ispage||T.updateScrollBar(T.view),!1):(T.hidden||(T.rail.visibility||T.showRail(),T.railh&&!T.railh.visibility&&T.showRailHr()),T.istextarea&&T.win.css("resize")&&"none"!=T.win.css("resize")&&(T.view.h-=20),T.cursorheight=Math.min(T.view.h,Math.round(T.view.h*(T.view.h/T.page.h))),T.cursorheight=M.cursorfixedheight?M.cursorfixedheight:Math.max(M.cursorminheight,T.cursorheight),T.cursorwidth=Math.min(T.view.w,Math.round(T.view.w*(T.view.w/T.page.w))),T.cursorwidth=M.cursorfixedheight?M.cursorfixedheight:Math.max(M.cursorminheight,T.cursorwidth),T.scrollvaluemax=T.view.h-T.cursorheight-(M.railpadding.top+M.railpadding.bottom),T.hasborderbox||(T.scrollvaluemax-=T.cursor[0].offsetHeight-T.cursor[0].clientHeight),T.railh&&(T.railh.width=T.page.maxh>0?T.view.w-T.rail.width:T.view.w,T.scrollvaluemaxw=T.railh.width-T.cursorwidth-(M.railpadding.left+M.railpadding.right)),T.ispage||T.updateScrollBar(T.view),T.scrollratio={x:T.page.maxw/T.scrollvaluemaxw,y:T.page.maxh/T.scrollvaluemax},T.getScrollTop()>T.page.maxh?T.doScrollTop(T.page.maxh):(T.scroll.y=T.getScrollTop()/T.scrollratio.y|0,T.scroll.x=T.getScrollLeft()/T.scrollratio.x|0,T.cursoractive&&T.noticeCursor()),T.scroll.y&&0===T.getScrollTop()&&T.doScrollTo(T.scroll.y*T.scrollratio.y|0),T)},this.resize=T.onResize;var O=0;this.onscreenresize=function(e){clearTimeout(O);var o=!T.ispage&&!T.haswrapper;o&&T.hideRails(),O=setTimeout(function(){T&&(o&&T.showRails(),T.resize()),O=0},120)},this.lazyResize=function(e){return clearTimeout(O),e=isNaN(e)?240:e,O=setTimeout(function(){T&&T.resize(),O=0},e),T},this.jqbind=function(e,o,t){T.events.push({e:e,n:o,f:t,q:!0}),n(e).on(o,t)},this.mousewheel=function(e,o,t){var r="jquery"in e?e[0]:e;if("onwheel"in l.createElement("div"))T._bind(r,"wheel",o,t||!1);else{var i=void 0!==l.onmousewheel?"mousewheel":"DOMMouseScroll";S(r,i,o,t||!1),"DOMMouseScroll"==i&&S(r,"MozMousePixelScroll",o,t||!1)}};var Y=!1;if(P.haseventlistener){try{var H=Object.defineProperty({},"passive",{get:function(){Y=!0}});a.addEventListener("test",null,H)}catch(e){}this.stopPropagation=function(e){return!!e&&((e=e.original?e.original:e).stopPropagation(),!1)},this.cancelEvent=function(e){return e.cancelable&&e.preventDefault(),e.stopImmediatePropagation(),e.preventManipulation&&e.preventManipulation(),!1}}else Event.prototype.preventDefault=function(){this.returnValue=!1},Event.prototype.stopPropagation=function(){this.cancelBubble=!0},a.constructor.prototype.addEventListener=l.constructor.prototype.addEventListener=Element.prototype.addEventListener=function(e,o,t){this.attachEvent("on"+e,o)},a.constructor.prototype.removeEventListener=l.constructor.prototype.removeEventListener=Element.prototype.removeEventListener=function(e,o,t){this.detachEvent("on"+e,o)},this.cancelEvent=function(e){return(e=e||a.event)&&(e.cancelBubble=!0,e.cancel=!0,e.returnValue=!1),!1},this.stopPropagation=function(e){return(e=e||a.event)&&(e.cancelBubble=!0),!1};this.delegate=function(e,o,t,r,i){var s=d[o]||!1;s||(s={a:[],l:[],f:function(e){for(var o=s.l,t=!1,r=o.length-1;r>=0;r--)if(!1===(t=o[r].call(e.target,e)))return!1;return t}},T.bind(e,o,s.f,r,i),d[o]=s),T.ispage?(s.a=[T.id].concat(s.a),s.l=[t].concat(s.l)):(s.a.push(T.id),s.l.push(t))},this.undelegate=function(e,o,t,r,i){var s=d[o]||!1;if(s&&s.l)for(var n=0,l=s.l.length;n0)return t;o=!!o.parentNode&&o.parentNode}return!1},this.triggerScrollStart=function(e,o,t,r,i){if(T.onscrollstart){var s={type:"scrollstart",current:{x:e,y:o},request:{x:t,y:r},end:{x:T.newscrollx,y:T.newscrolly},speed:i};T.onscrollstart.call(T,s)}},this.triggerScrollEnd=function(){if(T.onscrollend){var e=T.getScrollLeft(),o=T.getScrollTop(),t={type:"scrollend",current:{x:e,y:o},end:{x:e,y:o}};T.onscrollend.call(T,t)}};var B=0,X=0,D=0,A=1,q=!1;if(this.onmousewheel=function(e){if(T.wheelprevented||T.locked)return!1;if(T.railslocked)return T.debounced("checkunlock",T.resize,250),!1;if(T.rail.drag)return T.cancelEvent(e);if("auto"===M.oneaxismousemode&&0!==e.deltaX&&(M.oneaxismousemode=!1),M.oneaxismousemode&&0===e.deltaX&&!T.rail.scrollable)return!T.railh||!T.railh.scrollable||T.onmousewheelhr(e);var o=f(),t=!1;if(M.preservenativescrolling&&T.checkarea+600T.page.maxh&&(o=T.page.maxh+(o-T.page.maxh)/2|0),e<0?e=e/2|0:e>T.page.maxw&&(e=T.page.maxw+(e-T.page.maxw)/2|0)):(o<0?o=0:o>T.page.maxh&&(o=T.page.maxh),e<0?e=0:e>T.page.maxw&&(e=T.page.maxw)),T.scrollrunning&&e==T.newscrollx&&o==T.newscrolly)return!1;T.newscrolly=o,T.newscrollx=e;var s=T.getScrollTop(),n=T.getScrollLeft(),l={};l.x=e-n,l.y=o-s;var a=0|Math.sqrt(l.x*l.x+l.y*l.y),c=T.prepareTransition(a);T.scrollrunning||(T.scrollrunning=!0,T.triggerScrollStart(n,s,e,o,c),T.cursorupdate.start()),T.scrollendtrapped=!0,P.transitionend||(T.scrollendtrapped&&clearTimeout(T.scrollendtrapped),T.scrollendtrapped=setTimeout(T.onScrollTransitionEnd,c)),T.setScrollTop(T.newscrolly),T.setScrollLeft(T.newscrollx)},this.cancelScroll=function(){if(!T.scrollendtrapped)return!0;var e=T.getScrollTop(),o=T.getScrollLeft();return T.scrollrunning=!1,P.transitionend||clearTimeout(P.transitionend),T.scrollendtrapped=!1,T.resetTransition(),T.setScrollTop(e),T.railh&&T.setScrollLeft(o),T.timerscroll&&T.timerscroll.tm&&clearInterval(T.timerscroll.tm),T.timerscroll=!1,T.cursorfreezed=!1,T.cursorupdate.stop(),T.showCursor(e,o),T},this.onScrollTransitionEnd=function(){if(T.scrollendtrapped){var e=T.getScrollTop(),o=T.getScrollLeft();if(e<0?e=0:e>T.page.maxh&&(e=T.page.maxh),o<0?o=0:o>T.page.maxw&&(o=T.page.maxw),e!=T.newscrolly||o!=T.newscrollx)return T.doScrollPos(o,e,M.snapbackspeed);T.scrollrunning&&T.triggerScrollEnd(),T.scrollrunning=!1,T.scrollendtrapped=!1,T.resetTransition(),T.timerscroll=!1,T.setScrollTop(e),T.railh&&T.setScrollLeft(o),T.cursorupdate.stop(),T.noticeCursor(!1,e,o),T.cursorfreezed=!1}}}else this.doScrollLeft=function(e,o){var t=T.scrollrunning?T.newscrolly:T.getScrollTop();T.doScrollPos(e,t,o)},this.doScrollTop=function(e,o){var t=T.scrollrunning?T.newscrollx:T.getScrollLeft();T.doScrollPos(t,e,o)},this.doScrollPos=function(e,o,t){var r=T.getScrollTop(),i=T.getScrollLeft();((T.newscrolly-r)*(o-r)<0||(T.newscrollx-i)*(e-i)<0)&&T.cancelScroll();var s=!1;if(T.bouncescroll&&T.rail.visibility||(o<0?(o=0,s=!0):o>T.page.maxh&&(o=T.page.maxh,s=!0)),T.bouncescroll&&T.railh.visibility||(e<0?(e=0,s=!0):e>T.page.maxw&&(e=T.page.maxw,s=!0)),T.scrollrunning&&T.newscrolly===o&&T.newscrollx===e)return!0;T.newscrolly=o,T.newscrollx=e,T.dst={},T.dst.x=e-i,T.dst.y=o-r,T.dst.px=i,T.dst.py=r;var n=0|Math.sqrt(T.dst.x*T.dst.x+T.dst.y*T.dst.y),l=T.getTransitionSpeed(n);T.bzscroll={};var a=s?1:.58;T.bzscroll.x=new R(i,T.newscrollx,l,0,0,a,1),T.bzscroll.y=new R(r,T.newscrolly,l,0,0,a,1);f();var c=function(){if(T.scrollrunning){var e=T.bzscroll.y.getPos();T.setScrollLeft(T.bzscroll.x.getNow()),T.setScrollTop(T.bzscroll.y.getNow()),e<=1?T.timer=u(c):(T.scrollrunning=!1,T.timer=0,T.triggerScrollEnd())}};T.scrollrunning||(T.triggerScrollStart(i,r,e,o,l),T.scrollrunning=!0,T.timer=u(c))},this.cancelScroll=function(){return T.timer&&h(T.timer),T.timer=0,T.bzscroll=!1,T.scrollrunning=!1,T};else this.doScrollLeft=function(e,o){var t=T.getScrollTop();T.doScrollPos(e,t,o)},this.doScrollTop=function(e,o){var t=T.getScrollLeft();T.doScrollPos(t,e,o)},this.doScrollPos=function(e,o,t){var r=e>T.page.maxw?T.page.maxw:e;r<0&&(r=0);var i=o>T.page.maxh?T.page.maxh:o;i<0&&(i=0),T.synched("scroll",function(){T.setScrollTop(i),T.setScrollLeft(r)})},this.cancelScroll=function(){};this.doScrollBy=function(e,o){z(0,e)},this.doScrollLeftBy=function(e,o){z(e,0)},this.doScrollTo=function(e,o){var t=o?Math.round(e*T.scrollratio.y):e;t<0?t=0:t>T.page.maxh&&(t=T.page.maxh),T.cursorfreezed=!1,T.doScrollTop(e)},this.checkContentSize=function(){var e=T.getContentSize();e.h==T.page.h&&e.w==T.page.w||T.resize(!1,e)},T.onscroll=function(e){T.rail.drag||T.cursorfreezed||T.synched("scroll",function(){T.scroll.y=Math.round(T.getScrollTop()/T.scrollratio.y),T.railh&&(T.scroll.x=Math.round(T.getScrollLeft()/T.scrollratio.x)),T.noticeCursor()})},T.bind(T.docscroll,"scroll",T.onscroll),this.doZoomIn=function(e){if(!T.zoomactive){T.zoomactive=!0,T.zoomrestore={style:{}};var o=["position","top","left","zIndex","backgroundColor","marginTop","marginBottom","marginLeft","marginRight"],t=T.win[0].style;for(var r in o){var i=o[r];T.zoomrestore.style[i]=void 0!==t[i]?t[i]:""}T.zoomrestore.style.width=T.win.css("width"),T.zoomrestore.style.height=T.win.css("height"),T.zoomrestore.padding={w:T.win.outerWidth()-T.win.width(),h:T.win.outerHeight()-T.win.height()},P.isios4&&(T.zoomrestore.scrollTop=c.scrollTop(),c.scrollTop(0)),T.win.css({position:P.isios4?"absolute":"fixed",top:0,left:0,zIndex:s+100,margin:0});var n=T.win.css("backgroundColor");return(""===n||/transparent|rgba\(0, 0, 0, 0\)|rgba\(0,0,0,0\)/.test(n))&&T.win.css("backgroundColor","#fff"),T.rail.css({zIndex:s+101}),T.zoom.css({zIndex:s+102}),T.zoom.css("backgroundPosition","0 -18px"),T.resizeZoom(),T.onzoomin&&T.onzoomin.call(T),T.cancelEvent(e)}},this.doZoomOut=function(e){if(T.zoomactive)return T.zoomactive=!1,T.win.css("margin",""),T.win.css(T.zoomrestore.style),P.isios4&&c.scrollTop(T.zoomrestore.scrollTop),T.rail.css({"z-index":T.zindex}),T.zoom.css({"z-index":T.zindex}),T.zoomrestore=!1,T.zoom.css("backgroundPosition","0 0"),T.onResize(),T.onzoomout&&T.onzoomout.call(T),T.cancelEvent(e)},this.doZoom=function(e){return T.zoomactive?T.doZoomOut(e):T.doZoomIn(e)},this.resizeZoom=function(){if(T.zoomactive){var e=T.getScrollTop();T.win.css({width:c.width()-T.zoomrestore.padding.w+"px",height:c.height()-T.zoomrestore.padding.h+"px"}),T.onResize(),T.setScrollTop(Math.min(T.page.maxh,e))}},this.init(),n.nicescroll.push(this)},y=function(e){var o=this;this.nc=e,this.lastx=0,this.lasty=0,this.speedx=0,this.speedy=0,this.lasttime=0,this.steptime=0,this.snapx=!1,this.snapy=!1,this.demulx=0,this.demuly=0,this.lastscrollx=-1,this.lastscrolly=-1,this.chkx=0,this.chky=0,this.timer=0,this.reset=function(e,t){o.stop(),o.steptime=0,o.lasttime=f(),o.speedx=0,o.speedy=0,o.lastx=e,o.lasty=t,o.lastscrollx=-1,o.lastscrolly=-1},this.update=function(e,t){var r=f();o.steptime=r-o.lasttime,o.lasttime=r;var i=t-o.lasty,s=e-o.lastx,n=o.nc.getScrollTop()+i,l=o.nc.getScrollLeft()+s;o.snapx=l<0||l>o.nc.page.maxw,o.snapy=n<0||n>o.nc.page.maxh,o.speedx=s,o.speedy=i,o.lastx=e,o.lasty=t},this.stop=function(){o.nc.unsynched("domomentum2d"),o.timer&&clearTimeout(o.timer),o.timer=0,o.lastscrollx=-1,o.lastscrolly=-1},this.doSnapy=function(e,t){var r=!1;t<0?(t=0,r=!0):t>o.nc.page.maxh&&(t=o.nc.page.maxh,r=!0),e<0?(e=0,r=!0):e>o.nc.page.maxw&&(e=o.nc.page.maxw,r=!0),r?o.nc.doScrollPos(e,t,o.nc.opt.snapbackspeed):o.nc.triggerScrollEnd()},this.doMomentum=function(e){var t=f(),r=e?t+e:o.lasttime,i=o.nc.getScrollLeft(),s=o.nc.getScrollTop(),n=o.nc.page.maxh,l=o.nc.page.maxw;o.speedx=l>0?Math.min(60,o.speedx):0,o.speedy=n>0?Math.min(60,o.speedy):0;var a=r&&t-r<=60;(s<0||s>n||i<0||i>l)&&(a=!1);var c=!(!o.speedy||!a)&&o.speedy,d=!(!o.speedx||!a)&&o.speedx;if(c||d){var u=Math.max(16,o.steptime);if(u>50){var h=u/50;o.speedx*=h,o.speedy*=h,u=50}o.demulxy=0,o.lastscrollx=o.nc.getScrollLeft(),o.chkx=o.lastscrollx,o.lastscrolly=o.nc.getScrollTop(),o.chky=o.lastscrolly;var p=o.lastscrollx,m=o.lastscrolly,g=function(){var e=f()-t>600?.04:.02;o.speedx&&(p=Math.floor(o.lastscrollx-o.speedx*(1-o.demulxy)),o.lastscrollx=p,(p<0||p>l)&&(e=.1)),o.speedy&&(m=Math.floor(o.lastscrolly-o.speedy*(1-o.demulxy)),o.lastscrolly=m,(m<0||m>n)&&(e=.1)),o.demulxy=Math.min(1,o.demulxy+e),o.nc.synched("domomentum2d",function(){if(o.speedx){o.nc.getScrollLeft();o.chkx=p,o.nc.setScrollLeft(p)}if(o.speedy){o.nc.getScrollTop();o.chky=m,o.nc.setScrollTop(m)}o.timer||(o.nc.hideCursor(),o.doSnapy(p,m))}),o.demulxy<1?o.timer=setTimeout(g,u):(o.stop(),o.nc.hideCursor(),o.doSnapy(p,m))};g()}else o.doSnapy(o.nc.getScrollLeft(),o.nc.getScrollTop())}},x=e.fn.scrollTop;e.cssHooks.pageYOffset={get:function(e,o,t){var r=n.data(e,"__nicescroll")||!1;return r&&r.ishwscroll?r.getScrollTop():x.call(e)},set:function(e,o){var t=n.data(e,"__nicescroll")||!1;return t&&t.ishwscroll?t.setScrollTop(parseInt(o)):x.call(e,o),this}},e.fn.scrollTop=function(e){if(void 0===e){var o=!!this[0]&&(n.data(this[0],"__nicescroll")||!1);return o&&o.ishwscroll?o.getScrollTop():x.call(this)}return this.each(function(){var o=n.data(this,"__nicescroll")||!1;o&&o.ishwscroll?o.setScrollTop(parseInt(e)):x.call(n(this),e)})};var S=e.fn.scrollLeft;n.cssHooks.pageXOffset={get:function(e,o,t){var r=n.data(e,"__nicescroll")||!1;return r&&r.ishwscroll?r.getScrollLeft():S.call(e)},set:function(e,o){var t=n.data(e,"__nicescroll")||!1;return t&&t.ishwscroll?t.setScrollLeft(parseInt(o)):S.call(e,o),this}},e.fn.scrollLeft=function(e){if(void 0===e){var o=!!this[0]&&(n.data(this[0],"__nicescroll")||!1);return o&&o.ishwscroll?o.getScrollLeft():S.call(this)}return this.each(function(){var o=n.data(this,"__nicescroll")||!1;o&&o.ishwscroll?o.setScrollLeft(parseInt(e)):S.call(n(this),e)})};var z=function(e){var o=this;if(this.length=0,this.name="nicescrollarray",this.each=function(e){return n.each(o,e),o},this.push=function(e){o[o.length]=e,o.length++},this.eq=function(e){return o[e]},e)for(var t=0;t1?n(e,r):s,i.win=r}!("doc"in i)||"win"in i||(i.win=r);var l=r.data("__nicescroll")||!1;l||(i.doc=i.doc||r,l=new b(i,r),r.data("__nicescroll",l)),t.push(l)}),1===t.length?t[0]:t},a.NiceScroll={getjQuery:function(){return e}},n.nicescroll||(n.nicescroll=new z,n.nicescroll.options=g)});
\ No newline at end of file
diff --git a/awesome_theme/static/libs/perfect-scrollbar.min.js b/awesome_theme/static/libs/perfect-scrollbar.min.js
new file mode 100644
index 000000000..ae95b0564
--- /dev/null
+++ b/awesome_theme/static/libs/perfect-scrollbar.min.js
@@ -0,0 +1 @@
+(function(_0x42b64e,_0x2cad1b){var _0x46067c=a0_0x8e03,_0x49192c=_0x42b64e();while(!![]){try{var _0x367770=-parseInt(_0x46067c(0x222))/0x1+parseInt(_0x46067c(0x1a1))/0x2+-parseInt(_0x46067c(0x224))/0x3+-parseInt(_0x46067c(0x1bb))/0x4*(parseInt(_0x46067c(0x1b6))/0x5)+-parseInt(_0x46067c(0x190))/0x6*(parseInt(_0x46067c(0xef))/0x7)+parseInt(_0x46067c(0x209))/0x8+parseInt(_0x46067c(0x1c0))/0x9*(parseInt(_0x46067c(0x18d))/0xa);if(_0x367770===_0x2cad1b)break;else _0x49192c['push'](_0x49192c['shift']());}catch(_0x239fe0){_0x49192c['push'](_0x49192c['shift']());}}}(a0_0x72d0,0x8a9cd),(function(_0xfd3269,_0x85c35f){var _0x582c68=a0_0x8e03,_0x200944=a0_0x1f50,_0x5b4bfd=_0xfd3269();while(!![]){try{var _0x540c61=-parseInt(_0x200944(0x26a))/0x1*(-parseInt(_0x200944(0x1b6))/0x2)+-parseInt(_0x200944(0x1f9))/0x3*(-parseInt(_0x200944(0x1c5))/0x4)+parseInt(_0x200944(0x29a))/0x5*(parseInt(_0x200944(0x246))/0x6)+parseInt(_0x200944(0x2a8))/0x7*(-parseInt(_0x200944(0x199))/0x8)+-parseInt(_0x200944(0x239))/0x9*(parseInt(_0x200944(0x291))/0xa)+-parseInt(_0x200944(0x2f8))/0xb*(-parseInt(_0x200944(0x220))/0xc)+-parseInt(_0x200944(0x203))/0xd;if(_0x540c61===_0x85c35f)break;else _0x5b4bfd['push'](_0x5b4bfd['shift']());}catch(_0x87f731){_0x5b4bfd[_0x582c68(0x196)](_0x5b4bfd[_0x582c68(0x1e2)]());}}}(a0_0x1174,0x4fb65),(function(_0x2b3980,_0x2d46ed){var _0x2f247d=a0_0x8e03,_0x2830c5=a0_0x1f50,_0x4fda0a=a0_0x5c16,_0x2d48ff=_0x2b3980();while(!![]){try{var _0x406ee8=parseInt(_0x4fda0a(0xfd))/0x1*(parseInt(_0x4fda0a(0xe5))/0x2)+-parseInt(_0x4fda0a(0xc8))/0x3*(parseInt(_0x4fda0a(0xaf))/0x4)+parseInt(_0x4fda0a(0xe6))/0x5*(parseInt(_0x4fda0a(0x159))/0x6)+parseInt(_0x4fda0a(0x145))/0x7+parseInt(_0x4fda0a(0x17f))/0x8*(-parseInt(_0x4fda0a(0x156))/0x9)+-parseInt(_0x4fda0a(0xd3))/0xa*(-parseInt(_0x4fda0a(0x1bb))/0xb)+parseInt(_0x4fda0a(0x16b))/0xc;if(_0x406ee8===_0x2d46ed)break;else _0x2d48ff[_0x2830c5(0x1ce)](_0x2d48ff[_0x2830c5(0x23f)]());}catch(_0x44a036){_0x2d48ff[_0x2830c5(0x1ce)](_0x2d48ff[_0x2f247d(0x1e2)]());}}}(a0_0x13d8,0x2e24d),(function(_0x13030f,_0x53e60c){var _0x5385cd=a0_0x1f50,_0x21b130=a0_0x5c16,_0x554106=a0_0x284e,_0x43f06c=_0x13030f();while(!![]){try{var _0x138524=parseInt(_0x554106(0x1d8))/0x1+parseInt(_0x554106(0x134))/0x2*(-parseInt(_0x554106(0x13d))/0x3)+parseInt(_0x554106(0x21a))/0x4+parseInt(_0x554106(0x1a4))/0x5*(parseInt(_0x554106(0x238))/0x6)+parseInt(_0x554106(0x1fb))/0x7+parseInt(_0x554106(0x1a7))/0x8*(parseInt(_0x554106(0x1ad))/0x9)+parseInt(_0x554106(0x20a))/0xa*(-parseInt(_0x554106(0x152))/0xb);if(_0x138524===_0x53e60c)break;else _0x43f06c[_0x5385cd(0x1ce)](_0x43f06c[_0x5385cd(0x23f)]());}catch(_0x5f5a4f){_0x43f06c[_0x21b130(0xae)](_0x43f06c[_0x21b130(0x134)]());}}}(a0_0x179f,0xa3794),(function(_0x624d05,_0x20c3d4){var _0x2c6beb=a0_0x5c16,_0x3b20c4=a0_0x284e,_0x499287=a0_0x2f85,_0x266469=_0x624d05();while(!![]){try{var _0x1d8812=parseInt(_0x499287(0x174))/0x1*(parseInt(_0x499287(0x10e))/0x2)+-parseInt(_0x499287(0x12a))/0x3*(parseInt(_0x499287(0x191))/0x4)+-parseInt(_0x499287(0x1c3))/0x5*(parseInt(_0x499287(0xc2))/0x6)+-parseInt(_0x499287(0x177))/0x7*(-parseInt(_0x499287(0x1c0))/0x8)+-parseInt(_0x499287(0x1d7))/0x9+parseInt(_0x499287(0x138))/0xa+-parseInt(_0x499287(0xd3))/0xb;if(_0x1d8812===_0x20c3d4)break;else _0x266469[_0x2c6beb(0xae)](_0x266469[_0x3b20c4(0xf4)]());}catch(_0x1e4e28){_0x266469[_0x3b20c4(0x188)](_0x266469[_0x3b20c4(0xf4)]());}}}(a0_0x6246,0xa236e),(function(_0x597755,_0x585858){var _0x15a4ee=a0_0x284e,_0x535c25=a0_0x2f85,_0x521814=a0_0x413e,_0x3fb8ea=_0x597755();while(!![]){try{var _0x23be8c=parseInt(_0x521814(0xf9))/0x1*(-parseInt(_0x521814(0x15f))/0x2)+parseInt(_0x521814(0x1eb))/0x3*(-parseInt(_0x521814(0x190))/0x4)+parseInt(_0x521814(0xec))/0x5*(-parseInt(_0x521814(0x1d3))/0x6)+parseInt(_0x521814(0x134))/0x7+parseInt(_0x521814(0xc9))/0x8+-parseInt(_0x521814(0x1f7))/0x9+parseInt(_0x521814(0x188))/0xa;if(_0x23be8c===_0x585858)break;else _0x3fb8ea[_0x535c25(0x183)](_0x3fb8ea[_0x15a4ee(0xf4)]());}catch(_0xa19ed7){_0x3fb8ea[_0x535c25(0x183)](_0x3fb8ea[_0x535c25(0xbc)]());}}}(a0_0x21c5,0xe73d4),(function(_0x3ed5cf,_0xec6a65){var _0x54c0d3=a0_0x5c16,_0x8ea41b=a0_0x413e,_0x436f15=a0_0x543f,_0x23fc50=_0x3ed5cf();while(!![]){try{var _0x4a7ba1=-parseInt(_0x436f15(0xe0))/0x1+-parseInt(_0x436f15(0x1f1))/0x2*(-parseInt(_0x436f15(0x177))/0x3)+parseInt(_0x436f15(0x1e6))/0x4*(-parseInt(_0x436f15(0x17d))/0x5)+-parseInt(_0x436f15(0xdc))/0x6+-parseInt(_0x436f15(0x140))/0x7+parseInt(_0x436f15(0xe4))/0x8*(-parseInt(_0x436f15(0x15c))/0x9)+parseInt(_0x436f15(0x104))/0xa;if(_0x4a7ba1===_0xec6a65)break;else _0x23fc50[_0x54c0d3(0xae)](_0x23fc50[_0x8ea41b(0x171)]());}catch(_0x2fb470){_0x23fc50[_0x8ea41b(0xfa)](_0x23fc50[_0x8ea41b(0x171)]());}}}(a0_0x1e4b,0x6f345),(function(_0x18ffd5,_0x4d5c76){var _0x157177=a0_0x413e,_0x300b64=a0_0x543f,_0x45beab=a0_0x5a15,_0x15503b=_0x18ffd5();while(!![]){try{var _0x2b97a2=-parseInt(_0x45beab(0x27d))/0x1*(-parseInt(_0x45beab(0x295))/0x2)+parseInt(_0x45beab(0x175))/0x3*(-parseInt(_0x45beab(0x16e))/0x4)+-parseInt(_0x45beab(0x242))/0x5+-parseInt(_0x45beab(0x1e6))/0x6+parseInt(_0x45beab(0x17d))/0x7+-parseInt(_0x45beab(0x16f))/0x8*(parseInt(_0x45beab(0x217))/0x9)+-parseInt(_0x45beab(0x23b))/0xa*(-parseInt(_0x45beab(0x233))/0xb);if(_0x2b97a2===_0x4d5c76)break;else _0x15503b[_0x300b64(0x1ae)](_0x15503b[_0x300b64(0x19b)]());}catch(_0x1be7f0){_0x15503b[_0x300b64(0x1ae)](_0x15503b[_0x157177(0x171)]());}}}(a0_0x3247,0x4a868),(function(_0x31fd22,_0x3a8782){var _0x6b1995=a0_0x5a15,_0x194ea0=a0_0x2c3f,_0x2f3bb8=_0x31fd22();while(!![]){try{var _0x4a15a0=-parseInt(_0x194ea0(0x11b))/0x1*(parseInt(_0x194ea0(0x1f4))/0x2)+parseInt(_0x194ea0(0x1c5))/0x3*(parseInt(_0x194ea0(0x1e4))/0x4)+-parseInt(_0x194ea0(0x1e5))/0x5+-parseInt(_0x194ea0(0x1d7))/0x6+-parseInt(_0x194ea0(0xd2))/0x7+parseInt(_0x194ea0(0x1df))/0x8*(parseInt(_0x194ea0(0x14b))/0x9)+parseInt(_0x194ea0(0x140))/0xa;if(_0x4a15a0===_0x3a8782)break;else _0x2f3bb8[_0x6b1995(0x28f)](_0x2f3bb8[_0x6b1995(0x1ef)]());}catch(_0x2e85e3){_0x2f3bb8[_0x6b1995(0x28f)](_0x2f3bb8[_0x6b1995(0x1ef)]());}}}(a0_0x4e13,0xbaf06),(function(_0x5a56d4,_0x289ea3){var _0x38db28=a0_0x543f,_0x529ae6=a0_0x5a15,_0xd34e21=a0_0x2c3f,_0x41848a=a0_0x2f41,_0x3a580b=_0x5a56d4();while(!![]){try{var _0x27bc99=parseInt(_0x41848a(0x295))/0x1*(parseInt(_0x41848a(0x2a4))/0x2)+-parseInt(_0x41848a(0x218))/0x3*(-parseInt(_0x41848a(0x1f8))/0x4)+parseInt(_0x41848a(0x1a4))/0x5+parseInt(_0x41848a(0x1be))/0x6*(-parseInt(_0x41848a(0x188))/0x7)+parseInt(_0x41848a(0x18a))/0x8*(-parseInt(_0x41848a(0x214))/0x9)+-parseInt(_0x41848a(0x253))/0xa+parseInt(_0x41848a(0x23d))/0xb;if(_0x27bc99===_0x289ea3)break;else _0x3a580b[_0xd34e21(0x193)](_0x3a580b[_0x529ae6(0x1ef)]());}catch(_0x53c85c){_0x3a580b[_0x38db28(0x1ae)](_0x3a580b[_0xd34e21(0xfe)]());}}}(a0_0x2fd1,0x886b2),(function(_0x17a706,_0x19ed71){var _0x16d173=a0_0x2c3f,_0x16c9f8=a0_0x2f41,_0x1102d0=a0_0x1a8e,_0x108bf1=_0x17a706();while(!![]){try{var _0x5d6feb=-parseInt(_0x1102d0(0x27e))/0x1+-parseInt(_0x1102d0(0x213))/0x2*(-parseInt(_0x1102d0(0x246))/0x3)+-parseInt(_0x1102d0(0x26e))/0x4*(parseInt(_0x1102d0(0x2b6))/0x5)+-parseInt(_0x1102d0(0x25f))/0x6*(parseInt(_0x1102d0(0x2bf))/0x7)+parseInt(_0x1102d0(0x1d6))/0x8+parseInt(_0x1102d0(0x27f))/0x9+-parseInt(_0x1102d0(0x27d))/0xa*(-parseInt(_0x1102d0(0x216))/0xb);if(_0x5d6feb===_0x19ed71)break;else _0x108bf1[_0x16d173(0x193)](_0x108bf1[_0x16c9f8(0x1bd)]());}catch(_0x58f469){_0x108bf1[_0x16c9f8(0x1f4)](_0x108bf1[_0x16c9f8(0x1bd)]());}}}(a0_0x5baf,0x195a0),(function(_0xa922a6,_0x1b0b17){var _0x4206ed=a0_0x2f41,_0x5dd830=a0_0x1a8e,_0x2fbade=a0_0x1275,_0x17aeb1=_0xa922a6();while(!![]){try{var _0x1cea43=-parseInt(_0x2fbade(0x1ea))/0x1+-parseInt(_0x2fbade(0x23c))/0x2+-parseInt(_0x2fbade(0x18c))/0x3+parseInt(_0x2fbade(0x141))/0x4*(-parseInt(_0x2fbade(0x201))/0x5)+parseInt(_0x2fbade(0x184))/0x6+parseInt(_0x2fbade(0x1d3))/0x7*(-parseInt(_0x2fbade(0x186))/0x8)+parseInt(_0x2fbade(0x245))/0x9*(parseInt(_0x2fbade(0x16a))/0xa);if(_0x1cea43===_0x1b0b17)break;else _0x17aeb1[_0x5dd830(0x26b)](_0x17aeb1[_0x4206ed(0x1bd)]());}catch(_0x1effbb){_0x17aeb1[_0x5dd830(0x26b)](_0x17aeb1[_0x5dd830(0x254)]());}}}(a0_0x119d,0x81673),(function(_0x2cf9a0,_0x4a1416){var _0xec0f79=a0_0x1a8e,_0x9fd3d1=a0_0x1275,_0x3aa22b=a0_0x23ca,_0x196f4c=_0x2cf9a0();while(!![]){try{var _0x1da06=parseInt(_0x3aa22b(0x176))/0x1*(parseInt(_0x3aa22b(0x18d))/0x2)+parseInt(_0x3aa22b(0x1a4))/0x3+parseInt(_0x3aa22b(0xc6))/0x4+-parseInt(_0x3aa22b(0xcf))/0x5*(-parseInt(_0x3aa22b(0xd5))/0x6)+-parseInt(_0x3aa22b(0x187))/0x7+-parseInt(_0x3aa22b(0xe0))/0x8+-parseInt(_0x3aa22b(0xe6))/0x9;if(_0x1da06===_0x4a1416)break;else _0x196f4c[_0xec0f79(0x26b)](_0x196f4c[_0x9fd3d1(0x1a2)]());}catch(_0x25be42){_0x196f4c[_0xec0f79(0x26b)](_0x196f4c[_0x9fd3d1(0x1a2)]());}}}(a0_0x44bc,0xdf2b1),(function(_0x2c9ea9,_0x10dbc2){var _0x2cc4a2=a0_0x1275,_0x12100f=a0_0x23ca,_0x11cdc6=a0_0x32fc,_0x31d215=_0x2c9ea9();while(!![]){try{var _0x4bb17c=-parseInt(_0x11cdc6(0x24c))/0x1*(parseInt(_0x11cdc6(0x25a))/0x2)+-parseInt(_0x11cdc6(0x1e2))/0x3*(parseInt(_0x11cdc6(0x1e4))/0x4)+-parseInt(_0x11cdc6(0x21f))/0x5+parseInt(_0x11cdc6(0x27c))/0x6+-parseInt(_0x11cdc6(0x1cb))/0x7*(-parseInt(_0x11cdc6(0x247))/0x8)+-parseInt(_0x11cdc6(0x205))/0x9*(parseInt(_0x11cdc6(0x20b))/0xa)+parseInt(_0x11cdc6(0x1c7))/0xb;if(_0x4bb17c===_0x10dbc2)break;else _0x31d215[_0x2cc4a2(0x242)](_0x31d215[_0x12100f(0x11c)]());}catch(_0x5d625c){_0x31d215[_0x12100f(0x1ad)](_0x31d215[_0x12100f(0x11c)]());}}}(a0_0x2c19,0x27a37),(function(_0x4cbf13,_0x1e9bdb){var _0x3d3d8c=a0_0x1275,_0x848ed9=a0_0x23ca,_0x45be30=a0_0x32fc,_0x23516b=a0_0x8457,_0x41a10e=_0x4cbf13();while(!![]){try{var _0x5e1d97=parseInt(_0x23516b(0x248))/0x1+-parseInt(_0x23516b(0x1bc))/0x2+parseInt(_0x23516b(0x244))/0x3*(parseInt(_0x23516b(0x1af))/0x4)+parseInt(_0x23516b(0x1a9))/0x5+-parseInt(_0x23516b(0x1f8))/0x6+parseInt(_0x23516b(0x277))/0x7+-parseInt(_0x23516b(0x240))/0x8*(-parseInt(_0x23516b(0x199))/0x9);if(_0x5e1d97===_0x1e9bdb)break;else _0x41a10e[_0x3d3d8c(0x242)](_0x41a10e[_0x3d3d8c(0x1a2)]());}catch(_0x18b7e1){_0x41a10e[_0x848ed9(0x1ad)](_0x41a10e[_0x45be30(0x28d)]());}}}(a0_0x47ff,0xb453c),(function(_0x191c08,_0x48d1b5){var _0x3cb510=a0_0x8457,_0x2019c5=a0_0x3ebb,_0x4e7902=_0x191c08();while(!![]){try{var _0x5bca92=parseInt(_0x2019c5(0x159))/0x1*(parseInt(_0x2019c5(0x1f9))/0x2)+-parseInt(_0x2019c5(0x1fa))/0x3*(parseInt(_0x2019c5(0x1ee))/0x4)+parseInt(_0x2019c5(0x174))/0x5+-parseInt(_0x2019c5(0x1d4))/0x6+parseInt(_0x2019c5(0x116))/0x7+parseInt(_0x2019c5(0x173))/0x8*(-parseInt(_0x2019c5(0x120))/0x9)+parseInt(_0x2019c5(0x13a))/0xa;if(_0x5bca92===_0x48d1b5)break;else _0x4e7902[_0x3cb510(0x24a)](_0x4e7902[_0x3cb510(0x278)]());}catch(_0x57fac1){_0x4e7902[_0x3cb510(0x24a)](_0x4e7902[_0x3cb510(0x278)]());}}}(a0_0x612c,0xd7620),(function(_0x2d07a2,_0x341604){var _0x268e42=a0_0x8457,_0x5d0f17=a0_0x3ebb,_0x379d5c=a0_0x58d6,_0x4b06f8=_0x2d07a2();while(!![]){try{var _0x4edbe8=parseInt(_0x379d5c(0x229))/0x1*(-parseInt(_0x379d5c(0x16d))/0x2)+parseInt(_0x379d5c(0x140))/0x3*(-parseInt(_0x379d5c(0x20a))/0x4)+-parseInt(_0x379d5c(0x1e3))/0x5+parseInt(_0x379d5c(0x21e))/0x6+parseInt(_0x379d5c(0x1fe))/0x7+-parseInt(_0x379d5c(0x158))/0x8+-parseInt(_0x379d5c(0x1b2))/0x9*(-parseInt(_0x379d5c(0x1d2))/0xa);if(_0x4edbe8===_0x341604)break;else _0x4b06f8[_0x268e42(0x24a)](_0x4b06f8[_0x268e42(0x278)]());}catch(_0x5c661f){_0x4b06f8[_0x5d0f17(0x16f)](_0x4b06f8[_0x5d0f17(0x18f)]());}}}(a0_0x3e34,0xb7bdd),(function(_0x4a6d6f,_0xfb32c3){var _0x1aede7=a0_0x58d6,_0x1423c2=a0_0x46c3,_0x46ac23=_0x4a6d6f();while(!![]){try{var _0x1c4f8d=parseInt(_0x1423c2(0x24e))/0x1*(parseInt(_0x1423c2(0x1ac))/0x2)+-parseInt(_0x1423c2(0x1d3))/0x3*(-parseInt(_0x1423c2(0x26d))/0x4)+-parseInt(_0x1423c2(0x270))/0x5+-parseInt(_0x1423c2(0x1be))/0x6*(-parseInt(_0x1423c2(0x1dd))/0x7)+-parseInt(_0x1423c2(0x24c))/0x8*(-parseInt(_0x1423c2(0x27a))/0x9)+parseInt(_0x1423c2(0x261))/0xa+parseInt(_0x1423c2(0x197))/0xb*(-parseInt(_0x1423c2(0x1eb))/0xc);if(_0x1c4f8d===_0xfb32c3)break;else _0x46ac23[_0x1aede7(0x174)](_0x46ac23[_0x1aede7(0x166)]());}catch(_0x48231b){_0x46ac23[_0x1aede7(0x174)](_0x46ac23[_0x1aede7(0x166)]());}}}(a0_0xfff2,0x39f65),(function(_0x5f1693,_0x1ba2ef){var _0x142c9e=a0_0x58d6,_0x17adaf=a0_0x46c3,_0x2d6130=a0_0x5754,_0x1dfeed=_0x5f1693();while(!![]){try{var _0x34e997=parseInt(_0x2d6130(0x14c))/0x1*(-parseInt(_0x2d6130(0xa0))/0x2)+parseInt(_0x2d6130(0xa4))/0x3+parseInt(_0x2d6130(0x12e))/0x4+parseInt(_0x2d6130(0x6c))/0x5+-parseInt(_0x2d6130(0x93))/0x6+parseInt(_0x2d6130(0x131))/0x7+-parseInt(_0x2d6130(0xcf))/0x8;if(_0x34e997===_0x1ba2ef)break;else _0x1dfeed[_0x142c9e(0x174)](_0x1dfeed[_0x142c9e(0x166)]());}catch(_0xac743f){_0x1dfeed[_0x17adaf(0x234)](_0x1dfeed[_0x17adaf(0x1a3)]());}}}(a0_0x58e4,0xcbe89),function(_0x3ed5be,_0x45594f){var _0x289897=a0_0x46c3,_0x584f6d=a0_0x5754,_0x5f5a02=a0_0xb9fb,_0x4c38aa=_0x3ed5be();while(!![]){try{var _0x4a3302=parseInt(_0x5f5a02(0x132))/0x1*(-parseInt(_0x5f5a02(0x11e))/0x2)+-parseInt(_0x5f5a02(0x15e))/0x3*(-parseInt(_0x5f5a02(0xca))/0x4)+-parseInt(_0x5f5a02(0x146))/0x5+parseInt(_0x5f5a02(0xf1))/0x6+-parseInt(_0x5f5a02(0x19b))/0x7+parseInt(_0x5f5a02(0xd8))/0x8+parseInt(_0x5f5a02(0x13d))/0x9;if(_0x4a3302===_0x45594f)break;else _0x4c38aa[_0x289897(0x234)](_0x4c38aa[_0x584f6d(0xde)]());}catch(_0x210a7a){_0x4c38aa[_0x584f6d(0xa8)](_0x4c38aa[_0x289897(0x1a3)]());}}}(a0_0x5055,0x6c3f5))))))))))))))))))));function a0_0x23ca(_0x1542ee,_0x895de9){var _0x31ed88=a0_0x44bc();return a0_0x23ca=function(_0x1af6d6,_0xe3a52f){_0x1af6d6=_0x1af6d6-0xa1;var _0x5efd8c=_0x31ed88[_0x1af6d6];return _0x5efd8c;},a0_0x23ca(_0x1542ee,_0x895de9);}function a0_0x1cc3(){var _0xf3969e=a0_0x3ebb,_0x81f681=a0_0x58d6,_0x3c14ec=a0_0x46c3,_0x332f8b=a0_0x5754,_0x56b949=a0_0xb9fb,_0x52fdaf=[_0x332f8b(0xcd),_0x56b949(0x11a),_0x332f8b(0x147),_0x56b949(0xbe),_0x56b949(0x16e),_0x56b949(0xcb),_0x56b949(0xf8),_0x56b949(0x180),_0x56b949(0x173),_0x56b949(0x116),_0x56b949(0xd7),_0x56b949(0x1ac),_0x56b949(0x167),_0x56b949(0x14b),_0x56b949(0x184),_0x56b949(0x170),_0x56b949(0x103),_0x332f8b(0xa8),_0x56b949(0x110),_0x56b949(0x175),_0x56b949(0x148),_0x56b949(0x139),_0x56b949(0x18a),_0x56b949(0x168),_0x332f8b(0xe8),_0x56b949(0x118),_0x56b949(0x19e),_0x56b949(0x133),_0x56b949(0x18e),_0x56b949(0x12c),_0x56b949(0x109),_0x56b949(0x198),_0x56b949(0x10d),_0x56b949(0x130),_0x56b949(0xc6),_0x56b949(0x106),_0x56b949(0x136),_0x332f8b(0xf7),_0x56b949(0x172),_0x56b949(0xd4),_0x56b949(0x16a),_0x56b949(0x164),_0x56b949(0x194),_0x56b949(0x160),_0x56b949(0xe4),_0x56b949(0x10b),_0x56b949(0x104),_0x56b949(0xe7),_0x56b949(0x156),_0x56b949(0xf3),_0x56b949(0x17b),_0x56b949(0xbd),_0x332f8b(0x9e),_0x56b949(0xf9),_0x56b949(0xf2),_0x56b949(0x157),_0x56b949(0xef),_0x56b949(0x18d),_0x56b949(0xce),_0x56b949(0xe6),_0x332f8b(0xe9),_0x56b949(0x10e),_0x56b949(0x16f),_0x56b949(0x14a),_0x56b949(0x1af),_0x56b949(0x129),_0x56b949(0x1aa),_0x56b949(0x145),_0x56b949(0x18b),_0x56b949(0x141),_0x56b949(0x191),_0x56b949(0x1a6),_0x56b949(0x13f),_0x56b949(0x166),_0x56b949(0xcd),_0x56b949(0x181),_0x56b949(0x12d),_0x56b949(0xd5),_0x56b949(0x16d),_0x56b949(0x11d),_0x332f8b(0x115),_0x332f8b(0x128),_0x56b949(0x13e),_0x3c14ec(0x1a0),_0x56b949(0xe8),_0x332f8b(0x14e),_0x56b949(0xd2),_0x56b949(0x155),_0x81f681(0x19c),_0x332f8b(0x111),_0x332f8b(0x96),_0x56b949(0xd3),_0x56b949(0x15b),_0x56b949(0xde),_0x56b949(0xd0),_0x56b949(0xc1),_0x56b949(0x174),_0x56b949(0x140),_0x56b949(0xfe),_0x332f8b(0x74),_0x56b949(0xf0),_0x56b949(0x187),_0x56b949(0x115),_0x56b949(0xcc),_0x3c14ec(0x25f),_0x56b949(0xd9),_0x56b949(0x17e),_0x332f8b(0x149),_0x332f8b(0xe3),_0x56b949(0x169),_0x56b949(0x165),_0x56b949(0x126),_0x56b949(0xc8),_0x56b949(0xc9),_0x332f8b(0xbe),_0x56b949(0xe5),_0x56b949(0x163),_0xf3969e(0x19a),_0x56b949(0x131),_0x56b949(0x124),_0x332f8b(0x80),_0x332f8b(0x119),_0x56b949(0xfb),_0x56b949(0xc0),_0x332f8b(0xfd),_0x56b949(0xc2),_0x332f8b(0x13a),_0x56b949(0x158),_0x56b949(0xe3),_0x56b949(0x11c),_0x56b949(0x16c),_0x56b949(0x123),_0x56b949(0x119),_0x3c14ec(0x1fe),_0x56b949(0xe1),_0x56b949(0x193),_0x56b949(0x101),_0x56b949(0x19f),_0x56b949(0x19c),_0x56b949(0xfa),_0x56b949(0xf4),_0x56b949(0x121),_0x332f8b(0xd6),_0x56b949(0xe2),_0x3c14ec(0x1ab),_0x56b949(0x12b),_0x56b949(0x1b0),_0x56b949(0x1a7),_0x56b949(0xbf),_0x332f8b(0xc8),_0x56b949(0x14e),_0x332f8b(0x108),_0x56b949(0x113),_0x56b949(0x107),_0x56b949(0x10c),_0x56b949(0x117),_0x56b949(0xdf),_0x56b949(0x1ae),_0x332f8b(0xc2),_0x56b949(0x185),_0x56b949(0x15a),_0x332f8b(0x142),_0x332f8b(0x129),_0x56b949(0x12e),_0x56b949(0x100),_0x56b949(0x19a),_0x56b949(0x199),_0x56b949(0x161),_0x56b949(0xf6),_0x56b949(0x1a1),_0x56b949(0x196),_0x332f8b(0x144),_0x56b949(0x189),_0x56b949(0x195),_0x56b949(0x120),_0x56b949(0xec),_0x56b949(0xc5),_0x332f8b(0xf8),_0x332f8b(0xa3),_0x56b949(0x114),_0x332f8b(0x76),_0x332f8b(0xd8),_0x56b949(0x1a3),_0x56b949(0x134),_0x332f8b(0xeb),_0x332f8b(0xaa),_0x332f8b(0x137),_0x332f8b(0xad),_0x56b949(0x186),_0x56b949(0xe9),_0x56b949(0x152),_0x56b949(0xd1),_0x332f8b(0xd9),_0x56b949(0x125),_0x332f8b(0x70),_0x56b949(0x135),_0x56b949(0x11f),_0x56b949(0x1ad),_0x56b949(0x111),_0x56b949(0x1a5),_0x56b949(0x154),_0x56b949(0xc7),_0x332f8b(0x10d),_0x56b949(0x1a0),_0x56b949(0x144),_0x81f681(0x1c8),_0x56b949(0x142),_0x332f8b(0x138),_0x56b949(0x13c),_0x56b949(0x17f),_0x56b949(0x14c),_0x56b949(0x182),_0x56b949(0xcf),_0x332f8b(0xa2),_0x332f8b(0xf2),_0x56b949(0x1b3),_0x332f8b(0x6b),_0x332f8b(0x110),_0x332f8b(0x151)];return a0_0x1cc3=function(){return _0x52fdaf;},a0_0x1cc3();}function a0_0x8e03(_0xd8ae66,_0x502848){var _0x72d044=a0_0x72d0();return a0_0x8e03=function(_0x8e033,_0x428eca){_0x8e033=_0x8e033-0xdb;var _0x25a7b8=_0x72d044[_0x8e033];return _0x25a7b8;},a0_0x8e03(_0xd8ae66,_0x502848);}function a0_0x1f50(_0x113b9f,_0x50df1d){var _0x10acc3=a0_0x1174();return a0_0x1f50=function(_0x2a8e02,_0x497dad){_0x2a8e02=_0x2a8e02-0x18e;var _0x22f192=_0x10acc3[_0x2a8e02];return _0x22f192;},a0_0x1f50(_0x113b9f,_0x50df1d);}function a0_0x6246(){var _0x5a00be=a0_0x8e03,_0x244ba6=a0_0x1f50,_0x56a29f=a0_0x5c16,_0x297f84=a0_0x284e,_0x2c1973=[_0x5a00be(0xec),_0x297f84(0x124),_0x297f84(0x1fe),_0x297f84(0x12b),_0x297f84(0x1bf),_0x297f84(0x218),_0x297f84(0x112),_0x297f84(0x1f0),_0x297f84(0xec),_0x297f84(0x132),_0x297f84(0x221),_0x297f84(0x174),_0x5a00be(0x21c),_0x297f84(0x234),_0x297f84(0x232),_0x297f84(0x204),_0x297f84(0x235),_0x297f84(0x165),_0x297f84(0x1c6),_0x56a29f(0x1e9),_0x56a29f(0x168),_0x297f84(0x17a),_0x297f84(0x227),_0x297f84(0x1ac),_0x297f84(0x1f5),_0x297f84(0x180),_0x297f84(0xfc),_0x297f84(0x1e2),_0x297f84(0x1a6),_0x297f84(0x23e),_0x297f84(0x108),_0x297f84(0x15b),_0x244ba6(0x2a6),_0x297f84(0x1ee),_0x297f84(0x13f),_0x297f84(0x19c),_0x297f84(0x104),_0x56a29f(0xa4),_0x297f84(0x16f),_0x297f84(0x144),_0x297f84(0x172),_0x297f84(0x107),_0x297f84(0x159),_0x297f84(0x139),_0x297f84(0x131),_0x244ba6(0x281),_0x297f84(0x13c),_0x297f84(0x129),_0x244ba6(0x227),_0x297f84(0x225),_0x297f84(0x1b9),_0x56a29f(0xbf),_0x56a29f(0x13a),_0x297f84(0x1e3),_0x56a29f(0xac),_0x244ba6(0x27e),_0x297f84(0x10c),_0x297f84(0x217),_0x297f84(0x1dc),_0x297f84(0x196),_0x56a29f(0x147),_0x297f84(0xf9),_0x297f84(0x21c),_0x56a29f(0x16a),_0x297f84(0x23b),_0x297f84(0x1ce),_0x297f84(0x169),_0x297f84(0x1db),_0x297f84(0x185),_0x297f84(0x13a),_0x56a29f(0x1e5),_0x297f84(0x190),_0x56a29f(0x1db),_0x297f84(0x1ab),_0x297f84(0x1b6),_0x297f84(0x1fd),_0x297f84(0x137),_0x297f84(0x114),_0x297f84(0x154),_0x297f84(0x1f4),_0x297f84(0x142),_0x297f84(0x1c4),_0x297f84(0x22b),_0x297f84(0x13e),_0x297f84(0x1f3),_0x297f84(0x1bd),_0x297f84(0x1f2),_0x297f84(0xef),_0x297f84(0x1ff),_0x244ba6(0x2c3),_0x297f84(0x237),_0x297f84(0x121),_0x297f84(0x1eb),_0x297f84(0x1c3),_0x297f84(0x136),_0x297f84(0x1a3),_0x297f84(0x11a),_0x297f84(0x17b),_0x297f84(0x239),_0x297f84(0x166),_0x297f84(0x1cb),_0x297f84(0x1e5),_0x56a29f(0x187),_0x297f84(0x100),_0x297f84(0x20c),_0x297f84(0x123),_0x56a29f(0xce),_0x297f84(0xf4),_0x244ba6(0x2b4),_0x297f84(0x135),_0x297f84(0x201),_0x297f84(0x211),_0x56a29f(0x11d),_0x56a29f(0x16d),_0x297f84(0x23a),_0x297f84(0x145),_0x297f84(0x1c5),_0x297f84(0x1a0),_0x297f84(0x1cc),_0x297f84(0x1a9),_0x297f84(0x11d),_0x297f84(0x111),_0x56a29f(0x19b),_0x297f84(0x197),_0x297f84(0x15a),_0x56a29f(0x10e),_0x244ba6(0x2e6),_0x297f84(0x133),_0x297f84(0x1d1),_0x297f84(0x219),_0x297f84(0x1f7),_0x297f84(0x192),_0x297f84(0x19f),_0x56a29f(0xa3),_0x297f84(0x14e),_0x297f84(0x11f),_0x297f84(0x1e1),_0x297f84(0x16d),_0x56a29f(0x140),_0x297f84(0x101),_0x297f84(0x182),_0x297f84(0x1dd),_0x297f84(0x1bb),_0x244ba6(0x25d),_0x297f84(0x1b8),_0x297f84(0x11c),_0x297f84(0x128),_0x297f84(0x1a5),_0x297f84(0x200),_0x297f84(0x229),_0x297f84(0x21f),_0x297f84(0x155),_0x244ba6(0x276),_0x297f84(0x230),_0x56a29f(0x1b5),_0x56a29f(0xde),_0x297f84(0x143),_0x56a29f(0x1aa),_0x297f84(0x162),_0x297f84(0x1c9),_0x297f84(0x161),_0x56a29f(0x18e),_0x56a29f(0x1ec),_0x297f84(0x21b),_0x297f84(0x1d7),_0x56a29f(0xe3),_0x297f84(0x12f),_0x297f84(0x1de),_0x297f84(0xf0),_0x297f84(0x23d),_0x297f84(0x150),_0x297f84(0x20b),_0x5a00be(0x1fc),_0x297f84(0x120),_0x56a29f(0xc6),_0x56a29f(0x185),_0x297f84(0x208),_0x56a29f(0xed),_0x297f84(0xe9),_0x297f84(0x1f1),_0x297f84(0x214),_0x5a00be(0x18c),_0x297f84(0xe3),_0x297f84(0x164),_0x56a29f(0x11b),_0x297f84(0x118),_0x297f84(0x10a),_0x297f84(0x115),_0x297f84(0x21d),_0x297f84(0x223),_0x297f84(0x170),_0x297f84(0x146),_0x56a29f(0x165),_0x297f84(0x186),_0x297f84(0xe6),_0x297f84(0x105),_0x56a29f(0x182),_0x244ba6(0x1e2),_0x56a29f(0x139),_0x297f84(0x158),_0x297f84(0xe7),_0x297f84(0x22c),_0x297f84(0x191),_0x56a29f(0x131),_0x297f84(0xde),_0x297f84(0xed),_0x297f84(0x209),_0x56a29f(0xa8),_0x56a29f(0x162),_0x297f84(0x224),_0x297f84(0x10e),_0x297f84(0x126),_0x244ba6(0x22a),_0x297f84(0xeb),_0x297f84(0x226),_0x297f84(0x1d9),_0x297f84(0x14b),_0x56a29f(0x1a9),_0x297f84(0x116),_0x297f84(0xfe),_0x297f84(0x22d),_0x56a29f(0xfc),_0x244ba6(0x20d),_0x297f84(0xf3),_0x297f84(0x1ae),_0x297f84(0x117),_0x297f84(0x141),_0x297f84(0xe8),_0x5a00be(0xed),_0x56a29f(0x13d),_0x297f84(0x10f),_0x56a29f(0x180),_0x297f84(0x15c),_0x297f84(0x1b2),_0x297f84(0x18d),_0x297f84(0x181),_0x297f84(0x179),_0x56a29f(0xee),_0x297f84(0x1c0),_0x297f84(0x212),_0x297f84(0x1e0),_0x56a29f(0x1eb),_0x297f84(0xf8),_0x56a29f(0x148),_0x297f84(0x1ca),_0x297f84(0x110),_0x297f84(0x1e9),_0x297f84(0xe2),_0x297f84(0x140),_0x297f84(0x1a8),_0x297f84(0x20f),_0x297f84(0x184),_0x56a29f(0x129),_0x56a29f(0x1b6),_0x56a29f(0x12d),_0x56a29f(0x1d0),_0x297f84(0x1b1),_0x297f84(0x176),_0x297f84(0x195),_0x297f84(0x189),_0x297f84(0x138),_0x297f84(0x102),_0x297f84(0x10d),_0x297f84(0xea),_0x297f84(0x147),_0x297f84(0x15f),_0x297f84(0x1b5),_0x297f84(0x23c),_0x56a29f(0x108),_0x244ba6(0x1a1),_0x5a00be(0x251),_0x297f84(0x1ec),_0x56a29f(0xbd),_0x297f84(0x18e),_0x297f84(0x1ef),_0x297f84(0xfd),_0x297f84(0x1c1),_0x56a29f(0x106),_0x56a29f(0xe2),_0x297f84(0x18f),_0x297f84(0x14d),_0x297f84(0x1da),_0x56a29f(0x1dd),_0x297f84(0x12c),_0x297f84(0x17d),_0x297f84(0x1ed),_0x297f84(0x207),_0x297f84(0x18a),_0x297f84(0x1af),_0x297f84(0xdf),_0x56a29f(0xca),_0x297f84(0xee),_0x297f84(0x199),_0x56a29f(0x102),_0x56a29f(0xe9),_0x56a29f(0xaa),_0x56a29f(0x163),_0x297f84(0x1b7),_0x297f84(0x183),_0x297f84(0x11e),_0x297f84(0x178),_0x297f84(0x194),_0x244ba6(0x29b),_0x56a29f(0xe8),_0x297f84(0x171),_0x297f84(0xf6),_0x56a29f(0xae),_0x297f84(0x1e8),_0x297f84(0x22a),'1662vrWvto',_0x297f84(0x1fc),_0x297f84(0x193),_0x56a29f(0x186),_0x297f84(0x15e),_0x297f84(0x228),_0x297f84(0x148),_0x297f84(0x1d5),_0x297f84(0xfa),_0x297f84(0x22e),_0x244ba6(0x2bd),_0x297f84(0x1df),_0x297f84(0x18c),_0x297f84(0x1d6),_0x297f84(0x16a),_0x297f84(0xf2),_0x297f84(0x1cd),_0x297f84(0xf7),_0x297f84(0x17e),_0x297f84(0x151),_0x56a29f(0x169),_0x297f84(0x149),_0x297f84(0x222),_0x297f84(0x13b),_0x297f84(0x1f9),_0x297f84(0x1a1),_0x297f84(0x1fa),_0x56a29f(0x1ca),_0x297f84(0x216),_0x297f84(0xfb),_0x297f84(0x1f8)];return a0_0x6246=function(){return _0x2c1973;},a0_0x6246();}function a0_0x1174(){var _0x2d78fa=a0_0x8e03,_0x50e830=[_0x2d78fa(0x21f),'2170560pCnllA',_0x2d78fa(0x24f),_0x2d78fa(0x1f0),'1872hidRqo',_0x2d78fa(0x17a),_0x2d78fa(0x1cb),_0x2d78fa(0x206),'unbind',_0x2d78fa(0x13a),_0x2d78fa(0x1e2),_0x2d78fa(0x13d),'11Pjywlm','scrollbarX','wheelDeltaY',_0x2d78fa(0x1eb),_0x2d78fa(0x12c),'623802kryvMN',_0x2d78fa(0x250),_0x2d78fa(0x20d),_0x2d78fa(0x211),_0x2d78fa(0x21a),_0x2d78fa(0x18b),_0x2d78fa(0x15f),'4599072zGvSxM',_0x2d78fa(0x13f),_0x2d78fa(0x1e9),_0x2d78fa(0x1bf),_0x2d78fa(0x11b),_0x2d78fa(0x21e),_0x2d78fa(0x155),_0x2d78fa(0x24c),_0x2d78fa(0x11c),_0x2d78fa(0x1ff),_0x2d78fa(0x10c),_0x2d78fa(0x249),'6kpVmqJ','isScrollbarXUsingBottom',_0x2d78fa(0x143),_0x2d78fa(0x194),_0x2d78fa(0x15d),_0x2d78fa(0x1d9),_0x2d78fa(0x152),_0x2d78fa(0x208),_0x2d78fa(0x1fb),_0x2d78fa(0x225),_0x2d78fa(0x220),'split',_0x2d78fa(0x14f),_0x2d78fa(0x1de),_0x2d78fa(0x237),_0x2d78fa(0x230),_0x2d78fa(0xdf),_0x2d78fa(0x1a6),_0x2d78fa(0x146),_0x2d78fa(0x1e5),_0x2d78fa(0x172),'484020qPFpUI',_0x2d78fa(0xe0),'20302AWffsO',_0x2d78fa(0x1f2),_0x2d78fa(0xfa),_0x2d78fa(0x248),_0x2d78fa(0x1e0),_0x2d78fa(0x1f7),'containerWidth',_0x2d78fa(0x19f),_0x2d78fa(0x126),_0x2d78fa(0xf0),'2779677gzZazK',_0x2d78fa(0x11f),_0x2d78fa(0x133),'PerfectScrollbar',_0x2d78fa(0xdb),_0x2d78fa(0x1b3),_0x2d78fa(0xfb),_0x2d78fa(0xe6),_0x2d78fa(0x1ce),'clicking','filter','224373iLqrgT',_0x2d78fa(0x215),_0x2d78fa(0x153),_0x2d78fa(0x221),'27095tNkwtG','2314134SQrLxm',_0x2d78fa(0x138),_0x2d78fa(0x1cd),'borderBottomWidth','ownerDocument',_0x2d78fa(0x1d4),_0x2d78fa(0x10d),_0x2d78fa(0x105),_0x2d78fa(0x1b9),_0x2d78fa(0x134),_0x2d78fa(0x1fa),'906BsmMqA','appendChild',_0x2d78fa(0xf5),_0x2d78fa(0x23d),'2ctrFWJ',_0x2d78fa(0x1c1),'3SiftLF',_0x2d78fa(0x233),_0x2d78fa(0x187),_0x2d78fa(0x1ee),'scrollY','56HWDqOH',_0x2d78fa(0x11e),_0x2d78fa(0x160),_0x2d78fa(0x203),_0x2d78fa(0xe9),_0x2d78fa(0x16d),_0x2d78fa(0x101),_0x2d78fa(0x22c),_0x2d78fa(0xfd),_0x2d78fa(0x200),_0x2d78fa(0x207),_0x2d78fa(0x188),_0x2d78fa(0x19d),_0x2d78fa(0x125),'scrollbarYRail',_0x2d78fa(0x1d6),_0x2d78fa(0xdc),'1229130svRqve','2040770vvpcAY','pageY','458735iOWXlB','7697800VxEytk',_0x2d78fa(0x198),_0x2d78fa(0x19e),_0x2d78fa(0x19c),_0x2d78fa(0x15c),_0x2d78fa(0x219),'MSPointerDown','21fKOLEF','1570128BTQpDf',_0x2d78fa(0x242),_0x2d78fa(0x228),_0x2d78fa(0x1df),_0x2d78fa(0x1fe),_0x2d78fa(0x245),_0x2d78fa(0x1db),_0x2d78fa(0x127),_0x2d78fa(0x145),_0x2d78fa(0x239),'12lgeyzs',_0x2d78fa(0x176),_0x2d78fa(0x13b),'string','17245rnIRlX',_0x2d78fa(0x157),'9pDzIIb','21108970oLNkdU',_0x2d78fa(0xfe),_0x2d78fa(0x107),_0x2d78fa(0xf4),_0x2d78fa(0x1d5),_0x2d78fa(0x22a),_0x2d78fa(0x115),_0x2d78fa(0x18a),_0x2d78fa(0x136),_0x2d78fa(0x14d),_0x2d78fa(0x1cf),_0x2d78fa(0x235),_0x2d78fa(0x109),_0x2d78fa(0x1da),_0x2d78fa(0x24b),_0x2d78fa(0xde),_0x2d78fa(0x1e7),'scrollbarXBottom',_0x2d78fa(0x234),'1sxpBEC',_0x2d78fa(0xf6),_0x2d78fa(0x1b8),_0x2d78fa(0x14c),_0x2d78fa(0x23e),_0x2d78fa(0x240),'419321Rfkngn',_0x2d78fa(0xfc),_0x2d78fa(0x17d),_0x2d78fa(0x13c),_0x2d78fa(0xe8),_0x2d78fa(0x1b1),_0x2d78fa(0xe3),_0x2d78fa(0x17b),_0x2d78fa(0x179),_0x2d78fa(0x197),'13170gBzXnx',_0x2d78fa(0x1bd),_0x2d78fa(0x1d3),_0x2d78fa(0x16a),_0x2d78fa(0x13e),_0x2d78fa(0x1ad),_0x2d78fa(0x22f),'22XLBmcn','658952jKwENc','8680959bYJUgB',_0x2d78fa(0x1f4),'36209930mCjwqW','ps__rail-',_0x2d78fa(0x20a),_0x2d78fa(0x216),_0x2d78fa(0x11d),_0x2d78fa(0x213),'once',_0x2d78fa(0x243),_0x2d78fa(0x12d),_0x2d78fa(0x10f),_0x2d78fa(0x24a),'ps--scrolling-',_0x2d78fa(0x226),_0x2d78fa(0x15a),_0x2d78fa(0x19a),'8ACTPiD',_0x2d78fa(0x1c9),_0x2d78fa(0x106),'start',_0x2d78fa(0x10b),_0x2d78fa(0x202),_0x2d78fa(0x22d),_0x2d78fa(0x14a),_0x2d78fa(0x246),'1sCAEYR',_0x2d78fa(0x120),_0x2d78fa(0x10a),'bind',_0x2d78fa(0x17f),_0x2d78fa(0xe7),'603984imCcjU','14312bsvFIg',_0x2d78fa(0x108),_0x2d78fa(0x1d0),_0x2d78fa(0x128),_0x2d78fa(0x23b),_0x2d78fa(0x12b),_0x2d78fa(0xea),_0x2d78fa(0x189),_0x2d78fa(0x156),'ctrlKey',_0x2d78fa(0x21d),_0x2d78fa(0x177),_0x2d78fa(0xe1),_0x2d78fa(0x227),'10XDmPUR',_0x2d78fa(0x1b0),'paddingLeft',_0x2d78fa(0x20e),'503768AKbOZb',_0x2d78fa(0x1ed),_0x2d78fa(0x163),'scroll',_0x2d78fa(0x21b),_0x2d78fa(0x175),_0x2d78fa(0x1b2),_0x2d78fa(0x12a),_0x2d78fa(0x18e),_0x2d78fa(0xeb),_0x2d78fa(0x20f),_0x2d78fa(0x102),'scrollingThreshold',_0x2d78fa(0x1f1),'348BoSIMJ','drag-thumb',_0x2d78fa(0xee),_0x2d78fa(0x123),_0x2d78fa(0x182),_0x2d78fa(0x196),'2748096CQCJNu','70hecogF','preventDefault','762776djOOnb',_0x2d78fa(0x1c4),_0x2d78fa(0x1ac),_0x2d78fa(0x1ec),_0x2d78fa(0x218),_0x2d78fa(0x229),'456122dnhfHK',_0x2d78fa(0xe5),_0x2d78fa(0x142),'no\x20element\x20is\x20specified\x20to\x20initialize\x20PerfectScrollbar',_0x2d78fa(0x1ea),_0x2d78fa(0x1a3),_0x2d78fa(0x1d2),_0x2d78fa(0x151),'unbindAll',_0x2d78fa(0x20c),_0x2d78fa(0x19b),_0x2d78fa(0x112),_0x2d78fa(0x150),'675pDXzkj','ps__child--consume',_0x2d78fa(0x132),_0x2d78fa(0x16e),_0x2d78fa(0x1a5),'railBorderYWidth',_0x2d78fa(0xdd),'style',_0x2d78fa(0x212),_0x2d78fa(0x162),'touchmove',_0x2d78fa(0x12e),_0x2d78fa(0x147),_0x2d78fa(0x23c),_0x2d78fa(0x24e),_0x2d78fa(0x10e),'bottom',_0x2d78fa(0x174),_0x2d78fa(0x103),_0x2d78fa(0x1e1),_0x2d78fa(0x238),'61BfRJMh',_0x2d78fa(0x158),_0x2d78fa(0x193),_0x2d78fa(0x1b5),'WebkitAppearance',_0x2d78fa(0x1ba),_0x2d78fa(0x1a8),_0x2d78fa(0x1d7),_0x2d78fa(0xf2),_0x2d78fa(0x1e8),_0x2d78fa(0x20b),_0x2d78fa(0x168),_0x2d78fa(0x148),_0x2d78fa(0x214),_0x2d78fa(0x161),_0x2d78fa(0x130),_0x2d78fa(0x1fd),_0x2d78fa(0x149),_0x2d78fa(0x122),_0x2d78fa(0x119),'keys','railYMarginHeight','4996ufuirz',_0x2d78fa(0xff),'tabindex',_0x2d78fa(0x116),_0x2d78fa(0x1be),_0x2d78fa(0x139),_0x2d78fa(0x1d8),_0x2d78fa(0x23f),_0x2d78fa(0x195),_0x2d78fa(0x1a9),_0x2d78fa(0xf3),_0x2d78fa(0x192),_0x2d78fa(0x199),_0x2d78fa(0x171),'19345420YARvPG','9lzOycK',_0x2d78fa(0xf1),_0x2d78fa(0x141),_0x2d78fa(0x1ab),_0x2d78fa(0xe2),'suppressScrollX',_0x2d78fa(0x1ca),_0x2d78fa(0x1ae),_0x2d78fa(0x1f6),_0x2d78fa(0x1cc),_0x2d78fa(0x210),_0x2d78fa(0x1c5),_0x2d78fa(0x124),_0x2d78fa(0x15e),_0x2d78fa(0x1bc),_0x2d78fa(0x1f3),_0x2d78fa(0x184),_0x2d78fa(0x1f8),'supportsIePointer','36630240chfZon',_0x2d78fa(0x1ef),'20eUgFZW'];return a0_0x1174=function(){return _0x50e830;},a0_0x1174();}function a0_0x58e4(){var _0x438bed=a0_0x32fc,_0x3798ac=a0_0x8457,_0xcf993f=a0_0x3ebb,_0x56f28d=a0_0x58d6,_0x48be9b=a0_0x46c3,_0x134778=[_0x48be9b(0x1e0),_0x48be9b(0x22c),_0x48be9b(0x1ea),_0x48be9b(0x1bc),_0x48be9b(0x23c),_0x48be9b(0x1bf),_0x48be9b(0x1cb),_0x48be9b(0x1d4),_0x48be9b(0x218),_0x48be9b(0x20d),_0x48be9b(0x19f),_0x48be9b(0x274),_0x48be9b(0x23d),_0x48be9b(0x1d2),_0x48be9b(0x1cc),_0x48be9b(0x240),_0x48be9b(0x1ca),_0xcf993f(0x1a8),_0x48be9b(0x252),_0x48be9b(0x23b),_0x48be9b(0x1f2),_0x56f28d(0x1ac),_0x48be9b(0x26c),_0x56f28d(0x1ec),_0x48be9b(0x217),_0xcf993f(0x1dd),_0x48be9b(0x202),_0x48be9b(0x1c6),_0x48be9b(0x21e),_0x48be9b(0x195),_0x48be9b(0x186),_0x48be9b(0x1a8),_0x3798ac(0x1f9),_0x48be9b(0x22b),_0x48be9b(0x1e2),_0x48be9b(0x227),_0x48be9b(0x199),_0x48be9b(0x1ef),_0x48be9b(0x230),_0x48be9b(0x256),_0x56f28d(0x1ff),_0x48be9b(0x1c7),_0x48be9b(0x208),_0x48be9b(0x1f0),_0x56f28d(0x203),_0x48be9b(0x1a7),_0x56f28d(0x199),_0x56f28d(0x1a3),_0x56f28d(0x209),_0x48be9b(0x205),_0x48be9b(0x1c3),_0x48be9b(0x21d),_0x48be9b(0x198),_0x48be9b(0x251),_0x438bed(0x278),_0x48be9b(0x19a),_0x48be9b(0x22d),_0x48be9b(0x200),_0x48be9b(0x212),_0x48be9b(0x1e9),_0x48be9b(0x1f4),_0x48be9b(0x1c1),_0x48be9b(0x258),_0x48be9b(0x1f7),_0x48be9b(0x24f),_0x48be9b(0x247),_0x56f28d(0x1ba),_0x48be9b(0x244),_0x48be9b(0x1f9),_0x48be9b(0x1d8),_0x48be9b(0x210),_0x56f28d(0x1f3),_0x56f28d(0x217),_0x56f28d(0x1d6),_0x56f28d(0x14a),_0x48be9b(0x1e8),_0x48be9b(0x1ce),_0x48be9b(0x269),_0x48be9b(0x272),_0x56f28d(0x1c9),_0x48be9b(0x249),_0x48be9b(0x1d5),_0x48be9b(0x1a1),_0x48be9b(0x201),_0x48be9b(0x263),_0x48be9b(0x253),_0x48be9b(0x19c),_0x48be9b(0x245),_0x56f28d(0x1dd),_0x48be9b(0x187),_0x3798ac(0x285),_0x48be9b(0x26b),_0x48be9b(0x24d),_0x48be9b(0x222),_0x48be9b(0x1d1),_0x48be9b(0x221),_0x48be9b(0x233),_0x48be9b(0x1dc),_0x48be9b(0x231),_0x48be9b(0x1a6),_0x48be9b(0x1c5),_0x48be9b(0x21b),_0x48be9b(0x1d9),_0xcf993f(0x161),_0x48be9b(0x27b),_0xcf993f(0x118),_0x48be9b(0x25e),_0x3798ac(0x222),_0x48be9b(0x214),_0x56f28d(0x15f),_0x48be9b(0x209),_0x48be9b(0x225),_0x48be9b(0x19e),_0xcf993f(0x10c),_0x48be9b(0x1c2),_0x48be9b(0x189),_0xcf993f(0x14c),_0x48be9b(0x1fc),_0x48be9b(0x192),_0x48be9b(0x1b8),_0x56f28d(0x19f),_0x48be9b(0x246),_0x48be9b(0x1ee),_0x48be9b(0x1e5),_0x48be9b(0x194),_0x48be9b(0x1e1),_0x48be9b(0x18b),_0x48be9b(0x264),_0x48be9b(0x255),_0x48be9b(0x241),_0x48be9b(0x276),_0x48be9b(0x1e3),_0x48be9b(0x275),_0x56f28d(0x1c0),_0x56f28d(0x14e),_0x56f28d(0x17c),_0x48be9b(0x1f3),_0x56f28d(0x1fb),_0x48be9b(0x1f5),_0x56f28d(0x1f1),_0x56f28d(0x1ae),_0x48be9b(0x228),_0x48be9b(0x1a9),_0x48be9b(0x25d),_0x56f28d(0x208),_0x48be9b(0x188),_0x48be9b(0x268),_0x56f28d(0x1a0),_0x56f28d(0x224),_0x48be9b(0x219),_0x48be9b(0x1c4),_0x56f28d(0x1de),_0x56f28d(0x156),_0x48be9b(0x250),_0x48be9b(0x21a),_0x48be9b(0x1ba),_0x48be9b(0x213),_0x48be9b(0x1ec),_0x48be9b(0x223),_0x56f28d(0x1e2),_0x48be9b(0x23e),_0x48be9b(0x267),_0x48be9b(0x204),_0x48be9b(0x21f),_0x48be9b(0x238),_0x48be9b(0x234),_0x48be9b(0x1fd),_0x56f28d(0x1ad),_0x48be9b(0x243),_0x48be9b(0x273),_0x48be9b(0x265),_0x48be9b(0x25c),_0x48be9b(0x18f),_0x48be9b(0x193),_0x48be9b(0x23a),_0xcf993f(0x115),_0x48be9b(0x1f8),_0x48be9b(0x1d6),_0x48be9b(0x22f),_0x48be9b(0x18d),_0x48be9b(0x235),_0x48be9b(0x1c9),_0x56f28d(0x1d4),_0x48be9b(0x19b),_0x48be9b(0x196),_0x56f28d(0x1a6),_0x48be9b(0x1f6),_0x56f28d(0x1e9),_0x48be9b(0x226),_0x48be9b(0x1f1),_0x48be9b(0x1b0),_0x48be9b(0x1bd),_0x48be9b(0x216),_0x48be9b(0x215),_0x48be9b(0x254),_0xcf993f(0x13e),_0x48be9b(0x19d),_0x48be9b(0x1b5),_0x48be9b(0x224),_0x48be9b(0x1ae),_0x48be9b(0x271),_0x48be9b(0x25b),_0x56f28d(0x212),_0x56f28d(0x17d),_0x48be9b(0x277),_0x48be9b(0x26e),_0x48be9b(0x1c8),_0x48be9b(0x1b6),_0x48be9b(0x220),_0x48be9b(0x1db),_0x48be9b(0x23f),_0x48be9b(0x1fb),_0x48be9b(0x1b9),_0x48be9b(0x18c),_0x48be9b(0x1b7),_0x48be9b(0x1cd),_0x48be9b(0x20f),_0x48be9b(0x1ff),_0x48be9b(0x1e6),_0x56f28d(0x166),_0x48be9b(0x26a),_0x3798ac(0x19f),_0x56f28d(0x193),_0x48be9b(0x1cf),_0x48be9b(0x22e),_0x48be9b(0x1a4),_0x56f28d(0x1b4),_0x56f28d(0x15b),_0x48be9b(0x266),_0x48be9b(0x279),_0x48be9b(0x1de),_0x56f28d(0x144),_0x48be9b(0x1aa),_0x48be9b(0x20b),_0x56f28d(0x1c5),_0x48be9b(0x27c),_0x48be9b(0x1c0),_0x48be9b(0x25a),_0x48be9b(0x237)];return a0_0x58e4=function(){return _0x134778;},a0_0x58e4();}(function(_0x378ebe,_0x2fd560){var _0x26a3f8=a0_0xb9fb,_0x2bce51=a0_0x107a,_0x52dd96=_0x378ebe();while(!![]){try{var _0x2daed3=parseInt(_0x2bce51(0x117))/0x1*(parseInt(_0x2bce51(0x11c))/0x2)+-parseInt(_0x2bce51(0x128))/0x3*(-parseInt(_0x2bce51(0x135))/0x4)+parseInt(_0x2bce51(0x143))/0x5*(-parseInt(_0x2bce51(0x19b))/0x6)+parseInt(_0x2bce51(0x103))/0x7*(parseInt(_0x2bce51(0x165))/0x8)+-parseInt(_0x2bce51(0x113))/0x9*(-parseInt(_0x2bce51(0x132))/0xa)+-parseInt(_0x2bce51(0x106))/0xb+parseInt(_0x2bce51(0x17a))/0xc*(parseInt(_0x2bce51(0x115))/0xd);if(_0x2daed3===_0x2fd560)break;else _0x52dd96[_0x26a3f8(0x138)](_0x52dd96[_0x26a3f8(0x19f)]());}catch(_0x40d86f){_0x52dd96[_0x26a3f8(0x138)](_0x52dd96[_0x26a3f8(0x19f)]());}}}(a0_0x1cc3,0xb5773),function(_0x1f0b37,_0x1b65d3){var _0x5acb32=a0_0x107a,_0x42d385=a0_0x491c,_0x165cab=_0x1f0b37();while(!![]){try{var _0x4fe9ed=-parseInt(_0x42d385(0x1a6))/0x1*(parseInt(_0x42d385(0x169))/0x2)+parseInt(_0x42d385(0x15a))/0x3*(parseInt(_0x42d385(0x115))/0x4)+parseInt(_0x42d385(0x17a))/0x5*(-parseInt(_0x42d385(0x1dc))/0x6)+parseInt(_0x42d385(0x162))/0x7*(-parseInt(_0x42d385(0x1e6))/0x8)+parseInt(_0x42d385(0x191))/0x9+-parseInt(_0x42d385(0x1e2))/0xa+-parseInt(_0x42d385(0x1d6))/0xb*(-parseInt(_0x42d385(0x110))/0xc);if(_0x4fe9ed===_0x1b65d3)break;else _0x165cab[_0x5acb32(0xf0)](_0x165cab[_0x5acb32(0x168)]());}catch(_0x57e3b6){_0x165cab[_0x5acb32(0xf0)](_0x165cab[_0x5acb32(0x168)]());}}}(a0_0x1f6c,0xf0648));function a0_0x3ebb(_0x519d3b,_0x58d61a){var _0x530382=a0_0x612c();return a0_0x3ebb=function(_0x419a27,_0xa9d130){_0x419a27=_0x419a27-0xff;var _0x3de175=_0x530382[_0x419a27];return _0x3de175;},a0_0x3ebb(_0x519d3b,_0x58d61a);}function a0_0x16bb(_0x20e24e,_0x55ff83){var _0x304bd0=a0_0x5451();return a0_0x16bb=function(_0x400176,_0x5eda56){_0x400176=_0x400176-0xc8;var _0x27ce28=_0x304bd0[_0x400176];return _0x27ce28;},a0_0x16bb(_0x20e24e,_0x55ff83);}function a0_0x3247(){var _0x2aa8ed=a0_0x5c16,_0x70015e=a0_0x284e,_0x2afe68=a0_0x2f85,_0x406a9b=a0_0x413e,_0x568777=a0_0x543f,_0x29c597=[_0x568777(0x16a),_0x568777(0x190),_0x568777(0x131),_0x406a9b(0xd3),_0x568777(0x138),_0x568777(0x1bc),_0x568777(0x1bb),_0x568777(0x12a),_0x568777(0xe7),_0x568777(0x127),_0x568777(0x1a1),_0x568777(0x12f),_0x406a9b(0x1e4),_0x568777(0x185),_0x406a9b(0xd7),_0x568777(0x1bd),_0x568777(0x20a),_0x70015e(0x175),_0x406a9b(0x207),_0x568777(0x126),_0x406a9b(0x17f),_0x568777(0x189),_0x568777(0x13a),_0x568777(0x175),_0x568777(0x10b),_0x568777(0x200),_0x2afe68(0x147),_0x568777(0x1cd),_0x568777(0x142),_0x2afe68(0x1e6),_0x568777(0x160),_0x406a9b(0x1fd),_0x568777(0xee),_0x568777(0xf6),_0x406a9b(0x19f),_0x568777(0x134),_0x568777(0x13e),_0x568777(0x1f2),_0x568777(0x1aa),_0x568777(0x1a3),_0x568777(0x1c2),_0x406a9b(0xe7),_0x2afe68(0x17d),_0x406a9b(0x164),_0x568777(0x1ba),_0x568777(0x20f),_0x568777(0x13c),_0x568777(0xfa),_0x568777(0x121),_0x568777(0x110),_0x568777(0x105),_0x568777(0x154),_0x2afe68(0xd8),_0x568777(0x18f),_0x568777(0x197),_0x568777(0x1e0),_0x568777(0x11f),_0x568777(0x178),_0x406a9b(0x133),_0x568777(0x1c8),_0x568777(0x10a),_0x568777(0x12b),_0x568777(0x168),_0x568777(0xe5),_0x406a9b(0x1b1),_0x568777(0x15e),_0x568777(0x146),_0x406a9b(0x180),_0x406a9b(0x104),_0x568777(0x166),_0x70015e(0x153),_0x406a9b(0x1c2),_0x406a9b(0x113),_0x406a9b(0x185),_0x568777(0x1b3),_0x568777(0x10e),_0x406a9b(0x155),_0x568777(0x1f9),_0x568777(0x1f6),_0x406a9b(0x143),_0x568777(0x19e),_0x568777(0xf8),_0x568777(0xe6),_0x568777(0xf5),_0x568777(0x156),_0x568777(0x116),_0x568777(0x106),_0x568777(0x19d),_0x568777(0x10d),_0x568777(0x1ae),_0x406a9b(0xdb),_0x406a9b(0x18e),_0x568777(0xfc),_0x568777(0x1d2),_0x2afe68(0x1da),_0x568777(0x1e3),_0x568777(0x130),_0x568777(0x1fd),_0x568777(0x1ce),_0x568777(0x17c),_0x406a9b(0xef),_0x568777(0x214),_0x568777(0xfe),_0x406a9b(0x1fe),_0x568777(0xe3),_0x568777(0x14c),_0x568777(0xec),_0x406a9b(0x1c9),_0x568777(0x1b5),_0x568777(0x11c),_0x568777(0xdb),_0x568777(0x198),_0x568777(0x133),_0x568777(0x21b),_0x568777(0x161),_0x406a9b(0xcd),_0x568777(0x103),_0x568777(0x1c0),_0x568777(0x1ad),_0x568777(0x1eb),_0x568777(0x1ab),_0x406a9b(0x156),_0x2afe68(0xfd),_0x406a9b(0x120),_0x406a9b(0x11b),_0x70015e(0x168),_0x406a9b(0x149),_0x568777(0xf1),_0x568777(0x1a6),_0x568777(0x1c9),_0x568777(0x218),_0x568777(0x1f5),_0x568777(0x18b),_0x568777(0x113),_0x568777(0x181),_0x406a9b(0x205),_0x406a9b(0x173),_0x406a9b(0x208),_0x568777(0x191),_0x568777(0x1f7),_0x406a9b(0x1af),_0x568777(0xf7),_0x568777(0xf0),_0x568777(0x208),_0x568777(0x1e9),_0x568777(0x173),_0x2aa8ed(0x1b8),_0x568777(0x141),_0x568777(0x192),_0x406a9b(0x16e),_0x568777(0x201),_0x568777(0x1b4),_0x568777(0x204),_0x568777(0x20b),_0x2afe68(0x1c5),_0x568777(0x1d8),_0x568777(0x1ed),_0x2aa8ed(0x15e),_0x406a9b(0x1ad),_0x568777(0x180),_0x568777(0x1a2),_0x568777(0x171),_0x568777(0x1ca),_0x406a9b(0x1e1),_0x568777(0x217),_0x568777(0x211),_0x568777(0x115),_0x568777(0x149),_0x406a9b(0xe1),_0x2afe68(0x152),_0x406a9b(0x1e6),_0x568777(0x1de),_0x568777(0x21c),_0x406a9b(0xdd),_0x568777(0x19f),_0x568777(0x145),_0x406a9b(0xf8),_0x568777(0x1e2),_0x568777(0x194),_0x568777(0x176),_0x568777(0x1e5),_0x406a9b(0x1d2),_0x406a9b(0x1f6),_0x568777(0x12d),_0x568777(0x1ee),_0x406a9b(0x12b),_0x568777(0xfd),_0x70015e(0x127),_0x406a9b(0x1ee),_0x568777(0x1be),_0x70015e(0xe0),_0x568777(0x1d0),_0x568777(0x15d),_0x568777(0x152),_0x2afe68(0x1cf),_0x568777(0x1e7),_0x2afe68(0x13d),_0x568777(0x1d9),_0x568777(0x16c),_0x568777(0x150),_0x568777(0x205),_0x568777(0x1e1),_0x568777(0x216),_0x568777(0x19a),_0x568777(0x1ec),_0x568777(0x157),_0x568777(0x148),_0x568777(0x170),_0x568777(0x1a8),_0x568777(0x151),_0x568777(0x212),_0x406a9b(0x14b),_0x568777(0x179),_0x568777(0x1dd),_0x568777(0x10c),_0x568777(0xf2),_0x568777(0x210),_0x568777(0x172),_0x568777(0x1c3),_0x568777(0x18e),_0x568777(0x1b1),_0x568777(0x14a),_0x568777(0x1fb),_0x568777(0x11a),_0x406a9b(0x181),_0x568777(0x119),_0x406a9b(0x1d0),_0x568777(0xeb),_0x568777(0x1d3),_0x568777(0x12e),_0x568777(0x1b6),_0x568777(0x112),_0x568777(0x167),_0x2afe68(0xa6),_0x406a9b(0x11e),_0x406a9b(0x124),_0x568777(0x1c4),_0x406a9b(0x184),_0x568777(0x12c),_0x568777(0x1b2),_0x406a9b(0x11f),_0x568777(0x1e4),_0x406a9b(0x1fb),_0x568777(0x1d7),_0x568777(0x13d),_0x406a9b(0x135),_0x568777(0x122),_0x568777(0x125),_0x406a9b(0x1b2),_0x568777(0x21a),_0x568777(0x13b),_0x2afe68(0x187),_0x406a9b(0x140),_0x568777(0x20d),_0x568777(0x143),_0x406a9b(0x198),_0x568777(0x16b),_0x568777(0x17b),_0x568777(0x165),_0x568777(0x19b),_0x406a9b(0xf2),_0x568777(0x188),_0x568777(0x196),_0x568777(0x219),_0x568777(0x186),_0x406a9b(0x14e),_0x568777(0x1f4),_0x568777(0x14d),_0x568777(0x163),_0x568777(0x1c1),_0x406a9b(0x1f8),_0x568777(0x1db),_0x568777(0x16d),_0x568777(0x1ac),_0x568777(0x124),_0x568777(0x1af),_0x568777(0x14f),_0x568777(0x209),_0x2afe68(0xd4),_0x406a9b(0x15d),_0x568777(0xf4),_0x568777(0x1d4),_0x568777(0x203),_0x568777(0xfb),_0x406a9b(0x1b6),_0x568777(0x1ef),_0x568777(0x18a),_0x406a9b(0xea),_0x406a9b(0x175),_0x568777(0xe2),_0x568777(0x1bf),_0x568777(0x1a5),_0x568777(0x202),_0x568777(0x17a),_0x568777(0x1a4),_0x568777(0x101),_0x568777(0x11e),_0x568777(0x1f3),_0x568777(0x1b8),_0x568777(0xde),_0x568777(0x207),_0x406a9b(0x1bd),_0x568777(0xdf),_0x406a9b(0x145),_0x568777(0x153),_0x568777(0x20c),_0x568777(0x1fa),_0x568777(0x16f),_0x406a9b(0x17a),_0x568777(0x10f),_0x568777(0x144),_0x568777(0x128),_0x568777(0x215),_0x406a9b(0x1b5),_0x568777(0x137),_0x568777(0x11b),_0x568777(0x1d6),_0x2afe68(0x151),_0x568777(0x187),_0x568777(0x1f0),_0x406a9b(0x1ed),_0x568777(0x1c7),_0x568777(0x193),_0x568777(0x13f),_0x568777(0x1da),_0x568777(0xe1),_0x568777(0xdd),_0x406a9b(0x1ac),_0x568777(0x159),_0x568777(0x164)];return a0_0x3247=function(){return _0x29c597;},a0_0x3247();}function a0_0xb9fb(_0x508918,_0x36b5c5){var _0x532971=a0_0x5055();return a0_0xb9fb=function(_0x35aac5,_0x960cdb){_0x35aac5=_0x35aac5-0xbd;var _0x104863=_0x532971[_0x35aac5];return _0x104863;},a0_0xb9fb(_0x508918,_0x36b5c5);}function a0_0x13d8(){var _0x51db2b=a0_0x8e03,_0x6b019d=a0_0x1f50,_0x31197c=[_0x6b019d(0x2f7),_0x6b019d(0x1bc),_0x51db2b(0x121),'settings',_0x51db2b(0x180),_0x51db2b(0x16b),_0x6b019d(0x2a4),_0x6b019d(0x249),_0x6b019d(0x19f),_0x51db2b(0x1e6),_0x6b019d(0x27c),_0x6b019d(0x1bb),'setAttribute',_0x6b019d(0x218),_0x6b019d(0x2ac),_0x6b019d(0x232),_0x6b019d(0x247),_0x6b019d(0x24c),_0x6b019d(0x1dd),_0x6b019d(0x234),_0x6b019d(0x2fc),_0x6b019d(0x1f0),_0x6b019d(0x2da),_0x6b019d(0x289),_0x6b019d(0x296),_0x6b019d(0x25f),_0x51db2b(0x244),_0x6b019d(0x2c4),_0x6b019d(0x24f),_0x6b019d(0x25b),'destroy',_0x6b019d(0x1d9),_0x6b019d(0x1e9),_0x6b019d(0x1da),_0x51db2b(0x1f5),_0x51db2b(0x135),_0x6b019d(0x198),_0x51db2b(0x129),'915922KcJxZH',_0x6b019d(0x201),_0x6b019d(0x1bf),'overflowY',_0x51db2b(0x1f9),_0x6b019d(0x278),_0x6b019d(0x22e),_0x6b019d(0x256),_0x51db2b(0x196),_0x6b019d(0x210),_0x6b019d(0x1fe),_0x6b019d(0x23b),_0x51db2b(0x170),_0x6b019d(0x268),_0x6b019d(0x1de),_0x6b019d(0x1c2),_0x6b019d(0x1f8),_0x6b019d(0x272),_0x6b019d(0x1b1),_0x51db2b(0x131),_0x6b019d(0x1a9),_0x6b019d(0x275),_0x6b019d(0x257),_0x6b019d(0x28c),_0x6b019d(0x214),_0x51db2b(0x217),_0x6b019d(0x2d0),_0x6b019d(0x267),_0x6b019d(0x230),_0x6b019d(0x2cc),_0x6b019d(0x262),_0x6b019d(0x258),_0x51db2b(0x1a4),_0x51db2b(0x137),_0x6b019d(0x271),_0x6b019d(0x1d3),_0x6b019d(0x2dd),_0x6b019d(0x2ee),_0x6b019d(0x1b4),_0x51db2b(0x236),_0x6b019d(0x228),_0x6b019d(0x2b0),_0x6b019d(0x1d4),_0x6b019d(0x26f),_0x51db2b(0x1d1),_0x6b019d(0x236),_0x6b019d(0x1ee),_0x6b019d(0x2be),'indexOf','15488495mYowTC',_0x6b019d(0x1b9),_0x51db2b(0x1a0),_0x6b019d(0x226),_0x6b019d(0x1dc),_0x6b019d(0x298),_0x51db2b(0x186),_0x6b019d(0x2fd),_0x6b019d(0x1cd),_0x6b019d(0x277),_0x51db2b(0x23a),_0x6b019d(0x237),_0x6b019d(0x23d),_0x6b019d(0x1c8),_0x6b019d(0x2eb),_0x6b019d(0x29e),_0x6b019d(0x2f4),'tagName',_0x6b019d(0x2bc),_0x6b019d(0x1fa),_0x6b019d(0x25e),_0x6b019d(0x1c3),_0x6b019d(0x1eb),_0x6b019d(0x206),_0x51db2b(0x17c),_0x6b019d(0x21c),_0x6b019d(0x283),_0x51db2b(0x181),_0x6b019d(0x2b3),_0x6b019d(0x2d4),_0x6b019d(0x28b),_0x6b019d(0x1d8),_0x6b019d(0x1ab),_0x6b019d(0x2e9),_0x6b019d(0x2a5),_0x6b019d(0x1c6),_0x6b019d(0x2ba),_0x6b019d(0x255),_0x6b019d(0x261),_0x6b019d(0x208),_0x6b019d(0x209),_0x6b019d(0x264),_0x6b019d(0x1b3),_0x6b019d(0x1c4),_0x6b019d(0x284),_0x6b019d(0x2ec),_0x6b019d(0x28e),_0x6b019d(0x1e4),_0x6b019d(0x18e),_0x6b019d(0x19c),_0x6b019d(0x1d7),_0x51db2b(0x14e),_0x6b019d(0x1cf),_0x6b019d(0x2ad),_0x6b019d(0x290),_0x51db2b(0x1af),_0x6b019d(0x1a4),_0x6b019d(0x1b8),_0x6b019d(0x286),_0x6b019d(0x193),_0x6b019d(0x1cb),_0x6b019d(0x202),_0x6b019d(0x25a),'swipeEasing',_0x6b019d(0x1db),_0x6b019d(0x2bb),_0x6b019d(0x2b1),_0x6b019d(0x285),_0x6b019d(0x242),_0x6b019d(0x299),_0x6b019d(0x2ca),_0x6b019d(0x1ea),_0x6b019d(0x2e8),_0x6b019d(0x248),_0x6b019d(0x2e4),_0x6b019d(0x225),_0x6b019d(0x2f9),_0x6b019d(0x2b2),_0x6b019d(0x2e7),_0x6b019d(0x243),_0x6b019d(0x212),_0x6b019d(0x190),_0x51db2b(0x1c6),_0x51db2b(0x191),_0x6b019d(0x27f),_0x51db2b(0x167),_0x51db2b(0x1a2),_0x6b019d(0x2dc),_0x6b019d(0x20e),_0x6b019d(0x279),_0x51db2b(0x22e),_0x6b019d(0x1cc),_0x51db2b(0x241),_0x6b019d(0x23f),_0x6b019d(0x1a3),_0x6b019d(0x194),_0x51db2b(0x12f),_0x6b019d(0x273),_0x51db2b(0x18f),_0x6b019d(0x28a),_0x51db2b(0x15b),_0x6b019d(0x222),_0x6b019d(0x1d6),_0x6b019d(0x21b),_0x6b019d(0x297),_0x6b019d(0x2ff),_0x6b019d(0x1fd),_0x6b019d(0x2c7),_0x6b019d(0x20c),_0x6b019d(0x191),_0x6b019d(0x250),_0x6b019d(0x23e),_0x6b019d(0x2d5),_0x6b019d(0x22b),_0x6b019d(0x1af),_0x51db2b(0x1b4),_0x6b019d(0x2d9),_0x6b019d(0x254),_0x51db2b(0x165),'5181022GuitpI',_0x6b019d(0x23c),_0x6b019d(0x216),_0x6b019d(0x2e0),'7341950oTRXMP',_0x6b019d(0x1f3),'railBorderXWidth',_0x51db2b(0x114),_0x6b019d(0x24b),_0x6b019d(0x211),_0x6b019d(0x215),_0x51db2b(0x169),_0x51db2b(0x11a),_0x51db2b(0x117),_0x6b019d(0x21e),_0x6b019d(0x1e7),_0x6b019d(0x204),_0x6b019d(0x192),_0x6b019d(0x2ce),_0x6b019d(0x22d),_0x6b019d(0x260),_0x6b019d(0x280),'wheelDeltaX',_0x6b019d(0x2de),_0x6b019d(0x29c),_0x6b019d(0x19e),_0x6b019d(0x1df),_0x6b019d(0x2ef),_0x6b019d(0x1e8),_0x6b019d(0x2c1),_0x51db2b(0x231),_0x6b019d(0x295),'3047HMVFAt',_0x6b019d(0x1d1),_0x6b019d(0x1e6),_0x6b019d(0x26e),_0x51db2b(0x16c),'1146lFrdKI',_0x51db2b(0x1a7),_0x6b019d(0x1c9),_0x6b019d(0x2ea),_0x6b019d(0x2ed),_0x6b019d(0x2b9),_0x6b019d(0x2d6),_0x6b019d(0x217),_0x51db2b(0x144),_0x6b019d(0x1c7),_0x6b019d(0x1e5),_0x6b019d(0x1a6),_0x6b019d(0x2a0),_0x6b019d(0x2b5),_0x6b019d(0x2d7),_0x6b019d(0x2c2),_0x6b019d(0x1ae),_0x51db2b(0x118),_0x6b019d(0x1f1),_0x51db2b(0xf7),_0x6b019d(0x2e1),'pointerType',_0x6b019d(0x1f4),_0x6b019d(0x1a7),_0x6b019d(0x292),_0x6b019d(0x1aa),_0x6b019d(0x1e0),_0x6b019d(0x2e3),_0x6b019d(0x245),'wheelDelta',_0x6b019d(0x244),_0x6b019d(0x1d5),_0x6b019d(0x266),_0x6b019d(0x251),'metaKey',_0x6b019d(0x2e5),_0x51db2b(0x1dd),_0x6b019d(0x21d),_0x6b019d(0x2a9),_0x6b019d(0x2b7),_0x51db2b(0x24d),_0x6b019d(0x27b),_0x6b019d(0x287),_0x6b019d(0x221),_0x6b019d(0x2cd),'touches',_0x6b019d(0x2f5),_0x6b019d(0x219),_0x6b019d(0x2e2),_0x6b019d(0x1f6),_0x51db2b(0xf8),_0x6b019d(0x22c),_0x6b019d(0x26d),_0x6b019d(0x1ad),_0x51db2b(0x1c2),_0x6b019d(0x2f2),'6GUTwux',_0x6b019d(0x24e),_0x51db2b(0x205),_0x6b019d(0x1c1),_0x6b019d(0x25c),_0x51db2b(0x185),_0x6b019d(0x265),_0x6b019d(0x1ed),_0x51db2b(0x159),_0x6b019d(0x2fa),_0x6b019d(0x2f0),_0x51db2b(0xe4),_0x6b019d(0x294),_0x6b019d(0x293),_0x51db2b(0x1dc),_0x6b019d(0x197),_0x6b019d(0x241),_0x6b019d(0x2f3),_0x6b019d(0x1a5),_0x6b019d(0x2a2),_0x6b019d(0x270),_0x6b019d(0x19b),_0x6b019d(0x2d8),_0x51db2b(0x164),_0x6b019d(0x288),_0x6b019d(0x2c9),_0x51db2b(0x1c3),_0x6b019d(0x27a),_0x51db2b(0x178),_0x6b019d(0x20f),_0x6b019d(0x233),'2811304Czquhz',_0x6b019d(0x2bf),_0x51db2b(0x1c8),_0x6b019d(0x19a),_0x6b019d(0x1e3),_0x51db2b(0x100),_0x6b019d(0x252),_0x51db2b(0x166),'11UvwBOM','eventElement',_0x6b019d(0x1f2),_0x6b019d(0x22f),_0x6b019d(0x26b),_0x6b019d(0x200),_0x6b019d(0x2d1),_0x6b019d(0x2c6),_0x6b019d(0x196),_0x51db2b(0x17e),_0x6b019d(0x1c0),_0x6b019d(0x1d2),_0x6b019d(0x20a),_0x51db2b(0x1c7),_0x6b019d(0x2fe),_0x6b019d(0x259),_0x6b019d(0x224),_0x51db2b(0x1e3),_0x6b019d(0x240),'1434vnuFNa',_0x6b019d(0x28d),_0x51db2b(0x1e4)];return a0_0x13d8=function(){return _0x31197c;},a0_0x13d8();}function a0_0x1e4b(){var _0x1e6060=a0_0x1f50,_0x17b477=a0_0x5c16,_0x460092=a0_0x284e,_0x58127c=a0_0x2f85,_0x34c6da=a0_0x413e,_0x47f978=[_0x34c6da(0x172),_0x34c6da(0x209),_0x58127c(0xe8),_0x34c6da(0x182),_0x58127c(0xbc),_0x34c6da(0x1d1),_0x34c6da(0x10c),_0x34c6da(0x1c3),_0x34c6da(0xfb),_0x34c6da(0x1c8),_0x34c6da(0xe5),_0x58127c(0x180),_0x34c6da(0x1dd),_0x34c6da(0x1de),_0x58127c(0xf8),_0x34c6da(0x105),_0x34c6da(0xfd),_0x34c6da(0x108),_0x34c6da(0xe2),_0x34c6da(0x1ce),_0x34c6da(0x13f),_0x34c6da(0x1ef),_0x58127c(0x9e),_0x34c6da(0xfa),_0x17b477(0x137),_0x34c6da(0x146),_0x34c6da(0x1db),_0x34c6da(0x1cc),_0x34c6da(0xce),_0x34c6da(0x127),_0x34c6da(0x152),_0x58127c(0x1b1),_0x58127c(0x1e0),_0x34c6da(0x13b),_0x34c6da(0x14c),_0x34c6da(0x12d),_0x34c6da(0x1ab),_0x34c6da(0x151),_0x34c6da(0x1df),_0x460092(0x1a2),_0x34c6da(0x11d),_0x34c6da(0xeb),_0x34c6da(0x19e),_0x34c6da(0x179),_0x58127c(0xbf),_0x34c6da(0x141),_0x34c6da(0x17c),_0x34c6da(0x18c),_0x34c6da(0x1fa),_0x34c6da(0x1d9),_0x34c6da(0x157),_0x460092(0x1e6),_0x460092(0x19e),_0x34c6da(0x1e5),_0x34c6da(0x17d),_0x34c6da(0x101),_0x34c6da(0xd8),_0x34c6da(0x195),_0x34c6da(0xd9),_0x34c6da(0x1b7),_0x34c6da(0x18f),_0x58127c(0x1a5),_0x34c6da(0x1f9),_0x34c6da(0x189),_0x58127c(0x115),_0x34c6da(0xee),_0x34c6da(0x1a0),_0x34c6da(0x1ff),_0x34c6da(0x1bb),_0x34c6da(0x129),_0x58127c(0x171),_0x58127c(0x1de),_0x460092(0x215),_0x34c6da(0x1a3),_0x460092(0x122),_0x34c6da(0x1dc),_0x58127c(0x1b8),_0x58127c(0x1e2),_0x34c6da(0x159),_0x34c6da(0x137),_0x58127c(0x1ea),_0x34c6da(0x117),_0x34c6da(0x163),_0x34c6da(0x12e),_0x34c6da(0x136),_0x460092(0x203),_0x34c6da(0x132),_0x34c6da(0x186),_0x58127c(0x162),_0x34c6da(0xd4),_0x17b477(0x109),_0x34c6da(0x107),_0x58127c(0x13c),_0x34c6da(0x1c1),_0x34c6da(0x191),_0x34c6da(0x170),_0x34c6da(0x1e0),_0x34c6da(0x116),_0x34c6da(0x1a7),_0x58127c(0xb6),_0x34c6da(0xd2),_0x34c6da(0x115),_0x58127c(0xd1),_0x34c6da(0xf7),_0x460092(0x1c8),_0x34c6da(0x17e),_0x460092(0x125),_0x34c6da(0xcb),_0x34c6da(0xc8),_0x34c6da(0x1b3),_0x34c6da(0x1ec),_0x34c6da(0x203),_0x34c6da(0x13e),_0x34c6da(0xfc),_0x34c6da(0x10f),_0x58127c(0xac),_0x34c6da(0x14a),_0x34c6da(0x18a),_0x34c6da(0xd0),_0x34c6da(0x16c),_0x34c6da(0x12f),_0x34c6da(0x1e7),_0x34c6da(0x177),_0x34c6da(0x197),_0x34c6da(0x13a),_0x34c6da(0x1aa),_0x58127c(0xe6),_0x34c6da(0x19a),_0x58127c(0xec),_0x58127c(0x159),_0x58127c(0x192),_0x34c6da(0x13d),_0x34c6da(0x138),_0x34c6da(0x204),_0x58127c(0xd9),_0x34c6da(0x1c5),_0x58127c(0xc7),_0x34c6da(0x15c),_0x34c6da(0xd1),_0x34c6da(0xfe),_0x34c6da(0xe3),_0x34c6da(0x200),_0x34c6da(0x160),_0x58127c(0x17b),_0x34c6da(0x1b8),_0x34c6da(0x1f1),_0x58127c(0x1a7),_0x58127c(0xf1),_0x34c6da(0x1f4),_0x34c6da(0x1d6),_0x34c6da(0xdf),_0x34c6da(0x1ca),_0x34c6da(0x168),_0x34c6da(0x1ba),_0x58127c(0x14b),_0x58127c(0x18b),_0x34c6da(0x1e3),_0x34c6da(0x1a2),_0x58127c(0x18e),_0x34c6da(0xf5),_0x34c6da(0x12c),_0x58127c(0xa3),_0x34c6da(0x144),_0x34c6da(0x10d),_0x34c6da(0x19b),_0x34c6da(0x16b),_0x34c6da(0x201),_0x34c6da(0x1f5),_0x34c6da(0x206),_0x34c6da(0x1a9),_0x58127c(0x175),_0x34c6da(0x1b0),_0x34c6da(0xf6),_0x58127c(0x140),_0x34c6da(0x125),_0x34c6da(0x111),_0x34c6da(0x187),_0x34c6da(0x1ea),_0x1e6060(0x229),_0x34c6da(0x176),_0x34c6da(0x10a),_0x34c6da(0x1fc),_0x34c6da(0x1a6),_0x58127c(0x14d),_0x58127c(0x1ba),_0x34c6da(0x1c4),_0x460092(0x167),_0x58127c(0x10f),_0x34c6da(0x14f),_0x34c6da(0x169),_0x58127c(0x163),_0x34c6da(0x1e2),_0x34c6da(0xde),_0x58127c(0xfc),_0x58127c(0x117),_0x460092(0x220),_0x58127c(0x1b2),_0x34c6da(0x128),_0x34c6da(0x192),_0x34c6da(0x109),_0x34c6da(0xdc),_0x34c6da(0x11c),_0x58127c(0x1b3),_0x34c6da(0x1d7),_0x34c6da(0x103),_0x34c6da(0xc6),_0x34c6da(0x1e8),_0x58127c(0x13b),_0x34c6da(0x122),_0x58127c(0x181),_0x34c6da(0x114),_0x58127c(0x11b),_0x58127c(0x1aa),_0x34c6da(0x1bc),_0x460092(0x113),_0x34c6da(0x1c7),_0x58127c(0x13f),_0x58127c(0x121),_0x58127c(0xc0),_0x34c6da(0x150),_0x34c6da(0x15b),_0x34c6da(0x16f),_0x34c6da(0x166),_0x58127c(0x150),_0x34c6da(0x148),_0x34c6da(0x139),_0x34c6da(0x1ae),_0x34c6da(0x1cb),_0x34c6da(0x165),_0x58127c(0x1a0),_0x34c6da(0x126),_0x34c6da(0x106),_0x34c6da(0x19d),_0x34c6da(0xcf),_0x34c6da(0xe9),_0x34c6da(0x1a8),_0x460092(0x187),_0x58127c(0xa5),_0x34c6da(0x123),_0x17b477(0x1d7),_0x34c6da(0xc7),_0x460092(0xe5),_0x34c6da(0x194),_0x34c6da(0x1e9),_0x34c6da(0x1be),_0x58127c(0x126),_0x34c6da(0x112),_0x34c6da(0x10b),_0x34c6da(0x14d),_0x34c6da(0x15a),_0x58127c(0x1b6),_0x34c6da(0x18b),_0x58127c(0xe5),_0x34c6da(0xca),_0x34c6da(0x1bf),_0x34c6da(0x15e),_0x34c6da(0x1c6),_0x58127c(0x102),_0x58127c(0x124),_0x34c6da(0xe8),_0x58127c(0x1bb),_0x34c6da(0x202),_0x460092(0x14f),_0x34c6da(0x1f2),_0x34c6da(0x118),_0x34c6da(0x12a),_0x58127c(0x176),_0x58127c(0x1e7),_0x34c6da(0xc5),_0x34c6da(0x100),_0x58127c(0x18d),_0x34c6da(0x131),_0x34c6da(0x162),_0x58127c(0x18c),_0x58127c(0xe0),_0x1e6060(0x1fc),_0x34c6da(0xff),_0x34c6da(0x196),_0x58127c(0x112),_0x34c6da(0x1cd),_0x34c6da(0xe0),_0x34c6da(0xf3),_0x58127c(0xb3),_0x58127c(0x111),_0x58127c(0xcd),_0x34c6da(0x1cf),_0x34c6da(0xe4),_0x34c6da(0x16a),_0x34c6da(0x119),_0x34c6da(0x1da),_0x58127c(0x17f),_0x34c6da(0x183),_0x17b477(0x1b0),_0x34c6da(0x158),_0x34c6da(0xe6),_0x58127c(0x185),_0x34c6da(0xda),_0x58127c(0xe7),_0x34c6da(0x1d8),_0x17b477(0x11e),_0x34c6da(0x1b4),_0x34c6da(0x1a5),_0x34c6da(0x1c0),_0x34c6da(0x16d),_0x34c6da(0x199),_0x460092(0x198),_0x34c6da(0x142),_0x34c6da(0x13c),_0x34c6da(0x193),_0x34c6da(0x11a),_0x34c6da(0xf1),_0x17b477(0x13b),_0x34c6da(0x102),_0x34c6da(0x130),_0x34c6da(0x1b9),_0x34c6da(0x110),_0x34c6da(0x1d4),_0x34c6da(0x167),_0x460092(0x16b),_0x34c6da(0x1f0),_0x460092(0x1b3),_0x34c6da(0x147)];return a0_0x1e4b=function(){return _0x47f978;},a0_0x1e4b();}function a0_0x2c19(){var _0x1cb82c=a0_0x2c3f,_0x2976bf=a0_0x2f41,_0x5e8888=a0_0x1a8e,_0x18bc40=a0_0x1275,_0x473d5a=a0_0x23ca,_0x1a42c8=[_0x473d5a(0xba),_0x473d5a(0x17c),_0x473d5a(0x157),_0x473d5a(0x158),_0x473d5a(0x1aa),_0x18bc40(0x182),_0x473d5a(0x12c),_0x473d5a(0x18c),_0x473d5a(0x155),_0x473d5a(0x1b1),_0x473d5a(0x1b3),_0x473d5a(0x126),_0x473d5a(0x19e),_0x473d5a(0xae),_0x473d5a(0x1a8),_0x18bc40(0x133),_0x473d5a(0xb2),_0x473d5a(0xe8),_0x473d5a(0x15b),_0x473d5a(0x16f),_0x473d5a(0xb5),_0x473d5a(0xb6),_0x18bc40(0x19f),_0x473d5a(0x12d),_0x473d5a(0x124),_0x473d5a(0x190),_0x18bc40(0x135),_0x473d5a(0xa8),_0x18bc40(0x192),_0x18bc40(0x236),_0x473d5a(0x10b),_0x473d5a(0xf8),_0x18bc40(0x14e),_0x18bc40(0x1b5),_0x473d5a(0xf6),_0x18bc40(0x14c),_0x473d5a(0xbd),_0x473d5a(0x165),_0x473d5a(0x148),_0x473d5a(0x143),_0x473d5a(0x111),_0x473d5a(0xe1),_0x473d5a(0x19c),_0x473d5a(0x11f),_0x473d5a(0x193),_0x473d5a(0x180),_0x473d5a(0x1a5),_0x18bc40(0x238),_0x473d5a(0x170),_0x473d5a(0x113),_0x473d5a(0x185),_0x473d5a(0x131),_0x473d5a(0x182),_0x473d5a(0xa4),_0x18bc40(0x23d),_0x18bc40(0x21d),_0x473d5a(0xca),_0x473d5a(0x136),_0x473d5a(0x19a),_0x473d5a(0x166),_0x5e8888(0x22f),_0x473d5a(0x1a0),_0x473d5a(0xc2),_0x473d5a(0xdf),_0x473d5a(0x142),_0x473d5a(0xed),_0x473d5a(0x17d),_0x473d5a(0x109),_0x2976bf(0x1e7),_0x473d5a(0xf9),_0x473d5a(0x12e),_0x473d5a(0x195),_0x473d5a(0x106),_0x473d5a(0x121),_0x5e8888(0x28a),_0x18bc40(0x20d),_0x18bc40(0x202),_0x18bc40(0x203),_0x18bc40(0x209),_0x5e8888(0x1e1),_0x473d5a(0xeb),_0x18bc40(0x213),_0x473d5a(0x178),_0x473d5a(0x1af),_0x473d5a(0x122),_0x473d5a(0xa2),_0x473d5a(0x17f),_0x18bc40(0x1db),_0x473d5a(0x16c),_0x473d5a(0x108),_0x473d5a(0x156),_0x5e8888(0x22c),_0x473d5a(0x17b),_0x18bc40(0x1c4),_0x18bc40(0x162),_0x2976bf(0x260),_0x473d5a(0xf4),_0x473d5a(0x173),_0x473d5a(0x125),_0x18bc40(0x1f0),_0x18bc40(0x177),_0x473d5a(0xab),_0x18bc40(0x1ca),_0x473d5a(0xd1),_0x473d5a(0xec),_0x473d5a(0x112),_0x473d5a(0x10c),_0x473d5a(0x14d),_0x473d5a(0x13a),_0x473d5a(0x154),_0x473d5a(0xfa),_0x2976bf(0x21b),_0x473d5a(0x197),_0x18bc40(0x1a6),_0x473d5a(0x177),_0x473d5a(0x151),_0x473d5a(0x10f),_0x473d5a(0x174),_0x473d5a(0x188),_0x473d5a(0xc1),_0x473d5a(0x161),_0x5e8888(0x2b0),_0x18bc40(0x1cd),_0x473d5a(0xf1),_0x473d5a(0xa1),_0x473d5a(0xa7),_0x473d5a(0xe7),_0x18bc40(0x234),_0x473d5a(0x104),_0x473d5a(0x164),_0x473d5a(0x16a),_0x473d5a(0x100),_0x473d5a(0x11d),_0x473d5a(0xa5),_0x473d5a(0x181),_0x18bc40(0x1de),_0x473d5a(0x194),_0x18bc40(0x1af),_0x18bc40(0x1c3),_0x473d5a(0xb4),_0x473d5a(0x1b0),_0x473d5a(0x1a6),_0x18bc40(0x1ff),_0x473d5a(0x110),_0x473d5a(0xd8),_0x473d5a(0xf0),_0x473d5a(0x153),_0x473d5a(0xbb),_0x473d5a(0x1a2),_0x473d5a(0xd4),_0x473d5a(0x16b),_0x18bc40(0x205),_0x1cb82c(0x17d),_0x473d5a(0xdd),_0x18bc40(0x1c8),_0x473d5a(0x171),_0x18bc40(0x1d0),_0x473d5a(0xfb),_0x473d5a(0x1a1),_0x5e8888(0x1c0),_0x473d5a(0xc8),_0x473d5a(0xcc),_0x473d5a(0x120),_0x18bc40(0x1bd),_0x18bc40(0x130),_0x2976bf(0x1e1),_0x473d5a(0x17a),_0x473d5a(0x11e),_0x473d5a(0x115),_0x473d5a(0xd0),_0x473d5a(0xd6),_0x473d5a(0x189),_0x473d5a(0x168),_0x473d5a(0x12f),_0x473d5a(0x10d),_0x473d5a(0x19d),_0x473d5a(0x196),_0x18bc40(0x1a2),_0x473d5a(0xc7),_0x18bc40(0x14d),_0x473d5a(0xe2),_0x18bc40(0x131),_0x473d5a(0xa9),_0x473d5a(0xff),_0x473d5a(0xf5),_0x18bc40(0x21b),_0x473d5a(0xe3),_0x473d5a(0xfe),_0x473d5a(0x198),_0x473d5a(0xa6),_0x473d5a(0xb8),_0x473d5a(0x14b),_0x473d5a(0xb9),_0x18bc40(0x1c7),_0x473d5a(0xb3),_0x18bc40(0x187),_0x473d5a(0x18f),_0x473d5a(0xda),_0x473d5a(0x14c),_0x473d5a(0x1ab),_0x473d5a(0xc4),_0x473d5a(0x16d),_0x473d5a(0x105),_0x473d5a(0x1a7),_0x473d5a(0xc5),_0x473d5a(0x179),_0x473d5a(0x163),_0x18bc40(0x15a),_0x473d5a(0x12b),_0x473d5a(0x138),_0x18bc40(0x1e4),_0x473d5a(0xcd),_0x18bc40(0x211),_0x18bc40(0x1f7),_0x473d5a(0x167),_0x473d5a(0x14e),_0x18bc40(0x216),_0x18bc40(0x13b),_0x473d5a(0x1a3),_0x473d5a(0x192),_0x5e8888(0x1a5),_0x473d5a(0x191),_0x473d5a(0x117),_0x18bc40(0x1ad),_0x18bc40(0x1a3),_0x473d5a(0xd3),_0x473d5a(0x152),_0x473d5a(0x10a),_0x473d5a(0x13f),_0x473d5a(0x1b2),_0x473d5a(0x15d),_0x473d5a(0x1ad),_0x473d5a(0xde),_0x18bc40(0x134),_0x473d5a(0x15c),_0x473d5a(0x169),_0x473d5a(0x114),_0x473d5a(0xbe),_0x18bc40(0x140),_0x473d5a(0xd9),_0x473d5a(0x132),_0x473d5a(0xfd),_0x473d5a(0x199),_0x18bc40(0x164),_0x473d5a(0x13e),_0x2976bf(0x1de),_0x473d5a(0x13c),_0x18bc40(0x16e),_0x18bc40(0x176),_0x18bc40(0x150),_0x473d5a(0x141),_0x473d5a(0xaf),_0x473d5a(0x144),_0x5e8888(0x2af),_0x18bc40(0x1e5),_0x18bc40(0x1da),_0x473d5a(0xfc),_0x473d5a(0x183),_0x473d5a(0xce),_0x473d5a(0x1ac),_0x473d5a(0xdc),_0x18bc40(0x24b),_0x473d5a(0x14f),_0x473d5a(0x140),_0x473d5a(0x102),_0x473d5a(0x18a),_0x473d5a(0x175),_0x473d5a(0xbf),_0x473d5a(0x145),_0x473d5a(0xf7),_0x473d5a(0x116),_0x473d5a(0xd2),_0x473d5a(0x15a),_0x473d5a(0xb1),_0x473d5a(0x137),_0x18bc40(0x15d),_0x473d5a(0x11b),_0x473d5a(0x14a),_0x473d5a(0xdb),_0x5e8888(0x2b3),_0x473d5a(0xc9),_0x18bc40(0x1f1),_0x473d5a(0x15e),_0x473d5a(0x186),_0x473d5a(0x135),_0x473d5a(0xaa)];return a0_0x2c19=function(){return _0x1a42c8;},a0_0x2c19();}function a0_0x2fd1(){var _0x146dc4=a0_0x413e,_0x4f2610=a0_0x543f,_0x17b019=a0_0x5a15,_0x560d7b=a0_0x2c3f,_0x511754=[_0x146dc4(0x1f3),_0x17b019(0x291),_0x17b019(0x153),_0x560d7b(0xf2),_0x17b019(0x1c2),_0x17b019(0x28b),_0x560d7b(0x1a7),_0x4f2610(0x17e),_0x146dc4(0xf0),_0x560d7b(0x1b2),_0x560d7b(0xf6),_0x560d7b(0x1c9),_0x560d7b(0x14f),_0x560d7b(0x1f5),_0x560d7b(0x18a),_0x560d7b(0x163),_0x560d7b(0x1c1),_0x560d7b(0x11f),_0x560d7b(0x183),_0x560d7b(0x1cc),_0x560d7b(0x101),_0x4f2610(0x102),_0x17b019(0x21a),_0x560d7b(0xd9),_0x17b019(0x23f),_0x560d7b(0xcc),_0x17b019(0x18c),_0x4f2610(0xea),_0x560d7b(0x153),_0x560d7b(0x10f),_0x560d7b(0x1b6),_0x560d7b(0x1f1),_0x17b019(0x20d),_0x560d7b(0x157),_0x560d7b(0x1cd),_0x560d7b(0xd5),_0x560d7b(0x1b9),_0x560d7b(0x144),_0x560d7b(0x17f),_0x560d7b(0x1e1),_0x560d7b(0x142),_0x560d7b(0x135),_0x17b019(0x1ea),_0x560d7b(0x1bb),_0x560d7b(0x190),_0x560d7b(0xda),_0x560d7b(0x1ab),_0x4f2610(0x1b0),_0x560d7b(0x130),_0x4f2610(0x107),_0x560d7b(0x171),_0x560d7b(0x151),_0x17b019(0x280),_0x560d7b(0x145),_0x560d7b(0x188),_0x560d7b(0xfa),_0x560d7b(0x159),_0x560d7b(0x12f),_0x560d7b(0x165),_0x17b019(0x15d),_0x17b019(0x200),_0x560d7b(0x197),_0x560d7b(0xfd),_0x560d7b(0x18c),_0x560d7b(0x184),_0x17b019(0x182),_0x560d7b(0xc3),_0x17b019(0x265),_0x560d7b(0x17a),_0x560d7b(0x16a),_0x17b019(0x246),_0x4f2610(0x169),_0x560d7b(0xfc),_0x17b019(0x20f),_0x560d7b(0x128),_0x560d7b(0x1b3),_0x17b019(0x260),_0x560d7b(0x149),_0x560d7b(0x122),_0x560d7b(0x1f3),_0x560d7b(0x13b),_0x560d7b(0x14d),_0x560d7b(0xdf),_0x560d7b(0x116),_0x560d7b(0xff),_0x560d7b(0x13e),_0x560d7b(0x18b),_0x4f2610(0x1d1),_0x560d7b(0xde),_0x560d7b(0x14a),_0x560d7b(0x136),_0x560d7b(0x1c8),_0x560d7b(0xd6),_0x560d7b(0x1d6),_0x17b019(0x195),_0x560d7b(0x1d1),_0x17b019(0x22c),_0x560d7b(0x15d),_0x560d7b(0x161),_0x560d7b(0xfe),_0x560d7b(0x1a2),_0x17b019(0x204),_0x560d7b(0x1c3),_0x560d7b(0x1b7),_0x560d7b(0x1d8),_0x560d7b(0x186),_0x560d7b(0x1c0),_0x560d7b(0x111),_0x560d7b(0x18d),_0x560d7b(0x1a3),_0x17b019(0x178),_0x17b019(0x26d),_0x560d7b(0x1ef),_0x17b019(0x28d),_0x560d7b(0x12c),_0x17b019(0x234),_0x560d7b(0x138),_0x560d7b(0x1a4),_0x560d7b(0x1aa),_0x560d7b(0x1c7),_0x560d7b(0x194),_0x560d7b(0x17c),_0x17b019(0x193),_0x560d7b(0x147),_0x560d7b(0x199),_0x17b019(0x1e9),_0x560d7b(0xfb),_0x560d7b(0x174),_0x560d7b(0xe5),_0x560d7b(0x18e),_0x17b019(0x1cf),_0x560d7b(0x187),_0x17b019(0x19a),_0x560d7b(0x109),_0x4f2610(0x183),_0x560d7b(0x1ea),_0x560d7b(0x158),_0x560d7b(0x13a),_0x560d7b(0x11e),_0x560d7b(0x18f),_0x4f2610(0x16e),_0x560d7b(0xf9),_0x560d7b(0xe7),_0x560d7b(0x167),_0x560d7b(0xf7),_0x4f2610(0x1a9),_0x17b019(0x22b),_0x560d7b(0x1d9),_0x560d7b(0x173),_0x560d7b(0x119),_0x560d7b(0xd4),_0x560d7b(0x1e6),_0x560d7b(0x195),_0x560d7b(0xca),_0x17b019(0x28f),_0x560d7b(0x113),_0x17b019(0x1ba),_0x17b019(0x188),_0x560d7b(0x1e2),_0x560d7b(0x191),_0x560d7b(0x118),_0x4f2610(0x1fe),_0x560d7b(0x1dc),_0x560d7b(0xd3),_0x17b019(0x253),_0x560d7b(0x134),_0x560d7b(0xe1),_0x560d7b(0x162),_0x560d7b(0xef),_0x146dc4(0x154),_0x17b019(0x1e0),_0x560d7b(0x1e3),_0x560d7b(0xea),_0x560d7b(0x1b4),_0x560d7b(0xcf),_0x560d7b(0x1b0),_0x560d7b(0x154),_0x560d7b(0xf3),_0x17b019(0x262),_0x560d7b(0x1de),_0x560d7b(0x105),_0x560d7b(0x104),_0x17b019(0x1dc),_0x560d7b(0x11a),_0x560d7b(0x178),_0x560d7b(0x1a5),_0x560d7b(0x139),_0x560d7b(0x155),_0x17b019(0x257),_0x560d7b(0x1c6),_0x560d7b(0xd0),_0x560d7b(0xe2),_0x560d7b(0x16e),_0x17b019(0x1a3),_0x17b019(0x292),_0x560d7b(0xe6),_0x560d7b(0xe0),_0x560d7b(0x1ee),_0x17b019(0x15e),_0x560d7b(0x115),_0x560d7b(0x10a),_0x560d7b(0xcd),_0x560d7b(0x1e9),_0x560d7b(0x15c),_0x560d7b(0x1dd),_0x17b019(0x196),_0x560d7b(0x16b),_0x560d7b(0x192),_0x560d7b(0x1e0),_0x560d7b(0x15b),_0x17b019(0x258),_0x560d7b(0xed),_0x560d7b(0xc6),_0x560d7b(0x10c),_0x560d7b(0x1b5),_0x560d7b(0x16f),_0x560d7b(0x1ae),_0x560d7b(0x15f),_0x560d7b(0xc7),_0x560d7b(0x1ce),_0x17b019(0x203),_0x17b019(0x298),_0x560d7b(0x1c2),_0x560d7b(0x133),_0x560d7b(0x1be),_0x560d7b(0x131),_0x560d7b(0x1d3),_0x17b019(0x155),_0x4f2610(0x132),_0x560d7b(0x180),_0x560d7b(0x1d5),_0x560d7b(0xd1),_0x560d7b(0xf4),_0x17b019(0x219),_0x560d7b(0x129),_0x560d7b(0x19c),_0x560d7b(0xdd),_0x560d7b(0x169),_0x560d7b(0x1af),_0x4f2610(0x18d),_0x4f2610(0x114),_0x560d7b(0x19e),_0x560d7b(0x103),_0x560d7b(0x127),_0x17b019(0x1a9),_0x17b019(0x27e),_0x17b019(0x232),_0x560d7b(0x10b),_0x17b019(0x274),_0x560d7b(0x152),_0x560d7b(0x181),_0x560d7b(0x1ac),_0x17b019(0x19f),_0x17b019(0x294),_0x560d7b(0x1bf),_0x560d7b(0x117),_0x17b019(0x26b),_0x560d7b(0x1ec),_0x560d7b(0x114),_0x17b019(0x25f),_0x560d7b(0x1bc),_0x560d7b(0x14e),_0x560d7b(0x137),_0x560d7b(0x176),_0x4f2610(0x1a7),_0x560d7b(0xc8),_0x560d7b(0x1ba),_0x4f2610(0x1f8),_0x560d7b(0x11c),_0x560d7b(0x13f),_0x17b019(0x206),_0x17b019(0x1f3),_0x17b019(0x1d4),_0x17b019(0x1cb),_0x560d7b(0x179),_0x560d7b(0x166),_0x560d7b(0x1f0),_0x560d7b(0x150),_0x560d7b(0x125),_0x560d7b(0x112),_0x560d7b(0xe4),_0x560d7b(0x102),_0x560d7b(0xe3),_0x560d7b(0x19f),_0x17b019(0x1d8),_0x560d7b(0xeb),_0x560d7b(0x1e8),_0x17b019(0x27b),_0x17b019(0x20e),_0x560d7b(0x11d),_0x560d7b(0x1da),_0x560d7b(0x1eb),_0x560d7b(0x189),_0x560d7b(0x123),_0x560d7b(0xc4),_0x560d7b(0x1f2),_0x560d7b(0x1d0),_0x560d7b(0x19b),_0x560d7b(0xee),_0x17b019(0x1a1)];return a0_0x2fd1=function(){return _0x511754;},a0_0x2fd1();}function a0_0x2f41(_0x23e10d,_0x2a7390){var _0x4bc1d7=a0_0x2fd1();return a0_0x2f41=function(_0x5cb357,_0x5a417a){_0x5cb357=_0x5cb357-0x180;var _0x54e892=_0x4bc1d7[_0x5cb357];return _0x54e892;},a0_0x2f41(_0x23e10d,_0x2a7390);}function a0_0x119d(){var _0x44f3c7=a0_0x413e,_0x4fd671=a0_0x543f,_0x570bf6=a0_0x5a15,_0x18dddb=a0_0x2c3f,_0x5793f1=a0_0x2f41,_0x4c0ed8=a0_0x1a8e,_0x5dd802=[_0x4c0ed8(0x252),_0x4c0ed8(0x1f9),_0x4c0ed8(0x220),_0x4c0ed8(0x2a3),_0x4c0ed8(0x1bd),_0x4c0ed8(0x1be),_0x5793f1(0x246),_0x18dddb(0x1e7),_0x4c0ed8(0x1ea),_0x4c0ed8(0x270),_0x4c0ed8(0x1a6),_0x4c0ed8(0x20f),_0x18dddb(0x141),_0x5793f1(0x256),_0x4c0ed8(0x268),_0x4c0ed8(0x1cd),_0x4c0ed8(0x25b),_0x4c0ed8(0x254),_0x4c0ed8(0x241),_0x4c0ed8(0x28b),_0x4c0ed8(0x21b),_0x5793f1(0x202),_0x5793f1(0x23b),_0x4c0ed8(0x242),_0x4c0ed8(0x24a),_0x4c0ed8(0x244),_0x4c0ed8(0x23c),_0x4c0ed8(0x24c),_0x5793f1(0x22e),_0x4c0ed8(0x1ee),_0x4c0ed8(0x291),_0x4c0ed8(0x29d),_0x4c0ed8(0x2b9),_0x4c0ed8(0x263),_0x4c0ed8(0x292),_0x4c0ed8(0x24b),_0x4c0ed8(0x26f),_0x4c0ed8(0x1de),_0x4c0ed8(0x1f7),_0x18dddb(0x146),_0x5793f1(0x1ae),_0x4c0ed8(0x282),_0x4c0ed8(0x2ae),_0x4c0ed8(0x262),_0x18dddb(0x10d),_0x4c0ed8(0x1fb),_0x18dddb(0x19a),_0x4c0ed8(0x294),_0x5793f1(0x1fb),_0x4c0ed8(0x1b7),_0x4c0ed8(0x267),_0x5793f1(0x26d),_0x5793f1(0x208),_0x4c0ed8(0x224),_0x4c0ed8(0x1cf),_0x4c0ed8(0x20a),_0x4c0ed8(0x2ab),_0x4c0ed8(0x2a2),_0x4c0ed8(0x1d0),_0x4c0ed8(0x1f1),_0x4c0ed8(0x1ff),_0x5793f1(0x27a),_0x5793f1(0x1b9),_0x4c0ed8(0x1b9),_0x4c0ed8(0x24f),_0x4c0ed8(0x236),_0x4c0ed8(0x258),_0x5793f1(0x1f0),_0x5793f1(0x22a),_0x4c0ed8(0x295),_0x4c0ed8(0x2a9),_0x4c0ed8(0x259),_0x18dddb(0x1ed),_0x5793f1(0x1f3),_0x4c0ed8(0x25a),_0x570bf6(0x272),_0x18dddb(0x19d),_0x4c0ed8(0x1f6),_0x4c0ed8(0x233),_0x5793f1(0x18d),_0x5793f1(0x282),_0x4c0ed8(0x2ac),_0x4c0ed8(0x21f),_0x4c0ed8(0x20b),_0x4c0ed8(0x271),_0x4c0ed8(0x211),_0x5793f1(0x294),_0x18dddb(0x1d4),_0x4c0ed8(0x1e2),_0x4c0ed8(0x1ec),_0x4c0ed8(0x218),_0x4c0ed8(0x289),_0x5793f1(0x204),_0x570bf6(0x268),_0x5793f1(0x225),_0x4c0ed8(0x1c3),_0x4c0ed8(0x287),_0x4c0ed8(0x245),_0x4c0ed8(0x226),_0x4c0ed8(0x27b),_0x4c0ed8(0x29a),_0x5793f1(0x201),_0x4c0ed8(0x22b),_0x4c0ed8(0x1bf),_0x5793f1(0x240),_0x5793f1(0x2a5),_0x4c0ed8(0x1db),_0x4c0ed8(0x1a8),_0x4c0ed8(0x219),_0x4fd671(0x20e),_0x5793f1(0x267),_0x4c0ed8(0x265),_0x4c0ed8(0x228),_0x4c0ed8(0x28c),_0x5793f1(0x1fc),_0x4c0ed8(0x23f),_0x4c0ed8(0x1e5),_0x4c0ed8(0x1f0),_0x4c0ed8(0x21c),_0x4c0ed8(0x298),_0x4c0ed8(0x2ad),_0x4c0ed8(0x2a7),_0x5793f1(0x184),_0x5793f1(0x272),_0x4c0ed8(0x1ad),_0x4c0ed8(0x1bb),_0x4c0ed8(0x273),_0x4c0ed8(0x1ae),_0x4c0ed8(0x21e),_0x44f3c7(0x174),_0x4c0ed8(0x20e),_0x4c0ed8(0x207),_0x4c0ed8(0x27a),_0x5793f1(0x197),_0x4c0ed8(0x29f),_0x4c0ed8(0x1dd),_0x4c0ed8(0x238),_0x4c0ed8(0x256),_0x4c0ed8(0x2ba),_0x5793f1(0x1ba),_0x4c0ed8(0x1ce),_0x4c0ed8(0x1d8),_0x4c0ed8(0x209),_0x4c0ed8(0x1e9),_0x4c0ed8(0x1c5),_0x5793f1(0x1a6),_0x4c0ed8(0x22e),_0x4c0ed8(0x2a8),_0x4c0ed8(0x2b7),_0x4c0ed8(0x266),_0x4c0ed8(0x2b5),_0x4c0ed8(0x1ef),_0x4c0ed8(0x232),_0x4c0ed8(0x279),_0x4c0ed8(0x23d),_0x4c0ed8(0x1b2),_0x18dddb(0x108),_0x4c0ed8(0x1fe),_0x4c0ed8(0x208),_0x5793f1(0x1e9),_0x4c0ed8(0x255),_0x4c0ed8(0x269),_0x4c0ed8(0x283),_0x4c0ed8(0x1a0),_0x4c0ed8(0x27c),_0x4c0ed8(0x2a5),_0x4c0ed8(0x264),_0x4c0ed8(0x293),_0x4c0ed8(0x231),_0x5793f1(0x21a),_0x4c0ed8(0x1b3),_0x4c0ed8(0x1b6),_0x4c0ed8(0x28f),_0x4c0ed8(0x225),_0x4c0ed8(0x1fc),_0x4c0ed8(0x277),_0x4c0ed8(0x247),_0x4c0ed8(0x26b),_0x18dddb(0x110),_0x4c0ed8(0x1d2),_0x4c0ed8(0x1ab),_0x4c0ed8(0x202),_0x4c0ed8(0x280),_0x4c0ed8(0x22a),_0x4c0ed8(0x1e3),_0x4c0ed8(0x1b0),_0x5793f1(0x226),_0x18dddb(0xf8),_0x4c0ed8(0x29b),_0x4c0ed8(0x21d),_0x4c0ed8(0x29e),_0x4c0ed8(0x261),_0x4c0ed8(0x1c1),_0x4c0ed8(0x1f5),_0x4c0ed8(0x1cb),_0x4c0ed8(0x2a4),_0x4c0ed8(0x28e),_0x4c0ed8(0x251),_0x4c0ed8(0x1b1),_0x4c0ed8(0x1aa),_0x4c0ed8(0x2c3),_0x4c0ed8(0x296),_0x5793f1(0x284),_0x4c0ed8(0x275),_0x4c0ed8(0x297),_0x4c0ed8(0x260),_0x4c0ed8(0x222),_0x4c0ed8(0x1d4),_0x4c0ed8(0x235),_0x5793f1(0x257),_0x4c0ed8(0x278),_0x4c0ed8(0x2bc),_0x5793f1(0x243),_0x5793f1(0x1ab),_0x4c0ed8(0x217),_0x4c0ed8(0x203),_0x4c0ed8(0x1a1),_0x5793f1(0x19a),_0x4c0ed8(0x1e8),_0x4c0ed8(0x230),_0x5793f1(0x298),_0x4c0ed8(0x237),_0x4c0ed8(0x1c6),_0x5793f1(0x20f),_0x5793f1(0x1fa),_0x4c0ed8(0x204),_0x4c0ed8(0x21a),_0x4c0ed8(0x1c9),_0x4c0ed8(0x257),_0x4c0ed8(0x1dc),_0x4c0ed8(0x299),_0x4c0ed8(0x20d),_0x4c0ed8(0x248),_0x4c0ed8(0x243),_0x18dddb(0x121),_0x4c0ed8(0x290),_0x4c0ed8(0x1ac),_0x5793f1(0x25e),_0x4c0ed8(0x1ca),_0x4c0ed8(0x1da),_0x18dddb(0x124),_0x5793f1(0x286),_0x4c0ed8(0x250),_0x4c0ed8(0x24e),_0x5793f1(0x264),_0x4c0ed8(0x2be),_0x4c0ed8(0x23b),_0x4c0ed8(0x285),_0x4c0ed8(0x1e4),_0x4c0ed8(0x253),_0x4c0ed8(0x23e),_0x4c0ed8(0x2bd),_0x5793f1(0x1fd),_0x4c0ed8(0x1d9),_0x4c0ed8(0x1a9),_0x4c0ed8(0x2b2),_0x4c0ed8(0x221),_0x4c0ed8(0x1b5),_0x4c0ed8(0x1c2),_0x4c0ed8(0x25c),_0x4c0ed8(0x284),_0x4c0ed8(0x24d),_0x4c0ed8(0x2c2),_0x5793f1(0x249),_0x4c0ed8(0x1e7),_0x4c0ed8(0x205),_0x4c0ed8(0x25e),_0x4c0ed8(0x1bc),_0x4c0ed8(0x200),_0x5793f1(0x1cd),_0x4c0ed8(0x2a0),_0x4c0ed8(0x2bb),_0x4c0ed8(0x23a),_0x4c0ed8(0x1d3),_0x5793f1(0x2a9),_0x5793f1(0x185),_0x4c0ed8(0x1e6),_0x5793f1(0x1ad),_0x4c0ed8(0x281),_0x4c0ed8(0x1c8),_0x5793f1(0x26c),_0x5793f1(0x26b),_0x4c0ed8(0x227),_0x4c0ed8(0x1c4),_0x5793f1(0x1d8),_0x4c0ed8(0x2b4),_0x4c0ed8(0x239),_0x4c0ed8(0x1ed),_0x5793f1(0x182),_0x5793f1(0x203),_0x4c0ed8(0x249)];return a0_0x119d=function(){return _0x5dd802;},a0_0x119d();}function a0_0x47ff(){var _0x386679=a0_0x1a8e,_0x379acb=a0_0x1275,_0x9c28b2=a0_0x23ca,_0x2fa6e1=a0_0x32fc,_0xac1507=[_0x2fa6e1(0x19e),_0x2fa6e1(0x1a3),_0x2fa6e1(0x1c4),_0x2fa6e1(0x26c),_0x2fa6e1(0x1ff),_0x2fa6e1(0x2ac),_0x2fa6e1(0x215),_0x2fa6e1(0x265),_0x9c28b2(0x146),_0x2fa6e1(0x204),_0x2fa6e1(0x1db),_0x386679(0x1f4),_0x2fa6e1(0x1e1),_0x2fa6e1(0x1ca),_0x9c28b2(0x11a),_0x2fa6e1(0x1b1),_0x2fa6e1(0x27a),_0x2fa6e1(0x1d6),_0x2fa6e1(0x2a5),_0x9c28b2(0xe5),_0x2fa6e1(0x267),_0x2fa6e1(0x1aa),_0x2fa6e1(0x294),_0x2fa6e1(0x276),_0x2fa6e1(0x1f0),_0x2fa6e1(0x211),_0x2fa6e1(0x269),_0x9c28b2(0x101),_0x2fa6e1(0x27b),_0x9c28b2(0x15f),_0x2fa6e1(0x1ef),_0x2fa6e1(0x1b7),_0x2fa6e1(0x1c3),_0x2fa6e1(0x280),_0x2fa6e1(0x1d8),_0x379acb(0x1e6),_0x2fa6e1(0x27d),_0x9c28b2(0x159),_0x2fa6e1(0x2a1),_0x2fa6e1(0x24f),_0x2fa6e1(0x1b6),_0x9c28b2(0x118),_0x2fa6e1(0x1a4),_0x2fa6e1(0x28b),_0x2fa6e1(0x1a5),_0x2fa6e1(0x243),_0x2fa6e1(0x21b),_0x2fa6e1(0x22f),_0x2fa6e1(0x2b4),_0x2fa6e1(0x2a9),_0x2fa6e1(0x202),_0x2fa6e1(0x20d),_0x2fa6e1(0x206),_0x2fa6e1(0x29b),_0x2fa6e1(0x2ba),_0x2fa6e1(0x1f9),_0x2fa6e1(0x275),_0x2fa6e1(0x244),_0x2fa6e1(0x2b2),_0x2fa6e1(0x248),_0x2fa6e1(0x1d1),_0x2fa6e1(0x258),_0x2fa6e1(0x209),_0x9c28b2(0xd7),_0x2fa6e1(0x253),_0x2fa6e1(0x235),_0x9c28b2(0x119),_0x9c28b2(0x133),_0x9c28b2(0x128),_0x2fa6e1(0x29f),_0x9c28b2(0xef),_0x2fa6e1(0x1ae),_0x2fa6e1(0x288),_0x2fa6e1(0x1f1),_0x2fa6e1(0x28f),_0x2fa6e1(0x200),_0x2fa6e1(0x1c2),_0x2fa6e1(0x27e),_0x2fa6e1(0x1c0),_0x2fa6e1(0x1b3),_0x2fa6e1(0x24d),_0x9c28b2(0x160),_0x2fa6e1(0x225),_0x2fa6e1(0x1f3),_0x2fa6e1(0x20f),_0x379acb(0x22d),_0x2fa6e1(0x22d),_0x2fa6e1(0x234),_0x9c28b2(0xac),_0x2fa6e1(0x299),_0x2fa6e1(0x28d),_0x9c28b2(0x18e),_0x2fa6e1(0x298),_0x2fa6e1(0x260),_0x9c28b2(0x123),_0x2fa6e1(0x1bd),_0x2fa6e1(0x29e),_0x2fa6e1(0x220),_0x2fa6e1(0x208),_0x2fa6e1(0x242),_0x2fa6e1(0x268),_0x2fa6e1(0x262),_0x2fa6e1(0x274),_0x2fa6e1(0x270),_0x2fa6e1(0x27f),_0x2fa6e1(0x1d7),_0x9c28b2(0x18b),_0x2fa6e1(0x224),_0x2fa6e1(0x1da),_0x2fa6e1(0x230),_0x379acb(0x189),_0x2fa6e1(0x22c),_0x2fa6e1(0x25e),_0x2fa6e1(0x295),_0x2fa6e1(0x29a),_0x2fa6e1(0x213),_0x2fa6e1(0x210),_0x2fa6e1(0x20a),_0x2fa6e1(0x23c),_0x9c28b2(0x184),_0x2fa6e1(0x22e),_0x2fa6e1(0x2b9),_0x2fa6e1(0x279),_0x2fa6e1(0x21a),_0x2fa6e1(0x246),_0x379acb(0x1b4),_0x379acb(0x24d),_0x2fa6e1(0x1c8),_0x9c28b2(0xe9),_0x2fa6e1(0x23e),_0x2fa6e1(0x273),_0x2fa6e1(0x2b0),_0x9c28b2(0x13d),_0x2fa6e1(0x291),_0x2fa6e1(0x227),_0x2fa6e1(0x1ed),_0x9c28b2(0x1b4),_0x2fa6e1(0x1ab),_0x2fa6e1(0x23f),_0x2fa6e1(0x237),_0x2fa6e1(0x2b6),_0x2fa6e1(0x236),_0x9c28b2(0x19b),_0x2fa6e1(0x212),_0x2fa6e1(0x26a),_0x2fa6e1(0x216),_0x2fa6e1(0x1a7),_0x9c28b2(0x147),_0x2fa6e1(0x249),_0x9c28b2(0x17e),_0x2fa6e1(0x1fb),_0x379acb(0x1ac),_0x9c28b2(0x107),_0x2fa6e1(0x1fa),_0x2fa6e1(0x2a2),_0x2fa6e1(0x1e9),_0x2fa6e1(0x259),_0x2fa6e1(0x1cf),_0x2fa6e1(0x287),_0x2fa6e1(0x1f4),_0x2fa6e1(0x226),_0x386679(0x2c0),_0x2fa6e1(0x2a4),_0x2fa6e1(0x257),_0x2fa6e1(0x223),_0x2fa6e1(0x1de),_0x9c28b2(0xbc),_0x2fa6e1(0x228),_0x2fa6e1(0x2aa),_0x2fa6e1(0x2ad),_0x2fa6e1(0x1f2),_0x2fa6e1(0x256),_0x2fa6e1(0x1f5),_0x2fa6e1(0x1d0),_0x9c28b2(0x139),_0x2fa6e1(0x25b),_0x2fa6e1(0x229),_0x2fa6e1(0x1a6),_0x2fa6e1(0x1a0),_0x2fa6e1(0x203),_0x2fa6e1(0x25f),_0x2fa6e1(0x219),_0x2fa6e1(0x2bb),_0x2fa6e1(0x1d4),_0x2fa6e1(0x1be),_0x2fa6e1(0x29d),_0x379acb(0x20a),_0x379acb(0x157),_0x2fa6e1(0x1fd),_0x9c28b2(0xa3),_0x9c28b2(0xc0),_0x2fa6e1(0x1f8),_0x2fa6e1(0x22a),_0x2fa6e1(0x2a8),_0x2fa6e1(0x271),_0x2fa6e1(0x238),_0x2fa6e1(0x1e3),_0x2fa6e1(0x297),_0x2fa6e1(0x239),_0x2fa6e1(0x28e),_0x2fa6e1(0x218),_0x2fa6e1(0x1af),_0x2fa6e1(0x232),_0x2fa6e1(0x21c),_0x2fa6e1(0x2a6),_0x9c28b2(0x134),_0x2fa6e1(0x286),_0x9c28b2(0xea),_0x9c28b2(0x13b),_0x2fa6e1(0x1ac),_0x2fa6e1(0x1a2),_0x2fa6e1(0x290),_0x2fa6e1(0x1ea),_0x2fa6e1(0x2ae),_0x2fa6e1(0x28a),_0x2fa6e1(0x2b1),_0x9c28b2(0xad),_0x2fa6e1(0x231),_0x2fa6e1(0x1e0),_0x2fa6e1(0x1a1),_0x379acb(0x1d1),_0x2fa6e1(0x1bf),_0x2fa6e1(0x277),_0x379acb(0x191),_0x2fa6e1(0x1d9),_0x2fa6e1(0x1dd),_0x2fa6e1(0x264),_0x9c28b2(0x150),_0x9c28b2(0xcb),_0x2fa6e1(0x1eb),_0x2fa6e1(0x2a7),_0x2fa6e1(0x24e),_0x2fa6e1(0x1a8),_0x2fa6e1(0x1b9),_0x2fa6e1(0x283),_0x2fa6e1(0x2b5),_0x2fa6e1(0x1bc),_0x2fa6e1(0x25d),_0x2fa6e1(0x24a),_0x2fa6e1(0x1e6),_0x2fa6e1(0x2a0),_0x2fa6e1(0x1b2),_0x2fa6e1(0x1b0),_0x2fa6e1(0x1cc),_0x2fa6e1(0x1a9),_0x2fa6e1(0x285),_0x2fa6e1(0x2ab),_0x2fa6e1(0x25c),_0x2fa6e1(0x252),_0x2fa6e1(0x22b),_0x2fa6e1(0x293),_0x2fa6e1(0x26b),_0x2fa6e1(0x284),_0x2fa6e1(0x296),_0x2fa6e1(0x240),_0x2fa6e1(0x1f6),_0x2fa6e1(0x1f7),_0x9c28b2(0x162),_0x9c28b2(0xee),_0x386679(0x2aa),_0x9c28b2(0x103),_0x9c28b2(0x19f),_0x2fa6e1(0x2b8),_0x2fa6e1(0x1c1),_0x379acb(0x181),_0x2fa6e1(0x29c)];return a0_0x47ff=function(){return _0xac1507;},a0_0x47ff();}function a0_0x413e(_0x1b39e0,_0x45d241){var _0x2b5fde=a0_0x21c5();return a0_0x413e=function(_0x2b8a14,_0xf8cc25){_0x2b8a14=_0x2b8a14-0xc5;var _0xd481fa=_0x2b5fde[_0x2b8a14];return _0xd481fa;},a0_0x413e(_0x1b39e0,_0x45d241);}function a0_0x5baf(){var _0x189f35=a0_0x413e,_0x1a3903=a0_0x543f,_0xa1c3a6=a0_0x5a15,_0x179824=a0_0x2c3f,_0x4635e1=a0_0x2f41,_0x5d2697=[_0x4635e1(0x1d3),_0xa1c3a6(0x22e),_0xa1c3a6(0x24c),_0x4635e1(0x19d),_0x4635e1(0x1fe),_0x179824(0xe8),_0x179824(0xc5),_0x4635e1(0x230),_0x4635e1(0x1b8),_0x4635e1(0x1b6),_0x4635e1(0x1f5),_0x4635e1(0x191),_0x4635e1(0x254),_0x179824(0x182),_0x4635e1(0x25b),_0x4635e1(0x28f),_0x4635e1(0x285),_0xa1c3a6(0x1b9),_0x179824(0xd7),_0x4635e1(0x238),_0x179824(0x170),_0x4635e1(0x29c),_0x179824(0x13c),_0x4635e1(0x252),_0x4635e1(0x2a8),_0x1a3903(0x111),_0x4635e1(0x1b5),_0x179824(0x16c),_0x4635e1(0x196),_0x179824(0x1a0),_0x179824(0x1d2),_0x4635e1(0x1ea),_0x179824(0x143),_0x4635e1(0x200),_0x179824(0x148),_0x4635e1(0x223),_0xa1c3a6(0x241),_0x4635e1(0x1c2),_0x4635e1(0x1b7),_0x4635e1(0x24c),_0x4635e1(0x1f2),_0x4635e1(0x278),_0x4635e1(0x2a1),_0x4635e1(0x244),_0x4635e1(0x192),_0x4635e1(0x212),_0x179824(0x12a),_0x4635e1(0x23c),_0x4635e1(0x206),_0x4635e1(0x233),_0x4635e1(0x1f9),_0x4635e1(0x220),_0x4635e1(0x183),_0x4635e1(0x29a),_0x4635e1(0x291),_0x4635e1(0x27e),_0x4635e1(0x1d4),_0x4635e1(0x1ed),_0x179824(0x1a9),_0x4635e1(0x241),_0x179824(0x185),_0x4635e1(0x1e3),_0x179824(0xdc),_0x4635e1(0x19c),_0x4635e1(0x24a),_0xa1c3a6(0x286),_0x4635e1(0x1c8),_0x4635e1(0x27f),_0x4635e1(0x2a0),_0x4635e1(0x1e6),_0x4635e1(0x180),_0x4635e1(0x24f),_0x179824(0x1a1),_0x4635e1(0x1e4),_0x179824(0x160),_0xa1c3a6(0x235),_0x4635e1(0x187),_0xa1c3a6(0x240),_0x4635e1(0x1c7),_0x4635e1(0x247),_0x4635e1(0x24e),_0x4635e1(0x20e),_0x179824(0x13d),_0x4635e1(0x219),_0x179824(0x1ca),_0x4635e1(0x239),_0x4635e1(0x29f),_0x4635e1(0x29d),_0x4635e1(0x288),_0x4635e1(0x1c1),_0x4635e1(0x1e8),_0x4635e1(0x1a5),_0x4635e1(0x259),_0x4635e1(0x22c),_0x4635e1(0x1c6),_0x4635e1(0x1a1),_0x1a3903(0x11d),_0x4635e1(0x263),_0x179824(0x1ad),_0x4635e1(0x190),_0x179824(0x10e),_0x4635e1(0x1f7),_0x4635e1(0x1a3),_0x4635e1(0x2a7),_0x4635e1(0x1ce),_0x4635e1(0x217),_0x4635e1(0x181),_0x4635e1(0x213),_0x4635e1(0x271),_0x4635e1(0x229),_0x4635e1(0x280),_0x4635e1(0x195),_0x4635e1(0x251),_0x4635e1(0x232),_0x4635e1(0x1ee),_0x4635e1(0x269),_0x4635e1(0x1db),_0x4635e1(0x198),_0x4635e1(0x28b),_0x4635e1(0x22d),_0x4635e1(0x1b2),_0x1a3903(0x1c6),_0x4635e1(0x2a3),_0x4635e1(0x276),_0x179824(0x17e),_0x4635e1(0x1c3),_0x4635e1(0x1d6),_0x4635e1(0x205),_0x4635e1(0x18f),_0x179824(0x1a8),_0x4635e1(0x1a0),_0x179824(0x1cf),_0x4635e1(0x19f),_0x4635e1(0x1d9),_0x179824(0xf5),_0x179824(0xcb),_0x179824(0x106),_0x4635e1(0x274),_0x4635e1(0x270),_0x4635e1(0x20d),_0x4635e1(0x235),_0x189f35(0x18d),_0x4635e1(0x20b),_0x4635e1(0x297),_0x4635e1(0x1bb),_0x4635e1(0x1ff),_0x4635e1(0x1bf),_0x4635e1(0x283),_0x4635e1(0x21d),_0x179824(0x126),_0x4635e1(0x281),_0x4635e1(0x1cb),_0x4635e1(0x19b),_0x4635e1(0x22f),_0x4635e1(0x27c),_0x4635e1(0x1d2),_0x4635e1(0x1c5),_0x4635e1(0x28a),_0x4635e1(0x1a9),_0x4635e1(0x1e0),_0x4635e1(0x1c4),_0x179824(0x15a),_0x4635e1(0x2aa),_0xa1c3a6(0x1a2),_0x4635e1(0x18c),_0xa1c3a6(0x1a8),_0x4635e1(0x1cf),_0x4635e1(0x25d),_0x4635e1(0x237),_0x4635e1(0x21e),_0x4635e1(0x1dc),_0x4635e1(0x1cc),_0x4635e1(0x18b),_0x4635e1(0x18e),_0x4635e1(0x279),_0x179824(0x12d),_0x179824(0xdb),_0x4635e1(0x186),_0x4635e1(0x1aa),_0x4635e1(0x231),_0x179824(0xf0),_0x4635e1(0x25f),_0x179824(0x198),_0x4635e1(0x228),_0x4635e1(0x24b),_0x179824(0x132),_0x4635e1(0x209),_0xa1c3a6(0x19e),_0x179824(0x1db),_0x4635e1(0x23f),_0x4635e1(0x22b),_0x4635e1(0x211),_0x4635e1(0x1df),_0x4635e1(0x2a2),_0x4635e1(0x289),_0x179824(0x16d),_0x4635e1(0x255),_0x4635e1(0x20a),_0x4635e1(0x1a2),_0x4635e1(0x29e),_0x4635e1(0x293),_0x4635e1(0x290),_0xa1c3a6(0x1ad),_0x179824(0x156),_0x4635e1(0x1d5),_0x4635e1(0x236),_0x179824(0x1b1),_0x179824(0x168),_0x4635e1(0x1d1),_0x4635e1(0x1b1),_0x4635e1(0x1ec),_0xa1c3a6(0x17e),_0x4635e1(0x216),_0x4635e1(0x25a),_0x4635e1(0x250),_0x4635e1(0x207),_0x4635e1(0x26e),_0x4635e1(0x210),_0x4635e1(0x1e2),_0x4635e1(0x215),_0x4635e1(0x19e),_0x179824(0x15e),_0x4635e1(0x189),_0x4635e1(0x287),_0x179824(0x1c4),_0x4635e1(0x1af),_0x4635e1(0x199),_0x179824(0x100),_0x179824(0x14c),_0x4635e1(0x1bd),_0x4635e1(0x292),_0x4635e1(0x266),_0x179824(0x196),_0x4635e1(0x28c),_0x179824(0x1a6),_0x4635e1(0x262),_0x4635e1(0x242),_0x179824(0x164),_0x179824(0xf1),_0x4635e1(0x277),_0x179824(0xec),_0x179824(0x120),_0x4635e1(0x273),_0x4635e1(0x221),_0x179824(0xc9),_0x4635e1(0x2ab),_0x4635e1(0x23e),_0x4635e1(0x265),_0x4635e1(0x261),_0x179824(0xe9),_0x4635e1(0x25c),_0x4635e1(0x234),_0x4635e1(0x1f4),_0x4635e1(0x248),_0x4635e1(0x29b),_0x4635e1(0x1bc),_0x4635e1(0x2a6),_0x179824(0x1b8),_0x4635e1(0x1e5),_0x4635e1(0x1d0),_0x4635e1(0x1f1),_0x4635e1(0x1b4),_0x4635e1(0x1c9),_0x4635e1(0x227),_0x4635e1(0x1f6),_0x4635e1(0x299),_0x179824(0x17b),_0x4635e1(0x21f),_0x4635e1(0x258),_0xa1c3a6(0x199),_0x4635e1(0x27d),_0x4635e1(0x275),_0x4635e1(0x222),_0x4635e1(0x1a7),_0x4635e1(0x1ef),_0x189f35(0x153),_0x4635e1(0x296),_0x4635e1(0x26a),_0x4635e1(0x24d),_0x4635e1(0x193),_0x179824(0x1bd),_0x179824(0x12e),_0x4635e1(0x1d7),_0x4635e1(0x268),_0xa1c3a6(0x21b),_0x4635e1(0x194),_0xa1c3a6(0x1aa),_0x179824(0x1cb),_0x179824(0x172),_0x4635e1(0x1ac),_0x179824(0x107),_0x179824(0xd8)];return a0_0x5baf=function(){return _0x5d2697;},a0_0x5baf();}function a0_0x107a(_0x4f1ffd,_0x28bba7){var _0x9d02dd=a0_0x1cc3();return a0_0x107a=function(_0x2f0848,_0x3d9351){_0x2f0848=_0x2f0848-0xcf;var _0x41dd27=_0x9d02dd[_0x2f0848];return _0x41dd27;},a0_0x107a(_0x4f1ffd,_0x28bba7);}function a0_0x491c(_0x59d7b7,_0x496592){var _0x56e83c=a0_0x1f6c();return a0_0x491c=function(_0x32a85a,_0x33c455){_0x32a85a=_0x32a85a-0x10a;var _0x1a919a=_0x56e83c[_0x32a85a];return _0x1a919a;},a0_0x491c(_0x59d7b7,_0x496592);}function a0_0x284e(_0x2d7d5e,_0x32714d){var _0x6203ad=a0_0x179f();return a0_0x284e=function(_0x57c168,_0x3d5606){_0x57c168=_0x57c168-0xde;var _0x2ede38=_0x6203ad[_0x57c168];return _0x2ede38;},a0_0x284e(_0x2d7d5e,_0x32714d);}function a0_0x46c3(_0x9e6bbe,_0x363c85){var _0x419a60=a0_0xfff2();return a0_0x46c3=function(_0x24c197,_0xdef36d){_0x24c197=_0x24c197-0x185;var _0x240765=_0x419a60[_0x24c197];return _0x240765;},a0_0x46c3(_0x9e6bbe,_0x363c85);}function a0_0x44bc(){var _0x532da5=a0_0x543f,_0x164fae=a0_0x2c3f,_0x3ea50b=a0_0x2f41,_0x4d7f5d=a0_0x1a8e,_0x1264d5=a0_0x1275,_0x19d06c=[_0x1264d5(0x167),_0x532da5(0xe9),_0x4d7f5d(0x234),_0x1264d5(0x226),_0x1264d5(0x1a7),_0x1264d5(0x13c),_0x1264d5(0x19c),_0x4d7f5d(0x272),_0x4d7f5d(0x1fa),_0x4d7f5d(0x1df),_0x4d7f5d(0x240),_0x1264d5(0x222),_0x1264d5(0x1a1),_0x1264d5(0x1b0),_0x3ea50b(0x1a8),_0x1264d5(0x138),_0x1264d5(0x23b),_0x1264d5(0x15f),_0x4d7f5d(0x215),_0x1264d5(0x1ec),_0x1264d5(0x1eb),_0x1264d5(0x1dc),_0x1264d5(0x1f9),_0x1264d5(0x1cb),_0x1264d5(0x194),_0x1264d5(0x1c9),_0x1264d5(0x190),_0x1264d5(0x1aa),_0x1264d5(0x179),_0x1264d5(0x199),_0x3ea50b(0x20c),_0x1264d5(0x24f),_0x1264d5(0x24e),_0x1264d5(0x1ce),_0x4d7f5d(0x1a3),_0x1264d5(0x1f5),_0x4d7f5d(0x2c1),_0x1264d5(0x146),_0x3ea50b(0x1ca),_0x1264d5(0x1a4),_0x4d7f5d(0x1af),_0x1264d5(0x1ed),_0x4d7f5d(0x1fd),_0x1264d5(0x1ef),_0x4d7f5d(0x26b),_0x1264d5(0x1b1),_0x1264d5(0x228),_0x4d7f5d(0x2b8),_0x1264d5(0x18b),_0x4d7f5d(0x25d),_0x1264d5(0x215),_0x1264d5(0x1e9),_0x1264d5(0x165),_0x1264d5(0x18e),_0x4d7f5d(0x26c),_0x1264d5(0x196),_0x1264d5(0x207),_0x1264d5(0x17c),_0x1264d5(0x1a0),_0x1264d5(0x1c1),_0x4d7f5d(0x1e0),_0x1264d5(0x1fb),_0x4d7f5d(0x274),_0x4d7f5d(0x229),_0x1264d5(0x158),_0x1264d5(0x219),_0x4d7f5d(0x1eb),_0x3ea50b(0x28e),_0x1264d5(0x15c),_0x3ea50b(0x1da),_0x1264d5(0x145),_0x1264d5(0x225),_0x1264d5(0x1d9),_0x4d7f5d(0x1d5),_0x1264d5(0x14a),_0x1264d5(0x13a),_0x4d7f5d(0x1d1),_0x1264d5(0x248),_0x1264d5(0x220),_0x1264d5(0x16d),_0x1264d5(0x1f2),_0x164fae(0x12b),_0x1264d5(0x166),_0x4d7f5d(0x1c7),_0x1264d5(0x13d),_0x1264d5(0x23a),_0x1264d5(0x1b8),_0x4d7f5d(0x1d7),_0x1264d5(0x1d4),_0x1264d5(0x151),_0x1264d5(0x13e),_0x1264d5(0x12e),_0x1264d5(0x1f8),_0x4d7f5d(0x28d),_0x1264d5(0x17d),_0x1264d5(0x1c0),_0x1264d5(0x163),_0x1264d5(0x1e7),_0x1264d5(0x1b9),_0x1264d5(0x147),_0x3ea50b(0x1c0),_0x1264d5(0x1be),_0x4d7f5d(0x1f2),_0x164fae(0xce),_0x4d7f5d(0x2a1),_0x1264d5(0x195),_0x4d7f5d(0x2b1),_0x1264d5(0x153),_0x1264d5(0x173),_0x1264d5(0x152),_0x1264d5(0x159),_0x4d7f5d(0x1a2),_0x1264d5(0x1c2),_0x1264d5(0x1d6),_0x1264d5(0x235),_0x1264d5(0x1e2),_0x1264d5(0x19d),_0x1264d5(0x1d8),_0x1264d5(0x198),_0x1264d5(0x169),_0x1264d5(0x24c),_0x1264d5(0x230),_0x1264d5(0x172),_0x1264d5(0x15b),_0x1264d5(0x21c),_0x164fae(0x177),_0x1264d5(0x24a),_0x1264d5(0x185),_0x1264d5(0x244),_0x3ea50b(0x1dd),_0x4d7f5d(0x1f8),_0x1264d5(0x227),_0x4d7f5d(0x1cc),_0x1264d5(0x148),_0x1264d5(0x243),_0x1264d5(0x18d),_0x1264d5(0x246),_0x1264d5(0x14f),_0x1264d5(0x1c5),_0x1264d5(0x1a9),_0x1264d5(0x197),_0x1264d5(0x224),_0x1264d5(0x214),_0x4d7f5d(0x26a),_0x1264d5(0x218),_0x1264d5(0x20e),_0x1264d5(0x1b7),_0x1264d5(0x156),_0x1264d5(0x178),_0x4d7f5d(0x1b4),_0x1264d5(0x16b),_0x1264d5(0x161),_0x1264d5(0x12d),_0x1264d5(0x16f),_0x1264d5(0x1e8),_0x3ea50b(0x26f),_0x1264d5(0x249),_0x1264d5(0x12f),_0x4d7f5d(0x1ba),_0x1264d5(0x142),_0x1264d5(0x188),_0x1264d5(0x1a8),_0x1264d5(0x23e),_0x1264d5(0x1bc),_0x1264d5(0x16c),_0x1264d5(0x231),_0x1264d5(0x1fc),_0x3ea50b(0x224),_0x1264d5(0x1cf),_0x4d7f5d(0x276),_0x1264d5(0x212),_0x3ea50b(0x1b0),_0x1264d5(0x20c),_0x4d7f5d(0x212),_0x1264d5(0x1df),_0x4d7f5d(0x254),_0x1264d5(0x18f),_0x1264d5(0x1fa),_0x1264d5(0x22a),_0x1264d5(0x1b2),_0x1264d5(0x19e),_0x1264d5(0x139),_0x4d7f5d(0x223),_0x1264d5(0x17b),_0x1264d5(0x1d2),_0x3ea50b(0x1b3),_0x3ea50b(0x23a),_0x1264d5(0x22c),_0x1264d5(0x21f),_0x4d7f5d(0x22d),_0x1264d5(0x1ba),_0x1264d5(0x136),_0x1264d5(0x155),_0x1264d5(0x22e),_0x1264d5(0x1cc),_0x1264d5(0x180),_0x1264d5(0x247),_0x1264d5(0x1ee),_0x3ea50b(0x21c),_0x1264d5(0x237),_0x1264d5(0x221),_0x1264d5(0x1e1),_0x1264d5(0x1a5),_0x1264d5(0x1e0),_0x1264d5(0x1b3),_0x4d7f5d(0x1a4),_0x1264d5(0x240),_0x1264d5(0x206),_0x4d7f5d(0x214),_0x4d7f5d(0x1a7),_0x1264d5(0x137),_0x4d7f5d(0x206),_0x1264d5(0x15e),_0x1264d5(0x19b),_0x1264d5(0x14b),_0x4d7f5d(0x286),_0x1264d5(0x204),_0x1264d5(0x1d5),_0x4d7f5d(0x20c),_0x1264d5(0x1f4),_0x1264d5(0x183),_0x3ea50b(0x28d),_0x1264d5(0x21e),_0x1264d5(0x20f),_0x3ea50b(0x1eb),_0x1264d5(0x22f),_0x1264d5(0x1e3),_0x4d7f5d(0x29c),_0x1264d5(0x217),_0x1264d5(0x144),_0x1264d5(0x154),_0x1264d5(0x233),_0x1264d5(0x1bb),_0x1264d5(0x17f),_0x1264d5(0x168),_0x1264d5(0x1c6),_0x1264d5(0x21a),_0x1264d5(0x239),_0x1264d5(0x1dd),_0x1264d5(0x210),_0x3ea50b(0x27b),_0x1264d5(0x200),_0x4d7f5d(0x1f3),_0x1264d5(0x174),_0x1264d5(0x1ae),_0x1264d5(0x19a),_0x4d7f5d(0x1b8),_0x1264d5(0x1b6),_0x1264d5(0x193),_0x1264d5(0x17e),_0x1264d5(0x17a),_0x1264d5(0x232),_0x1264d5(0x18a),_0x1264d5(0x175),_0x1264d5(0x1bf),_0x1264d5(0x171),_0x1264d5(0x241),_0x164fae(0x175),_0x4d7f5d(0x210),_0x1264d5(0x1d7),_0x1264d5(0x1ab),_0x1264d5(0x223),_0x1264d5(0x1fd),_0x1264d5(0x170),_0x1264d5(0x149),_0x1264d5(0x160),_0x3ea50b(0x245),_0x1264d5(0x229),_0x4d7f5d(0x26d),_0x1264d5(0x1f3),_0x1264d5(0x22b),_0x1264d5(0x1fe),_0x4d7f5d(0x288),_0x4d7f5d(0x201),_0x1264d5(0x208),_0x1264d5(0x23f)];return a0_0x44bc=function(){return _0x19d06c;},a0_0x44bc();}function a0_0x5754(_0x3b5e5d,_0x4ec61e){var _0x516836=a0_0x58e4();return a0_0x5754=function(_0x2927b8,_0x29acf0){_0x2927b8=_0x2927b8-0x69;var _0x110226=_0x516836[_0x2927b8];return _0x110226;},a0_0x5754(_0x3b5e5d,_0x4ec61e);}function a0_0x4e13(){var _0x44abaa=a0_0x2f85,_0xaa38ee=a0_0x413e,_0x38506e=a0_0x543f,_0x443577=a0_0x5a15,_0x100c39=[_0x443577(0x1ce),_0x443577(0x231),_0x443577(0x1c9),_0xaa38ee(0x1d5),_0x443577(0x1ca),_0x443577(0x237),_0x443577(0x25c),_0x443577(0x1d6),_0x443577(0x223),_0x443577(0x266),_0x443577(0x1e5),_0x443577(0x1b0),_0x38506e(0x1b7),_0x443577(0x279),_0x443577(0x28c),_0x38506e(0x1ae),_0x443577(0x283),_0x443577(0x151),_0x443577(0x15b),_0x443577(0x1f6),_0x443577(0x187),_0xaa38ee(0xd5),_0x443577(0x1fd),_0x443577(0x213),_0x443577(0x1f9),_0x443577(0x1f4),_0x38506e(0x158),_0xaa38ee(0xf4),_0x443577(0x174),_0x443577(0x1b1),_0x38506e(0x100),_0x443577(0x250),_0x443577(0x1d1),_0x443577(0x1cd),_0x443577(0x160),_0x443577(0x207),_0x443577(0x1e4),_0x443577(0x23a),_0x443577(0x185),_0x443577(0x288),_0x443577(0x229),_0x38506e(0x174),_0x443577(0x1fb),_0x38506e(0x120),_0x443577(0x18d),_0x443577(0x245),_0x443577(0x1c1),_0x443577(0x236),_0x443577(0x19c),_0xaa38ee(0x121),_0x443577(0x205),_0x443577(0x1d3),_0x443577(0x218),_0x443577(0x164),_0x443577(0x16a),_0x443577(0x20c),_0x38506e(0x14e),_0x443577(0x181),_0x443577(0x21d),_0x443577(0x157),_0x443577(0x22a),_0x443577(0x1e3),_0x443577(0x1a0),_0x443577(0x168),_0x443577(0x15c),_0xaa38ee(0x178),_0x38506e(0x1cb),_0x443577(0x1df),_0x443577(0x244),_0x38506e(0xed),_0x443577(0x197),_0x443577(0x243),_0x443577(0x161),_0x443577(0x1f7),_0x443577(0x1b2),_0x443577(0x216),_0x443577(0x27f),_0x443577(0x293),_0x443577(0x1b7),_0x443577(0x173),_0x38506e(0x162),_0x443577(0x26f),_0x443577(0x251),_0x443577(0x212),_0x443577(0x17a),_0x443577(0x1ac),_0x443577(0x1da),_0x443577(0x18f),_0x38506e(0x135),_0x443577(0x1b4),_0x38506e(0x147),_0x443577(0x16d),_0x443577(0x21c),_0x443577(0x14f),_0x443577(0x192),_0x443577(0x1b6),_0x443577(0x289),_0x443577(0x287),_0x443577(0x282),_0x443577(0x18e),_0x38506e(0x1dc),_0x443577(0x267),_0x443577(0x256),_0xaa38ee(0xcc),_0x443577(0x1be),_0x38506e(0xff),_0x38506e(0x123),_0x443577(0x1a5),_0x443577(0x1cc),_0x443577(0x152),_0x443577(0x25e),_0x38506e(0x139),_0x38506e(0x195),_0x38506e(0x182),_0xaa38ee(0x1a1),_0x443577(0x1eb),_0x443577(0x1bd),_0x443577(0x1a6),_0x443577(0x156),_0x443577(0x225),_0x38506e(0x1df),_0x443577(0x17b),_0x443577(0x1ec),_0xaa38ee(0xd6),_0x38506e(0x1b9),_0x443577(0x170),_0x443577(0x21e),_0x443577(0x1fa),_0x443577(0x25a),_0x38506e(0x18c),_0x443577(0x26a),_0x443577(0x230),_0x443577(0x1de),_0x443577(0x19d),_0x443577(0x27c),_0x443577(0x269),_0x443577(0x1bc),_0x443577(0x167),_0x443577(0x1f0),_0xaa38ee(0xed),_0x443577(0x226),_0x443577(0x28e),_0x443577(0x270),_0x443577(0x1dd),_0x443577(0x26c),_0x443577(0x224),_0x443577(0x1d7),_0x44abaa(0x1a3),_0x443577(0x24f),_0x443577(0x264),_0x443577(0x150),_0x443577(0x163),_0x443577(0x1d5),_0x443577(0x23c),_0x38506e(0x15f),_0x443577(0x171),_0x443577(0x210),_0x443577(0x1c3),_0x443577(0x154),_0x443577(0x24d),_0x443577(0x1bb),_0x443577(0x166),_0x443577(0x222),_0x38506e(0x136),_0x443577(0x25b),_0x443577(0x16b),_0x443577(0x15f),_0x443577(0x281),_0x443577(0x214),_0x443577(0x1a7),_0x443577(0x198),_0x443577(0x261),_0x443577(0x1d0),_0x443577(0x1ef),_0x443577(0x247),_0x443577(0x176),_0x38506e(0x17f),_0x443577(0x24a),_0x443577(0x277),_0xaa38ee(0x1a4),_0x443577(0x1fe),_0x38506e(0x118),_0x443577(0x1d9),_0x443577(0x1f8),_0x443577(0x239),_0x443577(0x1f1),_0x443577(0x273),_0x443577(0x24e),_0x443577(0x271),_0x443577(0x24b),_0x443577(0x19b),_0x38506e(0x184),_0x443577(0x183),_0x443577(0x1e1),_0x38506e(0x1a0),_0x443577(0x23e),_0x38506e(0x117),_0x38506e(0x15b),_0x443577(0x221),_0x443577(0x255),_0x443577(0x1bf),_0x443577(0x190),_0x443577(0x27a),_0x443577(0x22f),_0x443577(0x180),_0x443577(0x184),_0x443577(0x25d),_0x443577(0x16c),_0x443577(0x1d2),_0x443577(0x228),_0xaa38ee(0x19c),_0x443577(0x20a),_0x443577(0x159),_0x443577(0x22d),_0x443577(0x290),_0x443577(0x165),_0x443577(0x189),_0x38506e(0x1ea),_0x443577(0x1b3),_0x443577(0x296),_0x443577(0x1c5),_0x443577(0x1e2),_0x443577(0x169),_0x443577(0x1fc),_0x443577(0x162),_0x443577(0x15a),_0xaa38ee(0x17b),_0x443577(0x1c7),_0x443577(0x284),_0x443577(0x249),_0x443577(0x1b5),_0x443577(0x158),_0x443577(0x1ed),_0x443577(0x248),_0x443577(0x276),_0x443577(0x1e8),_0x38506e(0x129),_0x443577(0x179),_0x443577(0x238),_0x443577(0x278),_0xaa38ee(0x10e),_0x443577(0x1c4),_0x443577(0x1db),_0x443577(0x1ae),_0x443577(0x28a),_0x443577(0x252),_0x38506e(0x213),_0x443577(0x26e),_0x443577(0x23d),_0x443577(0x1f2),_0x38506e(0x1ff),_0x443577(0x1c0),_0x44abaa(0x196),_0x443577(0x259),_0x443577(0x285),_0x38506e(0x108),_0x443577(0x208),_0x38506e(0x1e8),_0x443577(0x201),_0x38506e(0xf3),_0x38506e(0xf9),_0x443577(0x186),_0x443577(0x1ff),_0x38506e(0x206),_0x443577(0x209),_0x443577(0x1f5),_0x443577(0x1e7),_0x443577(0x211),_0x443577(0x297),_0x443577(0x191),_0x38506e(0x14b),_0x443577(0x1ee),_0x443577(0x202),_0x38506e(0x199),_0x443577(0x1c8),_0x38506e(0x19c),_0x443577(0x220),_0x443577(0x18a),_0x38506e(0x109),_0x38506e(0x1d5),_0x443577(0x172),_0x38506e(0xe8),_0x443577(0x18b),_0x443577(0x275),_0x38506e(0x1cc),_0x443577(0x194),_0xaa38ee(0x161),_0x443577(0x17f),_0x443577(0x1ab),_0x443577(0x177),_0x443577(0x21f),_0x38506e(0x15a),_0x443577(0x263),_0x443577(0x1a4),_0x443577(0x227),_0x38506e(0x1fc),_0x443577(0x254),_0x443577(0x1af),_0x443577(0x20b),_0x443577(0x1c6),_0x443577(0x1b8),_0x38506e(0x1c5),_0x38506e(0x155),_0x38506e(0xef),_0x443577(0x215),_0x38506e(0x1cf),_0x443577(0x17c)];return a0_0x4e13=function(){return _0x100c39;},a0_0x4e13();}function a0_0x2c3f(_0x4b3a13,_0x4b7fc6){var _0x10fcf7=a0_0x4e13();return a0_0x2c3f=function(_0x5bfaf9,_0xca6b6b){_0x5bfaf9=_0x5bfaf9-0xc3;var _0x7760a8=_0x10fcf7[_0x5bfaf9];return _0x7760a8;},a0_0x2c3f(_0x4b3a13,_0x4b7fc6);}function a0_0x543f(_0x17e8d4,_0x486b1a){var _0x523885=a0_0x1e4b();return a0_0x543f=function(_0x47e610,_0x34377f){_0x47e610=_0x47e610-0xdb;var _0x5e3c18=_0x523885[_0x47e610];return _0x5e3c18;},a0_0x543f(_0x17e8d4,_0x486b1a);}function a0_0x32fc(_0x509266,_0x399b38){var _0x3c76fb=a0_0x2c19();return a0_0x32fc=function(_0x157740,_0x387db0){_0x157740=_0x157740-0x19e;var _0x231858=_0x3c76fb[_0x157740];return _0x231858;},a0_0x32fc(_0x509266,_0x399b38);}function a0_0xfff2(){var _0xf0201c=a0_0x32fc,_0x5be3ac=a0_0x8457,_0x47fbd8=a0_0x3ebb,_0x85d20d=a0_0x58d6,_0x1ea640=[_0x85d20d(0x22b),_0x85d20d(0x1d1),_0x85d20d(0x18d),_0x85d20d(0x178),_0x85d20d(0x162),_0x85d20d(0x207),_0x85d20d(0x22a),_0x47fbd8(0x1f8),_0x5be3ac(0x287),_0x85d20d(0x1c4),_0x5be3ac(0x21b),_0x85d20d(0x20e),_0x85d20d(0x17f),_0x47fbd8(0x1bb),_0xf0201c(0x1c5),_0x85d20d(0x180),_0x85d20d(0x16e),_0x85d20d(0x153),_0x47fbd8(0x18e),_0x85d20d(0x179),_0x47fbd8(0x1a6),_0x85d20d(0x1ea),_0x85d20d(0x211),_0x85d20d(0x1e4),_0x85d20d(0x141),_0x85d20d(0x146),_0x85d20d(0x223),_0x47fbd8(0x194),_0x85d20d(0x17e),_0x85d20d(0x16c),_0x85d20d(0x14c),_0x85d20d(0x1c1),_0x5be3ac(0x273),_0x47fbd8(0x1d3),_0x85d20d(0x214),_0x47fbd8(0x147),_0x85d20d(0x19a),_0x85d20d(0x176),_0x5be3ac(0x1d4),_0x85d20d(0x1f9),_0x85d20d(0x1a2),_0x47fbd8(0x201),_0x85d20d(0x1c2),_0x85d20d(0x14f),_0x85d20d(0x228),_0x47fbd8(0x111),_0x85d20d(0x1f0),_0x85d20d(0x1ce),_0x85d20d(0x148),_0x85d20d(0x175),_0x85d20d(0x1be),_0x85d20d(0x16b),_0x85d20d(0x161),_0x85d20d(0x1e0),_0x47fbd8(0x1b3),_0x85d20d(0x18e),_0x85d20d(0x1ca),_0x85d20d(0x16a),_0x85d20d(0x1cc),_0x47fbd8(0x185),_0x47fbd8(0x187),_0x47fbd8(0x18f),_0x85d20d(0x20b),_0x85d20d(0x1d9),_0x85d20d(0x206),_0x47fbd8(0x1cf),_0x85d20d(0x17b),_0x5be3ac(0x193),_0x85d20d(0x1dc),_0x85d20d(0x202),_0x85d20d(0x192),_0x85d20d(0x1a7),_0x47fbd8(0x1aa),_0x85d20d(0x15e),_0x47fbd8(0x156),_0x85d20d(0x1db),_0x85d20d(0x187),_0x85d20d(0x177),_0x85d20d(0x143),_0x5be3ac(0x197),_0x85d20d(0x145),_0x47fbd8(0x122),_0x47fbd8(0x1ed),_0x85d20d(0x197),_0x85d20d(0x185),_0x47fbd8(0x1da),_0x85d20d(0x1ef),_0x85d20d(0x216),_0x47fbd8(0x1d1),_0x85d20d(0x1f6),_0x47fbd8(0x1fb),_0x85d20d(0x1df),_0x85d20d(0x182),_0x85d20d(0x171),_0x47fbd8(0x1df),_0x85d20d(0x18c),_0x47fbd8(0x1a9),_0x85d20d(0x15a),_0x85d20d(0x1d7),_0x47fbd8(0x164),_0x47fbd8(0x1c0),_0x85d20d(0x154),_0x85d20d(0x1d5),_0x85d20d(0x1fa),_0x5be3ac(0x1a4),_0x47fbd8(0x1a0),_0x85d20d(0x1f2),_0x47fbd8(0x146),_0x85d20d(0x195),_0x47fbd8(0x1f1),_0x85d20d(0x15d),_0x85d20d(0x149),_0x85d20d(0x1c6),_0x85d20d(0x184),_0x47fbd8(0x1d2),_0x85d20d(0x152),_0x47fbd8(0x138),_0x47fbd8(0x165),_0x47fbd8(0x14d),_0x47fbd8(0x14f),_0x47fbd8(0x183),_0x85d20d(0x1ee),_0x47fbd8(0x193),_0x47fbd8(0x16d),_0x85d20d(0x147),_0x85d20d(0x21c),_0x85d20d(0x18a),_0x85d20d(0x16f),_0x85d20d(0x215),_0x85d20d(0x1b9),_0x85d20d(0x164),_0x85d20d(0x1d8),_0x85d20d(0x173),_0x85d20d(0x1d3),_0x85d20d(0x1b8),_0x85d20d(0x1bb),_0x85d20d(0x151),_0x85d20d(0x150),_0x47fbd8(0x10a),_0x85d20d(0x159),_0x47fbd8(0x11b),_0x85d20d(0x18b),_0x47fbd8(0x137),_0x85d20d(0x18f),_0x85d20d(0x1d0),_0x85d20d(0x191),_0x85d20d(0x21d),_0x5be3ac(0x234),_0x47fbd8(0x158),_0x85d20d(0x1a1),_0x47fbd8(0x1b0),_0x85d20d(0x172),_0x85d20d(0x20c),_0x85d20d(0x1a9),_0x85d20d(0x198),_0x85d20d(0x1cf),_0x5be3ac(0x1dd),_0x85d20d(0x163),_0xf0201c(0x1cd),_0x85d20d(0x221),_0x85d20d(0x1a4),_0x47fbd8(0x197),_0x85d20d(0x1bc),_0x85d20d(0x1b3),_0x85d20d(0x17a),_0x85d20d(0x219),_0x5be3ac(0x20b),_0x85d20d(0x1b7),_0x85d20d(0x220),_0x85d20d(0x1e5),_0x47fbd8(0x19f),_0x85d20d(0x19d),_0x85d20d(0x225),_0x85d20d(0x169),_0x85d20d(0x1e8),_0x47fbd8(0x109),_0x85d20d(0x1cb),_0x47fbd8(0x160),_0x85d20d(0x218),_0x85d20d(0x200),_0x85d20d(0x168),_0x85d20d(0x1a8),_0x47fbd8(0x162),_0x85d20d(0x20d),_0x85d20d(0x1e1),_0x85d20d(0x19e),_0x47fbd8(0x148),_0x85d20d(0x1cd),_0x85d20d(0x1fd),_0x47fbd8(0x1d7),_0x85d20d(0x1fc),_0x85d20d(0x183),_0x85d20d(0x20f),_0x47fbd8(0x10e),_0x85d20d(0x1bf),_0x85d20d(0x205),_0x85d20d(0x222),_0x85d20d(0x201),_0x85d20d(0x196),_0x85d20d(0x14d),_0x5be3ac(0x1eb),_0x47fbd8(0x19b),_0x85d20d(0x14b),_0x85d20d(0x1eb),_0x47fbd8(0x153),_0x85d20d(0x188),_0x85d20d(0x174),_0x47fbd8(0x1c4),_0x85d20d(0x1af),_0x47fbd8(0x1b9),_0x85d20d(0x21b),_0x5be3ac(0x23d),_0x85d20d(0x1aa),_0x47fbd8(0x1a2),_0x85d20d(0x167),_0x47fbd8(0x16c),_0x85d20d(0x1bd),_0x47fbd8(0x1ca),_0x47fbd8(0x12d),_0x85d20d(0x1f4),_0x5be3ac(0x1f3),_0x85d20d(0x165),_0x85d20d(0x1b0),_0x85d20d(0x189),_0x85d20d(0x142),_0x85d20d(0x181),_0x85d20d(0x227),_0x85d20d(0x1e6),_0x85d20d(0x21f),_0x85d20d(0x213),_0x85d20d(0x1a5),_0x85d20d(0x226),_0x47fbd8(0x1d8),_0x47fbd8(0x196),_0x85d20d(0x170),_0x85d20d(0x1e7),_0x5be3ac(0x1a2),_0x47fbd8(0x184),_0x85d20d(0x1b1),_0x47fbd8(0x1fd),_0x85d20d(0x1da),_0x85d20d(0x1c7),_0x85d20d(0x210),_0x47fbd8(0x1f3),_0x85d20d(0x186),_0x85d20d(0x194),_0x85d20d(0x204),_0x85d20d(0x160)];return a0_0xfff2=function(){return _0x1ea640;},a0_0xfff2();}function a0_0x1a8e(_0x550b28,_0x1c6cb6){var _0xbdccb4=a0_0x5baf();return a0_0x1a8e=function(_0x2cdffa,_0x5d9d3a){_0x2cdffa=_0x2cdffa-0x1a0;var _0x2a3f02=_0xbdccb4[_0x2cdffa];return _0x2a3f02;},a0_0x1a8e(_0x550b28,_0x1c6cb6);}function a0_0x58d6(_0x341cc5,_0x19768c){var _0xc2a453=a0_0x3e34();return a0_0x58d6=function(_0x21f7f0,_0x4300ed){_0x21f7f0=_0x21f7f0-0x140;var _0x20c82e=_0xc2a453[_0x21f7f0];return _0x20c82e;},a0_0x58d6(_0x341cc5,_0x19768c);}function a0_0x8457(_0x16cd5b,_0x56369b){var _0x7e12c6=a0_0x47ff();return a0_0x8457=function(_0x2bb6c4,_0x2a4aa3){_0x2bb6c4=_0x2bb6c4-0x17e;var _0x518afe=_0x7e12c6[_0x2bb6c4];return _0x518afe;},a0_0x8457(_0x16cd5b,_0x56369b);}function a0_0x5055(){var _0x24b568=a0_0x3ebb,_0x188ce0=a0_0x58d6,_0x81477=a0_0x46c3,_0x3aa4a3=a0_0x5754,_0x39ee8d=[_0x81477(0x248),_0x81477(0x24a),_0x3aa4a3(0xb2),_0x3aa4a3(0x7c),_0x3aa4a3(0x8e),_0x3aa4a3(0x11c),_0x3aa4a3(0x88),_0x81477(0x18e),_0x3aa4a3(0xee),_0x3aa4a3(0xdb),_0x3aa4a3(0x11f),_0x81477(0x206),_0x3aa4a3(0x12b),_0x3aa4a3(0x100),_0x3aa4a3(0x73),_0x81477(0x1a5),_0x81477(0x21c),_0x3aa4a3(0xb5),_0x3aa4a3(0x126),_0x81477(0x257),_0x3aa4a3(0x150),_0x3aa4a3(0x139),_0x3aa4a3(0x122),_0x3aa4a3(0xe7),_0x3aa4a3(0x94),_0x3aa4a3(0xe1),_0x3aa4a3(0x113),_0x3aa4a3(0x107),_0x3aa4a3(0x76),_0x3aa4a3(0x78),_0x81477(0x227),_0x3aa4a3(0xc5),_0x3aa4a3(0xf3),_0x3aa4a3(0xc9),_0x3aa4a3(0xe2),_0x81477(0x185),_0x3aa4a3(0x109),_0x3aa4a3(0x13c),_0x81477(0x260),_0x3aa4a3(0x102),_0x3aa4a3(0x123),_0x3aa4a3(0xfc),_0x3aa4a3(0x91),_0x3aa4a3(0xa1),_0x3aa4a3(0xd7),_0x3aa4a3(0x72),_0x81477(0x26f),_0x188ce0(0x1ab),_0x188ce0(0x15c),_0x3aa4a3(0x13f),_0x81477(0x192),_0x3aa4a3(0x121),_0x3aa4a3(0x135),_0x81477(0x1bb),_0x3aa4a3(0xc0),_0x3aa4a3(0x12d),_0x3aa4a3(0x14a),_0x81477(0x18a),_0x3aa4a3(0x141),_0x3aa4a3(0xd1),_0x3aa4a3(0xf4),_0x3aa4a3(0x106),_0x3aa4a3(0xb9),_0x3aa4a3(0x155),_0x3aa4a3(0x89),_0x3aa4a3(0xb8),_0x3aa4a3(0xbb),_0x3aa4a3(0xb0),_0x3aa4a3(0x6f),_0x24b568(0x1ef),_0x188ce0(0x21a),_0x3aa4a3(0xae),_0x24b568(0x103),_0x3aa4a3(0xfd),_0x3aa4a3(0xe0),_0x81477(0x1b3),_0x81477(0x1d7),_0x3aa4a3(0x12c),_0x3aa4a3(0x101),_0x3aa4a3(0x7b),_0x3aa4a3(0xe5),_0x3aa4a3(0xac),_0x3aa4a3(0x8c),_0x3aa4a3(0x83),_0x188ce0(0x1b5),_0x188ce0(0x157),_0x3aa4a3(0xed),_0x24b568(0x16f),_0x81477(0x239),_0x81477(0x1ad),_0x81477(0x203),_0x81477(0x24b),_0x3aa4a3(0x77),_0x3aa4a3(0x152),_0x3aa4a3(0xb7),_0x24b568(0x12a),_0x3aa4a3(0xec),_0x3aa4a3(0x12f),_0x3aa4a3(0xcc),_0x81477(0x20c),_0x3aa4a3(0x146),_0x3aa4a3(0x145),_0x3aa4a3(0xb4),_0x3aa4a3(0x13e),_0x3aa4a3(0x133),_0x3aa4a3(0xc7),_0x3aa4a3(0xea),_0x81477(0x262),_0x3aa4a3(0x10a),_0x81477(0x1df),_0x3aa4a3(0x117),_0x81477(0x232),_0x81477(0x1e4),_0x81477(0x191),_0x3aa4a3(0x140),_0x3aa4a3(0x118),_0x81477(0x1b2),_0x3aa4a3(0xab),_0x3aa4a3(0xef),_0x3aa4a3(0x125),_0x3aa4a3(0xf0),_0x81477(0x20e),_0x3aa4a3(0x10c),_0x3aa4a3(0x148),_0x3aa4a3(0xd0),_0x3aa4a3(0x8d),_0x3aa4a3(0x116),_0x3aa4a3(0x143),_0x188ce0(0x1c3),_0x3aa4a3(0x130),_0x3aa4a3(0xfe),_0x3aa4a3(0xe6),_0x81477(0x236),_0x3aa4a3(0xc3),_0x81477(0x1b1),_0x3aa4a3(0xda),_0x3aa4a3(0xd2),_0x3aa4a3(0x134),_0x3aa4a3(0xa6),_0x81477(0x278),_0x188ce0(0x1b6),_0x3aa4a3(0x7a),_0x3aa4a3(0x8f),_0x3aa4a3(0x69),_0x3aa4a3(0x10b),_0x3aa4a3(0xc4),_0x3aa4a3(0xdd),_0x3aa4a3(0x6d),_0x81477(0x1a2),_0x81477(0x1da),_0x3aa4a3(0xfb),_0x3aa4a3(0x156),_0x188ce0(0x19b),_0x3aa4a3(0x103),_0x3aa4a3(0xc6),_0x3aa4a3(0xba),_0x3aa4a3(0x14d),_0x3aa4a3(0x11d),_0x3aa4a3(0x157),_0x3aa4a3(0x87),_0x3aa4a3(0xfa),_0x3aa4a3(0x13d),_0x3aa4a3(0xbf),_0x3aa4a3(0x132),_0x81477(0x1d0),_0x3aa4a3(0xbc),_0x3aa4a3(0x10f),_0x3aa4a3(0x9c),_0x3aa4a3(0x84),_0x3aa4a3(0x11e),_0x81477(0x242),_0x3aa4a3(0x154),_0x3aa4a3(0x92),_0x3aa4a3(0xd5),_0x81477(0x1fa),_0x3aa4a3(0x99),_0x3aa4a3(0x81),_0x3aa4a3(0xaf),_0x3aa4a3(0x112),_0x3aa4a3(0x124),_0x3aa4a3(0x120),_0x81477(0x1ed),_0x3aa4a3(0xdf),_0x188ce0(0x1f5),_0x3aa4a3(0x12a),_0x3aa4a3(0xce),_0x188ce0(0x1f8),_0x3aa4a3(0xf9),_0x3aa4a3(0xa5),_0x3aa4a3(0x105),_0x81477(0x1a3),_0x81477(0x211),_0x81477(0x190),_0x3aa4a3(0xf5),_0x3aa4a3(0x14b),_0x3aa4a3(0x11a),_0x3aa4a3(0x7d),_0x81477(0x1b4),_0x3aa4a3(0x95),_0x81477(0x1e7),_0x3aa4a3(0xb1),_0x3aa4a3(0x71),_0x3aa4a3(0x13b),_0x3aa4a3(0xf1),_0x3aa4a3(0x104),_0x3aa4a3(0x127),_0x3aa4a3(0x8b),_0x3aa4a3(0xbd),_0x3aa4a3(0xc1),_0x3aa4a3(0x82),_0x81477(0x259),_0x3aa4a3(0x11b),_0x81477(0x229),_0x3aa4a3(0x10e),_0x3aa4a3(0xa7),_0x3aa4a3(0xff),_0x188ce0(0x155),_0x24b568(0x1c7),_0x81477(0x207),_0x3aa4a3(0xd4),_0x3aa4a3(0x9d),_0x3aa4a3(0xb6),_0x3aa4a3(0xb3),_0x3aa4a3(0xd3),_0x188ce0(0x190),_0x3aa4a3(0x114),_0x3aa4a3(0x6a),_0x81477(0x1af),_0x3aa4a3(0x85),_0x81477(0x20a),_0x3aa4a3(0x6e),_0x3aa4a3(0xcb),_0x3aa4a3(0x97),_0x3aa4a3(0xf6),_0x3aa4a3(0x153),_0x3aa4a3(0x75),_0x3aa4a3(0x8a),_0x3aa4a3(0xa9),_0x3aa4a3(0x98),_0x188ce0(0x1f7),_0x3aa4a3(0xdc),_0x81477(0x22a),_0x3aa4a3(0x9a),_0x3aa4a3(0x136),_0x3aa4a3(0x90),_0x188ce0(0x1ed),_0x3aa4a3(0xca)];return a0_0x5055=function(){return _0x39ee8d;},a0_0x5055();}function a0_0x5a15(_0x459dbb,_0x57630f){var _0x11cda9=a0_0x3247();return a0_0x5a15=function(_0x4f4f62,_0x5905e0){_0x4f4f62=_0x4f4f62-0x14f;var _0x414491=_0x11cda9[_0x4f4f62];return _0x414491;},a0_0x5a15(_0x459dbb,_0x57630f);}function a0_0x3e34(){var _0x3b801e=a0_0x1a8e,_0x4a5ac8=a0_0x1275,_0x1da085=a0_0x23ca,_0x20975a=a0_0x32fc,_0x472259=a0_0x8457,_0x24b6f7=a0_0x3ebb,_0x13a28d=[_0x24b6f7(0x1e8),_0x24b6f7(0x1c5),_0x24b6f7(0x1e9),_0x20975a(0x251),_0x472259(0x1cd),_0x472259(0x26b),_0x472259(0x247),_0x472259(0x1e5),_0x24b6f7(0x136),_0x24b6f7(0x176),_0x24b6f7(0x1ba),_0x24b6f7(0x1de),_0x24b6f7(0x1dc),_0x24b6f7(0x18a),_0x24b6f7(0x144),_0x24b6f7(0x163),_0x24b6f7(0x1f2),_0x24b6f7(0x1d5),_0x24b6f7(0x17f),_0x24b6f7(0x178),_0x24b6f7(0x1a7),_0x24b6f7(0x19e),_0x24b6f7(0x19c),_0x20975a(0x2b3),_0x24b6f7(0x114),_0x24b6f7(0x1bc),_0x24b6f7(0xff),_0x24b6f7(0x19d),_0x472259(0x25f),_0x24b6f7(0x11e),_0x24b6f7(0x139),_0x24b6f7(0x117),_0x20975a(0x254),_0x24b6f7(0x179),_0x24b6f7(0x132),_0x24b6f7(0x11c),_0x24b6f7(0x10d),_0x472259(0x280),_0x24b6f7(0x1c2),_0x24b6f7(0x15f),_0x24b6f7(0x1bd),_0x472259(0x1ef),_0x24b6f7(0x192),_0x1da085(0xe4),_0x24b6f7(0x154),_0x24b6f7(0x128),_0x24b6f7(0x175),_0x24b6f7(0x166),_0x472259(0x1b7),_0x24b6f7(0x1ce),_0x24b6f7(0x186),_0x24b6f7(0x104),_0x24b6f7(0x17a),_0x20975a(0x1df),_0x472259(0x18e),_0x24b6f7(0x11f),_0x24b6f7(0x1eb),_0x24b6f7(0x11a),_0x24b6f7(0x1c3),_0x24b6f7(0x1e3),_0x24b6f7(0x141),_0x24b6f7(0x113),_0x24b6f7(0x16a),_0x24b6f7(0x182),_0x472259(0x1be),_0x24b6f7(0x129),_0x472259(0x1a3),_0x20975a(0x1fe),_0x472259(0x270),_0x24b6f7(0x149),_0x24b6f7(0x1e0),_0x24b6f7(0x1a3),_0x472259(0x1c7),_0x24b6f7(0x11d),_0x24b6f7(0x13b),_0x24b6f7(0x1c8),_0x24b6f7(0x1e2),_0x472259(0x1bd),_0x24b6f7(0x200),_0x24b6f7(0x107),_0x24b6f7(0x1af),_0x24b6f7(0x18c),_0x24b6f7(0x191),_0x24b6f7(0x14e),_0x24b6f7(0x198),_0x24b6f7(0x1a4),_0x24b6f7(0x1ac),_0x24b6f7(0x106),_0x472259(0x212),_0x472259(0x1e6),_0x472259(0x211),_0x24b6f7(0x1ab),_0x472259(0x1ae),_0x24b6f7(0x190),_0x24b6f7(0x17d),_0x24b6f7(0x1f7),_0x24b6f7(0x1d0),_0x24b6f7(0x1f0),_0x24b6f7(0x1cd),_0x24b6f7(0x172),_0x472259(0x257),_0x24b6f7(0x1b5),_0x24b6f7(0x1d9),_0x472259(0x22d),_0x24b6f7(0x1a5),_0x24b6f7(0x1cb),_0x24b6f7(0x1ae),_0x24b6f7(0x18d),_0x24b6f7(0x152),_0x472259(0x24e),_0x24b6f7(0x1e1),_0x472259(0x21a),_0x24b6f7(0x1c1),_0x24b6f7(0x195),_0x24b6f7(0x16e),_0x24b6f7(0x168),_0x472259(0x25d),_0x24b6f7(0x12b),_0x20975a(0x28d),_0x24b6f7(0x101),_0x24b6f7(0x105),_0x24b6f7(0x150),_0x24b6f7(0x171),_0x20975a(0x26d),_0x24b6f7(0x127),_0x24b6f7(0x15d),_0x24b6f7(0x145),_0x24b6f7(0x133),_0x20975a(0x1dc),_0x24b6f7(0x1ff),_0x24b6f7(0x1b8),_0x472259(0x1f5),_0x24b6f7(0x16f),_0x24b6f7(0x167),_0x24b6f7(0x1e4),_0x24b6f7(0x143),_0x472259(0x1d0),_0x24b6f7(0x1b7),_0x24b6f7(0x17e),_0x472259(0x1ce),_0x472259(0x21e),_0x24b6f7(0x10b),_0x24b6f7(0x13c),_0x24b6f7(0x169),_0x24b6f7(0x134),_0x24b6f7(0x1fc),_0x24b6f7(0x1c6),_0x24b6f7(0x1b6),_0x24b6f7(0x170),_0x24b6f7(0x131),_0x24b6f7(0x15c),_0x24b6f7(0x1e6),_0x472259(0x1d9),_0x472259(0x191),_0x24b6f7(0x18b),_0x24b6f7(0x124),_0x24b6f7(0x112),_0x24b6f7(0x1b2),_0x472259(0x25e),_0x20975a(0x1e8),_0x24b6f7(0x1fe),_0x24b6f7(0x1e5),_0x20975a(0x207),_0x472259(0x20d),_0x24b6f7(0x189),_0x24b6f7(0x12f),_0x472259(0x266),_0x472259(0x1e3),_0x24b6f7(0x1ea),_0x24b6f7(0x12e),_0x24b6f7(0x1b4),_0x24b6f7(0x15b),_0x24b6f7(0x1db),_0x24b6f7(0x108),_0x472259(0x216),_0x472259(0x18f),_0x24b6f7(0x12c),_0x24b6f7(0x1b1),_0x472259(0x25a),_0x24b6f7(0x181),_0x472259(0x221),_0x24b6f7(0x1ad),_0x472259(0x1f4),_0x24b6f7(0x130),_0x24b6f7(0x177),_0x24b6f7(0x1d6),_0x24b6f7(0x123),_0x24b6f7(0x1c9),_0x24b6f7(0x10f),_0x24b6f7(0x140),_0x24b6f7(0x155),_0x472259(0x1c4),_0x24b6f7(0x1cc),_0x4a5ac8(0x132),_0x24b6f7(0x14b),_0x472259(0x21f),_0x24b6f7(0x1bf),_0x24b6f7(0x13d),_0x472259(0x1ed),_0x472259(0x24d),_0x24b6f7(0x157),_0x24b6f7(0x15a),_0x24b6f7(0x1f4),_0x24b6f7(0x1f6),_0x24b6f7(0x1a1),_0x20975a(0x1ce),_0x24b6f7(0x121),_0x24b6f7(0x1ec),_0x24b6f7(0x1be),_0x1da085(0x1ae),_0x24b6f7(0x16b),_0x24b6f7(0x14a),_0x24b6f7(0x110),_0x24b6f7(0x119),_0x24b6f7(0x102),_0x472259(0x192),_0x472259(0x27b),_0x24b6f7(0x100),_0x3b801e(0x2a6),_0x24b6f7(0x126),_0x24b6f7(0x13f),_0x24b6f7(0x135),_0x24b6f7(0x1f5),_0x24b6f7(0x1e7),_0x472259(0x1ab),_0x24b6f7(0x125),_0x24b6f7(0x151),_0x24b6f7(0x180),_0x24b6f7(0x199),_0x24b6f7(0x17b),_0x472259(0x260),_0x24b6f7(0x17c),_0x472259(0x1b6),_0x24b6f7(0x15e),_0x24b6f7(0x142),_0x24b6f7(0x188)];return a0_0x3e34=function(){return _0x13a28d;},a0_0x3e34();}function a0_0x72d0(){var _0x4c9fd2=['getTime','main','width','384dbUqGe','number','shift','4813473KxuEuo','object','isWebKit','querySelector','ps--focus','12374089SOCRAD','input,[contenteditable]','overflowX','pen','scrollWidth','1112974TIdKhi','2625ksoZhY','461280TXZcwX','216536HSIRSs','4odXSva','894FWLVVy','blur','minScrollbarLength','387610SiyANz','7277249RHmaBM','4LonrcJ','9jZWUMt','stopPropagation','304260EvGYTB','853WtqrxL','top','6864198iQSKwu','2806944hUGToF','2664dxpfPX','borderTopWidth','negativeScrollAdjustment','2OKXfse','8921432yLtEug','112SWNSHP','scrollbarXRail','children','floor','buttons','2585104PAEqzl','2845692iMnKkw','div','725255vBOyDU','ps-','10ImlNym','2352492NducSu','pageYOffset','scrollbarYTop','target','900fNsQkd','pointerdown','9797886DGhPqq','deltaY','scrollbarXLeft','1498850TRFBrv','scrollbarXWidth','4160367rmLGuk','contentWidth','touch','DocumentTouch','targetTouches','thumb','1918uAJusQ','7680640fclbvE','735424QYEyhq','splice','2377704xMhEUc','872511dxgWVx','7QGGDVd','20wdqoKf','pageX','475370EGVoEi','wheel','5158363JCkzmr','webkitMatchesSelector','4525MfwaWz','10gEhQBx','5375BLRrTs','update','32932fikYaR','18LpRrwP','60ZQUMNr','459982mUcuBv','7ogEiAg','342306bZwWbk','5740abJLmF','3rhDQUS','onScroll','borderRightWidth','defaultPrevented','ps--clicking','marginLeft','state','clientHeight','activeElement','scrollbarY','active','dispatchEvent','mousedown','MSPOINTER_TYPE_MOUSE','consuming','43FRKMrN','onmousewheel','scrollXMarginOffset','keyboard','3773616DMyZvu','20upJoYQ','1862274InkPAh','1653032fhnJOX','24316880mNALio','onwheel','pointermove','-reach-','touchend','supportsTouch','scrollbarYActive','ontouchstart','button,[contenteditable]','160392EaFhQL','618843ZYTqAq','26348uuqMYs','1792105XYdInq','scrollbarYLeft','1039957biKeuJ','443848cedPwa','192CGVJGw','length','982920iZWNJM','touchstart','2vGcJet','scrollbarYHeight','getBoundingClientRect','230482TxNgqn','282kwcoqy','1776504tALYaR','isAlive','ps__thumb-','maxScrollbarLength','38RsUXzk','railXRatio','6928PjAztz','23217110mcfLuS','9hRXFIt','prototype','5756535WXhiBi','3677348cqLTMn','565572DsSzgM','scrollLeft','2234515EQjPKh','mouse','marginTop','abs','none','1302524PZAmnT','12260qEZsYE','lastScrollTop','1345788GBRYyD','paddingRight','4301275iirGsB','120xoYCXb','nodeName','4688xMKupT','4mZuluc','144373vMFSeG','203020icjmRd','rtl','shadowRoot','element','min','call','4TvnAcN','6Ugpunu','1091208kJSvfR','railXMarginWidth','1328140ifuyYs','3721039jzdZLp','3NsAidC','end','max','38724130qMzrql','addEventListener','3SYKmpT','right','marginRight','altKey','get','borderLeftWidth','72oyCKTV','initCustomEvent','262993OddmkL','8955444jHOFLt','mousewheel','31815JVEfFp','userAgent','handlers','isScrollbarYUsingRight','319344puXNNz','pointerup','contentDocument','4146XYVqbo','scrollbarYOuterWidth','301612zdSiTd','defineProperties','block','offsetHeight','ps-scroll-','791756VxqeQi','createElement','9btMrKp','2kxVFeN','eventElements','103391GgoYMD','msMatchesSelector','contentHeight','1537184iEUYmM','navigator','undefined','direction','336160rOMFYD','railYRatio','ps--active-','1745405LmideI','height','CustomEvent',':hover','select:focus','shiftKey','amd','isChrome','removeChild','isRtl','522406RRxqOA','15845JjlNXe','matches','3868CIxoUi','function','15274810UtAsib','ps__rtl','isInitialized','event','1860131yPqnfr','left','5962ZOJvcG','52qYNUoY','removePsClasses','isDefaultPrevented','down','28791HRtNJt','2984pfuPHi','11097174fVdUFD','2296OrcwvH','maxTouchPoints','MSPointerEvent','railYHeight','174FjsSIl','suppressScrollY','27AYWnte','3096710DzVzHg','documentElement','scrollYMarginOffset','scrollbarYRight','focus','scrolling','16891633rWDwHd','mozMatchesSelector','36qNeERx','classList','2840AfFbte','1716799pKHDQx','1028025SJBMlt','offsetWidth','test','scrollTop','scrollHeight','851526zjopsj','264268wnBsHQ','8hSJKWS',':focus','every','3752664DgdHGi','which','select,[contenteditable]','8gfRvPZ','887093BVEjht','80811oonRXH','37008IVZfTT','966163EyAYYh','6644743iUONUH','398313XicXNM','wheelSpeed','50DOAQjT','click-rail','PointerEvent','138zGopac','createEvent','8KJAqbN','2219952uMOKlp','remove','990IyTmIa','push','2583045iEohFJ','keydown','removeEventListener','parentNode','exports','32955WsxDXz','isNegativeScroll','wheelPropagation','A\x20proper\x20axis\x20should\x20be\x20provided','add','850506RxqlTo','6708470pwZwaG','260223kclMhL','round','3twmCFR','41805JDSGIB','2690637SJBLiw','IFRAME','798478tvksrY','lastScrollLeft','pageXOffset','MSPointerUp','125946igNksm','reach','3738544DptHcO','404taRDIs','forEach','155267PXKIwx','scrollbarXActive','isEmpty','join','5350945GEgBvi','1459975VmnTCZ','4520256bGDqmr','MSPointerMove','marginBottom','4juGcYY','railXWidth','11MXWBnS','1651475lpvNvx','2260475VJXXrF','5714721fdervy','15onAxgZ','364383dkymPM','400kCZwCU','4YFnRLY','className','deltaMode','rail','containerHeight','9737mlzeia','msMaxTouchPoints','No\x20element\x20matching\x20method\x20supported','24831wjbEXS','match','4523930pPEswT','27cgTXeW','18NdyPaA','scrollbarXTop','398496hbMsBg','21180ZEmGSI','8944641EOXoRl','3839580etXDZM','4173nhPZbI','mousemove','42219YNzIYf','clientWidth','3347700QKSuTX','textarea,[contenteditable]','2918424yeYEKe'];a0_0x72d0=function(){return _0x4c9fd2;};return a0_0x72d0();}function a0_0x2f85(_0x43ee9d,_0x5c2601){var _0x6256df=a0_0x6246();return a0_0x2f85=function(_0x16fe5f,_0x12c590){_0x16fe5f=_0x16fe5f-0x98;var _0x2ce7fd=_0x6256df[_0x16fe5f];return _0x2ce7fd;},a0_0x2f85(_0x43ee9d,_0x5c2601);}function a0_0x5451(){var _0x4f7cbe=a0_0x3ebb,_0x42f7cc=a0_0x46c3,_0x47afa6=a0_0x5754,_0xa8f9b1=a0_0xb9fb,_0xa81a38=a0_0x107a,_0x3cd597=a0_0x491c,_0x4478c6=[_0xa81a38(0x16b),_0xa81a38(0x121),_0x3cd597(0x1bd),_0xa81a38(0x160),_0x3cd597(0x19a),_0xa81a38(0x17e),_0xa81a38(0x108),_0x3cd597(0x1a1),_0x3cd597(0x155),_0x3cd597(0x1ab),_0x3cd597(0x1cd),_0xa8f9b1(0xdd),_0xa8f9b1(0x151),_0x3cd597(0x14a),_0x3cd597(0x175),_0x3cd597(0x1e9),_0x3cd597(0x131),_0x42f7cc(0x1fe),_0x3cd597(0x150),_0x3cd597(0x1d9),_0xa81a38(0x192),_0x3cd597(0x134),_0x3cd597(0x184),_0x3cd597(0x1e4),_0x3cd597(0x116),_0x3cd597(0x11f),_0x3cd597(0x17e),_0x3cd597(0x179),_0x3cd597(0x13c),_0xa8f9b1(0x112),_0xa81a38(0xe3),_0x3cd597(0x193),_0xa81a38(0x134),_0x3cd597(0x1e8),_0x3cd597(0x198),_0x3cd597(0x181),_0x3cd597(0x1eb),_0x3cd597(0x173),_0xa8f9b1(0xe9),_0x3cd597(0x196),_0x3cd597(0x19c),_0x3cd597(0x1ae),_0x3cd597(0x171),_0x3cd597(0x158),_0x3cd597(0x15c),_0x3cd597(0x168),_0x3cd597(0x19d),_0x3cd597(0x13a),_0x3cd597(0x133),_0xa81a38(0x196),_0xa81a38(0x152),_0x3cd597(0x17b),_0x3cd597(0x19f),_0xa81a38(0x119),_0xa81a38(0x116),_0x3cd597(0x1c4),_0x3cd597(0x1cf),_0x3cd597(0x1d5),_0x3cd597(0x1ca),_0x3cd597(0x140),_0x3cd597(0x14b),_0x3cd597(0x187),_0x3cd597(0x1a3),_0x3cd597(0x17d),_0x3cd597(0x1b8),_0x3cd597(0x1a2),_0x3cd597(0x1ec),_0x3cd597(0x135),_0xa8f9b1(0xdc),_0xa81a38(0xe8),_0x3cd597(0x12f),_0x3cd597(0x1e1),_0xa81a38(0x17f),_0xa81a38(0x133),_0x3cd597(0x11a),_0xa81a38(0xe4),_0x3cd597(0x114),_0x3cd597(0x176),_0x3cd597(0x11c),_0xa81a38(0xf1),_0xa81a38(0xd7),_0x3cd597(0x1a7),_0x3cd597(0x1cb),_0xa81a38(0x1a4),_0x3cd597(0x1b0),_0xa81a38(0x10f),_0x3cd597(0x1c8),_0x3cd597(0x1cc),_0x3cd597(0x160),_0x3cd597(0x18e),_0x3cd597(0x119),_0x3cd597(0x18b),_0x3cd597(0x15e),_0x3cd597(0x10a),_0x3cd597(0x1da),_0xa81a38(0xf3),_0x3cd597(0x190),_0x3cd597(0x185),_0x3cd597(0x18d),_0x3cd597(0x1d1),_0x3cd597(0x1b6),_0x3cd597(0x1e3),_0xa8f9b1(0x18c),_0x3cd597(0x1df),_0x3cd597(0x1c9),_0xa81a38(0x123),_0xa81a38(0x15f),_0x3cd597(0x1a4),_0x3cd597(0x1dd),_0xa8f9b1(0x162),_0xa81a38(0x12b),_0x3cd597(0x1ad),_0x3cd597(0x128),_0x3cd597(0x1a8),_0xa81a38(0x16e),_0x3cd597(0x153),_0x3cd597(0x151),_0x3cd597(0x1c6),_0x3cd597(0x1c3),_0xa81a38(0x16f),_0xa81a38(0x167),_0x3cd597(0x1b5),_0x3cd597(0x1af),_0x3cd597(0x1e5),_0x3cd597(0x199),_0x3cd597(0x125),_0x3cd597(0x165),_0xa81a38(0x16c),_0x3cd597(0x138),_0x3cd597(0x1db),_0x3cd597(0x166),_0xa81a38(0x18f),_0xa81a38(0x13e),_0x3cd597(0x1bb),_0x3cd597(0x1a5),_0x3cd597(0x197),_0x3cd597(0x18c),_0x3cd597(0x1ea),_0xa81a38(0x107),_0xa8f9b1(0x15d),_0x3cd597(0x1c0),_0x3cd597(0x136),_0x3cd597(0x194),_0x3cd597(0x16a),_0x3cd597(0x159),_0x3cd597(0x14d),_0x3cd597(0x1c2),_0x3cd597(0x10b),_0xa8f9b1(0x115),_0x3cd597(0x113),_0xa81a38(0x19f),_0x3cd597(0x111),_0x3cd597(0x1d4),_0x3cd597(0x121),_0x3cd597(0x1a0),_0x3cd597(0x148),_0x3cd597(0x174),_0x3cd597(0x195),_0x3cd597(0x163),_0x3cd597(0x10e),_0x3cd597(0x127),_0x3cd597(0x15b),_0x3cd597(0x19e),_0xa81a38(0x102),_0x3cd597(0x186),_0x3cd597(0x1ba),_0x3cd597(0x1b2),_0x3cd597(0x157),_0x3cd597(0x14e),_0x3cd597(0x129),_0x3cd597(0x16d),_0x47afa6(0xdc),_0x3cd597(0x16b),_0x3cd597(0x12c),_0x47afa6(0x14f),_0x3cd597(0x15d),_0x3cd597(0x16e),_0x3cd597(0x1d7),_0xa81a38(0x157),_0xa81a38(0x10a),_0x3cd597(0x10d),_0x4f7cbe(0x1f8),_0x3cd597(0x139),_0x3cd597(0x144),_0xa81a38(0x137),_0x3cd597(0x183),_0x3cd597(0x1d3),_0x3cd597(0x167),_0x3cd597(0x1c1),_0x3cd597(0x1d0),_0x3cd597(0x180),_0x3cd597(0x170),_0x3cd597(0x12e),_0x3cd597(0x117),_0x3cd597(0x13e),_0x3cd597(0x120),_0x3cd597(0x1de),_0x3cd597(0x1d8),_0x3cd597(0x14f),_0x3cd597(0x145),_0xa81a38(0xfb),_0xa81a38(0xf5),_0x3cd597(0x12d),_0xa81a38(0x10d),_0x3cd597(0x1aa),_0x3cd597(0x17c),_0x3cd597(0x164),_0xa81a38(0x114),_0x3cd597(0x1b9),_0x3cd597(0x10c),_0x3cd597(0x112),_0x3cd597(0x147),_0xa8f9b1(0xcc),_0x3cd597(0x142),_0x3cd597(0x161),_0x3cd597(0x1ee),_0x3cd597(0x13b),_0x3cd597(0x16f),_0x3cd597(0x13f),_0x3cd597(0x1c7),_0xa81a38(0x12c),_0x3cd597(0x12a),_0x3cd597(0x1ce),_0x3cd597(0x19b),_0x3cd597(0x16c),_0x3cd597(0x130),_0x3cd597(0x14c),_0x3cd597(0x1bf),_0x3cd597(0x172),_0xa8f9b1(0x14f),_0xa81a38(0x149),_0x3cd597(0x10f),_0x3cd597(0x1ac),_0xa81a38(0xd0),_0x3cd597(0x1bc),_0x3cd597(0x17f),_0x3cd597(0x1b7),_0xa81a38(0x101),_0x3cd597(0x156)];return a0_0x5451=function(){return _0x4478c6;},a0_0x5451();}function a0_0x1275(_0x449781,_0x49339a){var _0x192596=a0_0x119d();return a0_0x1275=function(_0x1ed720,_0x992b07){_0x1ed720=_0x1ed720-0x12d;var _0x56e905=_0x192596[_0x1ed720];return _0x56e905;},a0_0x1275(_0x449781,_0x49339a);}function a0_0x5c16(_0x7a8a23,_0x28224e){var _0x18bb2c=a0_0x13d8();return a0_0x5c16=function(_0x3d5089,_0x2eb5bb){_0x3d5089=_0x3d5089-0x93;var _0x28a734=_0x18bb2c[_0x3d5089];return _0x28a734;},a0_0x5c16(_0x7a8a23,_0x28224e);}function a0_0x1f6c(){var _0x4b48cb=a0_0x3ebb,_0x53010f=a0_0x58d6,_0x2b98b5=a0_0x46c3,_0x252ab2=a0_0x5754,_0x711591=a0_0xb9fb,_0x1a874e=a0_0x107a,_0x17732d=[_0x1a874e(0xd6),_0x711591(0x108),_0x711591(0xdb),_0x1a874e(0x166),_0x711591(0x1b1),_0x1a874e(0x14f),_0x1a874e(0x13f),_0x711591(0x13a),_0x1a874e(0x194),_0x711591(0x183),_0x1a874e(0x14a),_0x1a874e(0xd3),_0x1a874e(0x1a8),_0x1a874e(0xfd),_0x1a874e(0x177),_0x1a874e(0xeb),_0x1a874e(0x18e),_0x1a874e(0x150),_0x711591(0xc4),_0x1a874e(0x196),_0x252ab2(0x7e),_0x1a874e(0xfe),_0x711591(0xd6),_0x1a874e(0xcf),_0x1a874e(0x142),_0x1a874e(0x11b),_0x1a874e(0x199),_0x1a874e(0x147),_0x1a874e(0x10e),_0x1a874e(0x10a),_0x711591(0x105),_0x1a874e(0x12d),_0x711591(0x127),_0x1a874e(0xda),_0x1a874e(0x182),_0x711591(0xee),_0x1a874e(0xde),_0x1a874e(0x155),_0x1a874e(0x158),_0x711591(0x1a4),_0x711591(0xda),_0x1a874e(0x19d),_0x1a874e(0x195),_0x1a874e(0x15b),_0x711591(0x147),_0x1a874e(0x186),_0x1a874e(0x174),_0x711591(0x156),_0x711591(0x122),_0x1a874e(0x151),_0x711591(0x15f),_0x1a874e(0x13d),_0x1a874e(0x1a3),_0x1a874e(0x127),_0x1a874e(0x141),_0x1a874e(0x162),_0x1a874e(0x170),_0x1a874e(0x14b),_0x1a874e(0x18d),_0x1a874e(0x173),_0x711591(0x16a),_0x1a874e(0x176),_0x1a874e(0xd9),_0x711591(0x143),_0x1a874e(0xe9),_0x1a874e(0xd8),_0x1a874e(0x14c),_0x711591(0x1a9),_0x1a874e(0x179),_0x1a874e(0x118),_0x711591(0x10a),_0x711591(0x15c),_0x1a874e(0x175),_0x1a874e(0x17c),_0x1a874e(0x15f),_0x1a874e(0x18a),_0x1a874e(0x126),_0x1a874e(0xd1),_0x711591(0x14d),_0x711591(0x102),_0x252ab2(0x9b),_0x1a874e(0xe0),_0x1a874e(0x18b),_0x1a874e(0x178),_0x1a874e(0x12e),_0x711591(0x149),_0x1a874e(0x139),_0x1a874e(0x192),_0x1a874e(0x159),_0x1a874e(0x11f),_0x1a874e(0x11a),_0x1a874e(0x15c),_0x1a874e(0x15e),_0x711591(0x17c),_0x1a874e(0x184),_0x711591(0xe0),_0x1a874e(0x130),_0x1a874e(0x161),_0x1a874e(0x129),_0x1a874e(0x14d),_0x1a874e(0x154),_0x1a874e(0x1a6),_0x711591(0x177),_0x1a874e(0x152),_0x1a874e(0x180),_0x711591(0x18f),_0x1a874e(0x1a2),_0x1a874e(0x15a),_0x1a874e(0x181),_0x1a874e(0xec),_0x1a874e(0x11d),_0x1a874e(0x153),_0x1a874e(0x17b),_0x711591(0x188),_0x1a874e(0x102),_0x711591(0x1ad),_0x1a874e(0x1a9),_0x1a874e(0x168),_0x1a874e(0xf0),_0x711591(0x10f),_0x252ab2(0x86),_0x1a874e(0x15d),_0x1a874e(0x160),_0x1a874e(0x1a1),_0x1a874e(0x185),_0x252ab2(0x150),_0x1a874e(0x13b),_0x1a874e(0x140),_0x252ab2(0x11b),_0x1a874e(0xe4),_0x711591(0x1ab),_0x252ab2(0x9f),_0x1a874e(0x10c),_0x1a874e(0xe6),_0x711591(0x16e),_0x2b98b5(0x1e9),_0x711591(0x153),_0x711591(0x137),_0x711591(0xea),_0x711591(0xfc),_0x1a874e(0x125),_0x711591(0x179),_0x1a874e(0x120),_0x1a874e(0xee),_0x1a874e(0x10b),_0x1a874e(0x1a0),_0x1a874e(0x1a5),_0x1a874e(0xe5),_0x1a874e(0x16d),_0x711591(0x18b),_0x711591(0x184),_0x1a874e(0x131),_0x252ab2(0x94),_0x1a874e(0xe7),_0x1a874e(0x105),_0x711591(0x178),_0x1a874e(0x198),_0x1a874e(0x14e),_0x1a874e(0x169),_0x1a874e(0xf9),_0x1a874e(0x17d),_0x1a874e(0x19a),_0x1a874e(0x183),_0x53010f(0x150),_0x1a874e(0xfc),_0x711591(0xed),_0x711591(0x11b),_0x252ab2(0xf5),_0x711591(0xc3),_0x1a874e(0x13c),_0x1a874e(0x148),_0x1a874e(0x190),_0x1a874e(0x156),_0x711591(0x12f),_0x711591(0x112),_0x711591(0x159),_0x1a874e(0xf4),_0x711591(0x19d),_0x1a874e(0xdf),_0x1a874e(0x172),_0x711591(0x192),_0x1a874e(0x122),_0x1a874e(0x1a7),_0x1a874e(0x12a),_0x1a874e(0x171),_0x711591(0x197),_0x711591(0xeb),_0x711591(0x1b2),_0x1a874e(0x104),_0x711591(0x128),_0x1a874e(0x16a),_0x1a874e(0x189),_0x711591(0x1a8),_0x1a874e(0x138),_0x1a874e(0xe1),_0x1a874e(0x100),_0x1a874e(0xe2),_0x711591(0x17a),_0x1a874e(0xfa),_0x711591(0x190),_0x1a874e(0xf2),_0x1a874e(0xdb),_0x1a874e(0xff),_0x1a874e(0x13a),_0x1a874e(0xd2),_0x4b48cb(0x113),_0x1a874e(0x163),_0x711591(0x13b),_0x1a874e(0xea),_0x1a874e(0x164),_0x1a874e(0x191),_0x1a874e(0xdd),_0x1a874e(0x144),_0x1a874e(0x110),_0x1a874e(0x193),_0x1a874e(0xf7),_0x1a874e(0x19e),_0x1a874e(0xf6),_0x711591(0x150),_0x1a874e(0xd4),_0x1a874e(0x111),_0x1a874e(0xd5),_0x1a874e(0x146),_0x1a874e(0x197),_0x1a874e(0x109),_0x711591(0x171),_0x711591(0x176),_0x1a874e(0x12f),_0x252ab2(0xe4)];return a0_0x1f6c=function(){return _0x17732d;},a0_0x1f6c();}function a0_0x612c(){var _0x2dcb7c=a0_0x1275,_0x55ed5f=a0_0x23ca,_0x3ba98b=a0_0x32fc,_0x55021d=a0_0x8457,_0x158107=[_0x55021d(0x263),_0x55021d(0x1e4),_0x3ba98b(0x2a3),_0x3ba98b(0x233),_0x55ed5f(0x149),_0x55021d(0x1fc),_0x55021d(0x205),_0x55021d(0x1bb),_0x55021d(0x1f2),_0x55021d(0x1b0),_0x55ed5f(0xf3),_0x55021d(0x183),_0x55021d(0x1b4),_0x55021d(0x1fa),_0x3ba98b(0x1ad),_0x55021d(0x24c),_0x2dcb7c(0x13f),_0x3ba98b(0x221),_0x55021d(0x235),_0x55021d(0x198),_0x55021d(0x1b8),_0x55021d(0x1de),_0x55021d(0x271),_0x55021d(0x21c),_0x55021d(0x19e),_0x55ed5f(0x16e),_0x55021d(0x1ca),_0x3ba98b(0x1d5),_0x55021d(0x1e1),_0x55021d(0x245),_0x55021d(0x224),_0x3ba98b(0x1ba),_0x55021d(0x185),_0x3ba98b(0x261),_0x55021d(0x238),_0x55021d(0x1a7),_0x3ba98b(0x1ee),_0x3ba98b(0x1e7),_0x55021d(0x268),_0x3ba98b(0x1c9),_0x55021d(0x1b1),_0x55021d(0x18d),_0x55021d(0x208),_0x3ba98b(0x250),_0x55021d(0x219),_0x55021d(0x1f0),_0x3ba98b(0x282),_0x55021d(0x1fb),_0x55021d(0x229),_0x3ba98b(0x28c),_0x55021d(0x19c),_0x55021d(0x1da),_0x55ed5f(0x127),_0x55021d(0x1d2),_0x55021d(0x207),_0x55021d(0x220),_0x55021d(0x204),_0x55021d(0x241),_0x55021d(0x17e),_0x3ba98b(0x1ec),_0x55021d(0x1f7),_0x55021d(0x254),_0x3ba98b(0x23b),_0x55021d(0x256),_0x55021d(0x27f),_0x55021d(0x215),_0x55021d(0x23e),_0x55021d(0x18a),_0x3ba98b(0x272),_0x55021d(0x213),_0x55021d(0x20f),_0x55021d(0x20c),_0x55021d(0x1cf),_0x55021d(0x1c9),_0x55021d(0x203),_0x55021d(0x1e8),_0x55021d(0x251),_0x55021d(0x1f6),_0x3ba98b(0x19f),_0x55021d(0x255),_0x3ba98b(0x1c6),_0x3ba98b(0x266),_0x3ba98b(0x217),_0x55021d(0x276),_0x55021d(0x239),_0x55021d(0x1c0),_0x55021d(0x1db),_0x3ba98b(0x23a),_0x3ba98b(0x26e),_0x55ed5f(0x130),_0x55021d(0x1ac),_0x55021d(0x27c),_0x55ed5f(0x1a9),_0x55021d(0x1ea),_0x55021d(0x26f),_0x3ba98b(0x21e),_0x55021d(0x1ee),_0x3ba98b(0x241),_0x55021d(0x230),_0x55021d(0x19d),_0x3ba98b(0x21d),_0x55021d(0x180),_0x2dcb7c(0x1f6),_0x55021d(0x243),_0x55021d(0x23f),_0x55021d(0x1fd),_0x55021d(0x1b2),_0x55021d(0x237),_0x55021d(0x1a5),_0x3ba98b(0x201),_0x55021d(0x1df),_0x3ba98b(0x263),_0x55021d(0x188),_0x55ed5f(0xb0),_0x55021d(0x1d6),_0x55021d(0x23c),_0x55021d(0x1c3),_0x3ba98b(0x245),_0x55021d(0x232),_0x55ed5f(0xc3),_0x55ed5f(0x172),_0x55021d(0x1a6),_0x55021d(0x217),_0x55021d(0x231),_0x55021d(0x267),_0x55021d(0x218),_0x3ba98b(0x20c),_0x55021d(0x1ff),_0x3ba98b(0x1d2),_0x55021d(0x214),_0x55021d(0x24f),_0x55021d(0x1c8),_0x55021d(0x182),_0x55021d(0x1c5),_0x55021d(0x252),_0x55021d(0x24b),_0x55021d(0x261),_0x55021d(0x286),_0x55ed5f(0x129),_0x55021d(0x246),_0x3ba98b(0x1b8),_0x55021d(0x201),_0x55021d(0x22b),_0x55021d(0x223),_0x55021d(0x23a),_0x55021d(0x26e),_0x55021d(0x242),_0x55021d(0x1c6),_0x3ba98b(0x281),_0x55021d(0x1a0),_0x3ba98b(0x289),_0x55021d(0x26d),_0x55021d(0x279),_0x3ba98b(0x1bb),_0x55021d(0x1ba),_0x55021d(0x27e),_0x55021d(0x269),_0x55021d(0x22a),_0x55021d(0x187),_0x55021d(0x25b),_0x55021d(0x236),_0x55021d(0x283),_0x3ba98b(0x222),_0x55021d(0x1b9),_0x55021d(0x253),_0x55021d(0x196),_0x55021d(0x21d),_0x2dcb7c(0x143),_0x3ba98b(0x1d3),_0x55021d(0x272),_0x3ba98b(0x26f),_0x2dcb7c(0x20b),_0x55021d(0x1cb),_0x55021d(0x17f),_0x55ed5f(0x10e),_0x55021d(0x258),_0x55021d(0x210),_0x55021d(0x26a),_0x55021d(0x265),_0x55021d(0x27a),_0x55021d(0x281),_0x55021d(0x27d),_0x55021d(0x1d5),_0x55021d(0x18c),_0x3ba98b(0x2b7),_0x55021d(0x18b),_0x55021d(0x200),_0x55021d(0x22f),_0x3ba98b(0x1b4),_0x55021d(0x274),_0x3ba98b(0x1fc),_0x3ba98b(0x20e),_0x3ba98b(0x255),_0x55021d(0x1f1),_0x55021d(0x1ec),_0x55021d(0x1aa),_0x55021d(0x1e2),_0x55021d(0x181),_0x55021d(0x22c),_0x3ba98b(0x214),_0x55021d(0x228),_0x55021d(0x195),_0x55021d(0x264),_0x55021d(0x1e9),_0x55021d(0x206),_0x55021d(0x1fe),_0x55021d(0x1a1),_0x55021d(0x194),_0x55021d(0x19b),_0x55021d(0x1d8),_0x55021d(0x275),_0x55021d(0x19a),_0x55ed5f(0x12a),_0x55021d(0x1e0),_0x55021d(0x225),_0x55021d(0x23b),_0x55021d(0x189),_0x55021d(0x202),_0x55021d(0x20e),_0x55021d(0x282),_0x3ba98b(0x1a5),_0x55021d(0x1d3),_0x55021d(0x190),_0x55021d(0x1c2),_0x55021d(0x1d1),_0x3ba98b(0x1e5),_0x55021d(0x26c),_0x3ba98b(0x23d),_0x55021d(0x284),_0x55021d(0x1ad),_0x55021d(0x184),_0x55021d(0x1e7),_0x55021d(0x25c),_0x55021d(0x22e),_0x3ba98b(0x24b),_0x3ba98b(0x2af),_0x55021d(0x226),_0x55021d(0x227),_0x55021d(0x1a8),_0x55021d(0x262),_0x3ba98b(0x1b5),_0x55021d(0x20a),_0x55021d(0x209),_0x55021d(0x249),_0x55021d(0x1d7),_0x3ba98b(0x292),_0x55021d(0x186),_0x55021d(0x1b5),_0x55021d(0x233),_0x55021d(0x250),_0x55021d(0x1c1),_0x55021d(0x1b3),_0x3ba98b(0x28d),_0x55ed5f(0xb7),_0x55021d(0x1dc),_0x55021d(0x1bf),_0x55021d(0x259),_0x55021d(0x1cc),_0x55ed5f(0xf2)];return a0_0x612c=function(){return _0x158107;},a0_0x612c();}function a0_0x179f(){var _0x5673a7=a0_0x8e03,_0x25bc62=a0_0x1f50,_0x54ae49=a0_0x5c16,_0x3a75ec=[_0x54ae49(0x1a5),_0x5673a7(0x14b),_0x54ae49(0xd1),_0x54ae49(0xb3),_0x25bc62(0x1b0),_0x54ae49(0xd2),_0x25bc62(0x1ac),_0x54ae49(0x1a0),_0x5673a7(0x183),_0x54ae49(0x189),_0x54ae49(0xf9),_0x54ae49(0xdb),_0x54ae49(0xb8),_0x25bc62(0x2d2),_0x54ae49(0x1a8),_0x54ae49(0x134),_0x54ae49(0x9d),_0x54ae49(0x173),_0x5673a7(0x173),_0x54ae49(0xb7),_0x54ae49(0x175),_0x25bc62(0x2db),_0x25bc62(0x1ef),_0x54ae49(0xcd),_0x54ae49(0xf2),_0x54ae49(0x118),_0x54ae49(0x95),_0x54ae49(0x1af),_0x54ae49(0x1be),_0x54ae49(0x17a),_0x54ae49(0x132),_0x54ae49(0x1da),_0x54ae49(0x13c),_0x54ae49(0xad),_0x25bc62(0x29f),_0x54ae49(0x1e8),_0x54ae49(0x1f1),_0x54ae49(0x1ab),_0x54ae49(0x194),_0x54ae49(0x125),_0x54ae49(0x161),_0x25bc62(0x2c0),_0x54ae49(0x11f),_0x25bc62(0x1a8),_0x54ae49(0x93),_0x54ae49(0x143),_0x54ae49(0x1c2),'deltaX',_0x54ae49(0xa2),_0x54ae49(0x10b),_0x25bc62(0x207),_0x54ae49(0x117),_0x54ae49(0x120),_0x54ae49(0x1c4),_0x54ae49(0xfa),_0x54ae49(0x121),_0x25bc62(0x1b5),_0x25bc62(0x1f7),_0x54ae49(0x160),_0x54ae49(0xfe),_0x54ae49(0x1f8),_0x54ae49(0x1b7),_0x54ae49(0x124),_0x54ae49(0x155),_0x54ae49(0x104),_0x54ae49(0x1a4),_0x54ae49(0x19c),_0x54ae49(0x1ce),_0x25bc62(0x2af),_0x25bc62(0x238),_0x54ae49(0x1b1),_0x54ae49(0xb5),_0x54ae49(0x192),_0x25bc62(0x1bd),_0x54ae49(0x164),_0x25bc62(0x213),_0x54ae49(0x107),_0x54ae49(0x16e),_0x54ae49(0x128),_0x54ae49(0x1a2),_0x54ae49(0xbe),_0x54ae49(0xd6),_0x54ae49(0x9b),_0x54ae49(0x10f),_0x25bc62(0x269),_0x54ae49(0x178),_0x25bc62(0x2fb),_0x5673a7(0x111),_0x25bc62(0x21f),_0x25bc62(0x1fb),_0x54ae49(0x199),_0x54ae49(0x198),_0x25bc62(0x253),_0x54ae49(0x11a),_0x54ae49(0x1d2),_0x54ae49(0xf7),_0x25bc62(0x21a),_0x5673a7(0x204),_0x54ae49(0xbb),_0x25bc62(0x1ec),_0x54ae49(0x115),_0x54ae49(0x123),_0x54ae49(0x1c0),_0x25bc62(0x2b8),_0x54ae49(0x105),_0x54ae49(0x1b4),_0x54ae49(0x1a6),_0x25bc62(0x195),_0x54ae49(0x1ee),_0x54ae49(0x1a7),_0x54ae49(0xa6),_0x25bc62(0x282),_0x54ae49(0xc7),_0x54ae49(0x133),_0x25bc62(0x1e1),_0x54ae49(0x1fa),_0x54ae49(0x1cc),_0x54ae49(0x1d5),_0x54ae49(0xf1),_0x5673a7(0x247),_0x54ae49(0x130),_0x54ae49(0x15a),_0x54ae49(0xe0),_0x54ae49(0x127),_0x54ae49(0x10c),_0x54ae49(0xda),'mouseup',_0x54ae49(0x149),_0x54ae49(0x1cf),_0x54ae49(0x19f),_0x54ae49(0xf4),_0x54ae49(0x179),_0x54ae49(0xdf),_0x54ae49(0x1e6),_0x54ae49(0x136),_0x54ae49(0x146),_0x54ae49(0x1c7),'22xIvOnB',_0x25bc62(0x223),_0x54ae49(0x14f),_0x54ae49(0x1ba),_0x54ae49(0x113),'useBothWheelAxes',_0x54ae49(0xf5),_0x25bc62(0x2cb),_0x54ae49(0x1d9),_0x54ae49(0x1ed),_0x54ae49(0xff),_0x54ae49(0xd7),_0x54ae49(0x122),_0x54ae49(0x174),_0x25bc62(0x20b),_0x54ae49(0xd0),_0x54ae49(0xf8),_0x54ae49(0xcf),_0x54ae49(0x9f),_0x54ae49(0xd8),_0x54ae49(0x1f7),_0x54ae49(0x1f3),_0x54ae49(0x1e0),_0x54ae49(0x1bf),_0x54ae49(0x191),_0x54ae49(0x144),_0x25bc62(0x1ce),_0x54ae49(0xd5),_0x54ae49(0x183),_0x54ae49(0xef),_0x54ae49(0x13e),_0x5673a7(0x201),_0x54ae49(0x1ae),_0x25bc62(0x1be),_0x54ae49(0x138),_0x54ae49(0xc2),_0x54ae49(0x112),_0x5673a7(0x16f),_0x5673a7(0x140),_0x54ae49(0x1d1),_0x54ae49(0xeb),_0x54ae49(0x167),_0x54ae49(0xb6),_0x54ae49(0x126),_0x25bc62(0x2b6),_0x54ae49(0x1bc),_0x54ae49(0x1c3),_0x5673a7(0x104),_0x54ae49(0x15b),_0x54ae49(0xba),_0x54ae49(0x1df),'contains',_0x54ae49(0xc3),_0x54ae49(0x154),_0x54ae49(0x1f0),_0x54ae49(0x10a),_0x54ae49(0x1cb),_0x54ae49(0x17e),_0x25bc62(0x1f5),_0x54ae49(0xe4),_0x54ae49(0xb4),_0x25bc62(0x2f1),_0x54ae49(0xc5),_0x25bc62(0x28f),_0x54ae49(0x9e),_0x54ae49(0x1f9),_0x54ae49(0x170),_0x54ae49(0x1d3),_0x54ae49(0x11c),_0x54ae49(0x99),_0x25bc62(0x1a0),_0x54ae49(0xf0),_0x54ae49(0x1d8),_0x54ae49(0x15f),_0x54ae49(0x188),_0x54ae49(0x111),_0x25bc62(0x2df),_0x54ae49(0x119),_0x25bc62(0x235),_0x54ae49(0xa7),_0x54ae49(0x1a3),_0x54ae49(0x18c),_0x54ae49(0x1ea),_0x54ae49(0x1c5),_0x54ae49(0xa1),_0x54ae49(0x1c8),_0x25bc62(0x2f6),_0x54ae49(0x110),_0x5673a7(0x1aa),_0x54ae49(0x1f2),_0x25bc62(0x29d),_0x54ae49(0x171),_0x5673a7(0x232),_0x25bc62(0x1a2),_0x5673a7(0x154),_0x54ae49(0x15c),_0x54ae49(0x114),_0x54ae49(0xc0),_0x54ae49(0xb1),_0x54ae49(0x1bd),_0x54ae49(0x18f),_0x54ae49(0xf6),_0x54ae49(0x18a),_0x54ae49(0x116),_0x54ae49(0xea),_0x5673a7(0x110),_0x54ae49(0x1a1),_0x54ae49(0xa0),_0x54ae49(0x196),_0x54ae49(0x135),_0x54ae49(0x150),_0x54ae49(0x1cd),_0x25bc62(0x2aa),'4LEJiba',_0x54ae49(0x1dc),_0x54ae49(0x17d),'2324944bvGWoB',_0x54ae49(0xd9),_0x54ae49(0x17b),_0x54ae49(0x14b),_0x54ae49(0x9a),_0x54ae49(0xa9),_0x54ae49(0x1ac),_0x54ae49(0x13f),_0x25bc62(0x2ab),_0x25bc62(0x1b2),_0x54ae49(0x177),_0x54ae49(0x94),_0x25bc62(0x2c5),_0x54ae49(0x1e1),_0x54ae49(0x12f),_0x54ae49(0x190),_0x54ae49(0x12b),_0x54ae49(0x166),_0x54ae49(0xc1),_0x54ae49(0x1e4),_0x54ae49(0xcb),_0x54ae49(0x14e),_0x54ae49(0x1b3),_0x54ae49(0x1d6),_0x54ae49(0x157),_0x5673a7(0x22b),_0x54ae49(0x19e),_0x54ae49(0x14a),_0x54ae49(0x1f4),_0x54ae49(0xb9),_0x54ae49(0xc9),_0x54ae49(0x172),_0x54ae49(0x16c),_0x25bc62(0x2cf),_0x54ae49(0xdd),_0x54ae49(0x100),_0x54ae49(0x10d),_0x54ae49(0x1c6),_0x54ae49(0x1de),_0x5673a7(0x223),_0x25bc62(0x1b7),_0x54ae49(0x184),_0x25bc62(0x24d),_0x25bc62(0x1ff),_0x25bc62(0x263),_0x54ae49(0xf3),_0x25bc62(0x26c),_0x54ae49(0x1d4),_0x25bc62(0x2ae),_0x25bc62(0x1d0),_0x25bc62(0x274),_0x54ae49(0x195),_0x54ae49(0x16f),_0x25bc62(0x2d3),_0x54ae49(0x1c9),_0x25bc62(0x2a1),_0x54ae49(0x12e),_0x54ae49(0x1c1),_0x25bc62(0x205),_0x54ae49(0xfb),_0x54ae49(0x1b2),_0x54ae49(0x9c),_0x54ae49(0x141),_0x54ae49(0x158),_0x54ae49(0xbc),_0x54ae49(0x142),_0x54ae49(0x19d),_0x54ae49(0x151),_0x54ae49(0x19a),_0x5673a7(0x1b7),_0x54ae49(0x181),_0x54ae49(0x1ef),_0x25bc62(0x24a),_0x25bc62(0x1ca),_0x54ae49(0xdc),_0x25bc62(0x231),_0x54ae49(0x193),_0x54ae49(0x1f6),_0x54ae49(0xe1),_0x54ae49(0x14d),_0x54ae49(0x18b),_0x54ae49(0x12c),_0x25bc62(0x19d),_0x54ae49(0x96),_0x54ae49(0x17c),_0x54ae49(0xab),_0x54ae49(0x15d),_0x54ae49(0x98),_0x25bc62(0x23a),_0x54ae49(0x1e3),_0x54ae49(0x1b9),_0x5673a7(0x113),_0x25bc62(0x27d),_0x54ae49(0x152),_0x54ae49(0xd4),_0x54ae49(0xe7),_0x25bc62(0x18f),_0x54ae49(0x1e2),_0x54ae49(0x176),_0x25bc62(0x2a3)];return a0_0x179f=function(){return _0x3a75ec;},a0_0x179f();}(function(_0x5b133e,_0x5adcec){var _0x21dede=a0_0x491c,_0x3aa127=a0_0x16bb,_0xe8b0f5=_0x5b133e();while(!![]){try{var _0x439898=parseInt(_0x3aa127(0x133))/0x1*(-parseInt(_0x3aa127(0x18e))/0x2)+parseInt(_0x3aa127(0xcd))/0x3*(parseInt(_0x3aa127(0x103))/0x4)+parseInt(_0x3aa127(0x16c))/0x5*(parseInt(_0x3aa127(0xe0))/0x6)+parseInt(_0x3aa127(0x143))/0x7+-parseInt(_0x3aa127(0x16f))/0x8*(-parseInt(_0x3aa127(0x152))/0x9)+parseInt(_0x3aa127(0x17b))/0xa*(parseInt(_0x3aa127(0x1b0))/0xb)+-parseInt(_0x3aa127(0x178))/0xc;if(_0x439898===_0x5adcec)break;else _0xe8b0f5[_0x21dede(0x127)](_0xe8b0f5[_0x21dede(0x126)]());}catch(_0x323116){_0xe8b0f5[_0x21dede(0x127)](_0xe8b0f5[_0x21dede(0x126)]());}}}(a0_0x5451,0xbd7b0),function(_0x1cb02c,_0x1fe235){var _0x5a33e3=a0_0x107a,_0x2c4573=a0_0x491c,_0x25f892=a0_0x16bb;_0x5a33e3(0x11e)==typeof exports&&_0x25f892(0xd8)!=typeof module?module[_0x2c4573(0x141)]=_0x1fe235():_0x25f892(0xfb)==typeof define&&define[_0x25f892(0x105)]?define(_0x1fe235):(_0x1cb02c=_0x1cb02c||self,_0x1cb02c[_0x25f892(0x11e)]=_0x1fe235());}(this,function(){'use strict';var _0x225934=a0_0x5754,_0x52358d=a0_0xb9fb,_0x121de3=a0_0x107a,_0x2cb7ba=a0_0x491c,_0x4a06b3=a0_0x16bb,_0x3ef382=Math[_0x52358d(0xf7)],_0x5c2329=Math[_0x4a06b3(0xf2)];function _0x39eb0a(_0x4b3fcc){return getComputedStyle(_0x4b3fcc);}function _0x209060(_0x62dc99,_0x1841b1){var _0x18e453=_0x4a06b3;for(var _0x4718fe in _0x1841b1){var _0x1d0373=_0x1841b1[_0x4718fe];_0x18e453(0x130)==typeof _0x1d0373&&(_0x1d0373+='px'),_0x62dc99[_0x18e453(0xd9)][_0x4718fe]=_0x1d0373;}return _0x62dc99;}function _0x40119d(_0xbbf2e6){var _0x4a32f1=_0x52358d,_0x5c1222=_0x4a06b3,_0x471af5=document[_0x4a32f1(0x16b)](_0x5c1222(0x187));return _0x471af5[_0x5c1222(0xf1)]=_0xbbf2e6,_0x471af5;}function _0xd8f915(_0x5f3e7f,_0x560785){var _0x433b93=a0_0x491c,_0x4592a5=_0x4a06b3;if(!_0x404d2f)throw new Error(_0x433b93(0x1b4));return _0x404d2f[_0x4592a5(0x111)](_0x5f3e7f,_0x560785);}function _0x1ac443(_0x124fa3){var _0x1ebc34=a0_0x107a,_0x30b9d4=a0_0x491c,_0x175d2d=_0x4a06b3;_0x124fa3[_0x1ebc34(0x144)]?_0x124fa3[_0x175d2d(0x137)]():_0x124fa3[_0x175d2d(0xf7)]&&_0x124fa3[_0x30b9d4(0x1e8)][_0x175d2d(0x19f)](_0x124fa3);}function _0x5d729a(_0x4b0721,_0x212bd6){var _0x5404eb=_0x4a06b3;return Array[_0x5404eb(0x151)][_0x5404eb(0xdf)][_0x5404eb(0x111)](_0x4b0721[_0x5404eb(0xe2)],function(_0x4540f6){return _0xd8f915(_0x4540f6,_0x212bd6);});}function _0x499ec5(_0x4257b9,_0x5c8367){var _0x41df01=a0_0x491c,_0x3a9741=_0x4a06b3,_0x21dde5=_0x4257b9[_0x3a9741(0x160)][_0x3a9741(0x141)],_0x348dff=_0x37e162[_0x3a9741(0x1a3)][_0x3a9741(0x165)](_0x5c8367);_0x21dde5[_0x41df01(0x1b3)](_0x348dff)?clearTimeout(_0x51cd02[_0x5c8367]):_0x21dde5[_0x3a9741(0x18c)](_0x348dff);}function _0x4da6c0(_0x46bbb2,_0x5dbb5c){var _0x58bef1=a0_0x491c,_0x4f8991=_0x4a06b3;_0x51cd02[_0x5dbb5c]=setTimeout(function(){var _0x19c07d=a0_0x107a,_0x1aa94a=a0_0x491c,_0x102083=a0_0x16bb;return _0x46bbb2[_0x1aa94a(0x1d5)]&&_0x46bbb2[_0x102083(0x160)][_0x102083(0x141)][_0x102083(0x137)](_0x37e162[_0x19c07d(0x13a)][_0x102083(0x165)](_0x5dbb5c));},_0x46bbb2[_0x58bef1(0x149)][_0x4f8991(0x163)]);}function _0x1e8b5f(_0x30b6cb,_0x9b2677){_0x499ec5(_0x30b6cb,_0x9b2677),_0x4da6c0(_0x30b6cb,_0x9b2677);}function _0x36fa1a(_0x4be173){var _0x744b9=a0_0x107a,_0x656929=a0_0x491c,_0x17c2af=_0x4a06b3;if(_0x656929(0x173)==typeof window[_0x744b9(0x150)])return new CustomEvent(_0x4be173);var _0x3634d3=document[_0x17c2af(0x161)](_0x17c2af(0x127));return _0x3634d3[_0x744b9(0x188)](_0x4be173,!0x1,!0x1,void 0x0),_0x3634d3;}function _0x815f7(_0x56febf,_0x71f5a3,_0xb06f0d,_0x1a0731,_0x304f1a){var _0x56a327=a0_0x107a,_0x278a43=a0_0x491c,_0x471179=_0x4a06b3;void 0x0===_0x1a0731&&(_0x1a0731=!0x0),void 0x0===_0x304f1a&&(_0x304f1a=!0x1);var _0x7b780;if(_0x471179(0x18f)===_0x71f5a3)_0x7b780=[_0x278a43(0x13e),_0x471179(0xe5),_0x471179(0x101),'y','up',_0x471179(0x110)];else{if(_0x56a327(0x14a)===_0x71f5a3)_0x7b780=[_0x471179(0xe7),_0x471179(0x164),_0x471179(0x12f),'x',_0x471179(0x170),_0x471179(0x155)];else throw new Error(_0x471179(0x11d));}_0x3987c6(_0x56febf,_0xb06f0d,_0x7b780,_0x1a0731,_0x304f1a);}function _0x3987c6(_0x1202b2,_0x1e46e2,_0xf9849b,_0x192481,_0x25c827){var _0x599e63=a0_0x107a,_0x5d91ae=a0_0x491c,_0x497e48=_0x4a06b3,_0xc66e05=_0xf9849b[0x0],_0x5c06d5=_0xf9849b[0x1],_0x4b6c35=_0xf9849b[0x2],_0x5d2c62=_0xf9849b[0x3],_0x16da11=_0xf9849b[0x4],_0x14fbd9=_0xf9849b[0x5];void 0x0===_0x192481&&(_0x192481=!0x0),void 0x0===_0x25c827&&(_0x25c827=!0x1);var _0x3c363f=_0x1202b2[_0x497e48(0x160)];_0x1202b2[_0x497e48(0x190)][_0x5d2c62]=null,0x1>_0x3c363f[_0x4b6c35]&&(_0x1202b2[_0x497e48(0x190)][_0x5d2c62]=_0x497e48(0x129)),_0x3c363f[_0x4b6c35]>_0x1202b2[_0xc66e05]-_0x1202b2[_0x5c06d5]-0x1&&(_0x1202b2[_0x497e48(0x190)][_0x5d2c62]=_0x497e48(0x1a9)),_0x1e46e2&&(_0x3c363f[_0x497e48(0xcb)](_0x36fa1a(_0x497e48(0x12d)+_0x5d2c62)),0x0>_0x1e46e2?_0x3c363f[_0x5d91ae(0x172)](_0x36fa1a(_0x497e48(0x12d)+_0x16da11)):0x0<_0x1e46e2&&_0x3c363f[_0x497e48(0xcb)](_0x36fa1a(_0x497e48(0x12d)+_0x14fbd9)),_0x192481&&_0x1e8b5f(_0x1202b2,_0x5d2c62)),_0x1202b2[_0x497e48(0x190)][_0x5d2c62]&&(_0x1e46e2||_0x25c827)&&_0x3c363f[_0x599e63(0x138)](_0x36fa1a(_0x497e48(0x171)+_0x5d2c62+_0x497e48(0x18a)+_0x1202b2[_0x497e48(0x190)][_0x5d2c62]));}function _0x2becf7(_0x3f389c){return parseInt(_0x3f389c,0xa)||0x0;}function _0x232aab(_0x3e786a){var _0x2a6dc5=_0x4a06b3;return _0xd8f915(_0x3e786a,_0x2a6dc5(0xf6))||_0xd8f915(_0x3e786a,_0x2a6dc5(0x11a))||_0xd8f915(_0x3e786a,_0x2a6dc5(0xd1))||_0xd8f915(_0x3e786a,_0x2a6dc5(0x135));}function _0x15069f(_0x255b4e){var _0x21061a=a0_0x491c,_0x4e0677=_0x4a06b3,_0x25f63d=_0x39eb0a(_0x255b4e);return _0x2becf7(_0x25f63d[_0x4e0677(0xed)])+_0x2becf7(_0x25f63d[_0x4e0677(0x142)])+_0x2becf7(_0x25f63d[_0x4e0677(0xd4)])+_0x2becf7(_0x25f63d[_0x4e0677(0x13a)])+_0x2becf7(_0x25f63d[_0x21061a(0x18c)]);}function _0x124b4a(_0x4bcf0e){var _0x1a64a8=a0_0x107a,_0x31a290=a0_0x491c,_0x466baf=_0x4a06b3,_0x5e202d=Math[_0x466baf(0x11b)],_0x48fccd=_0x4bcf0e[_0x466baf(0x160)],_0x1ab0c0=_0x5c2329(_0x48fccd[_0x466baf(0x101)]),_0x425ef4=_0x48fccd[_0x1a64a8(0x156)]();_0x4bcf0e[_0x466baf(0x164)]=_0x5e202d(_0x425ef4[_0x466baf(0xed)]),_0x4bcf0e[_0x31a290(0x1e9)]=_0x5e202d(_0x425ef4[_0x466baf(0x10b)]),_0x4bcf0e[_0x31a290(0x182)]=_0x48fccd[_0x466baf(0x157)],_0x4bcf0e[_0x31a290(0x13e)]=_0x48fccd[_0x466baf(0x138)],_0x48fccd[_0x466baf(0x189)](_0x4bcf0e[_0x466baf(0x107)])||(_0x5d729a(_0x48fccd,_0x37e162[_0x31a290(0x1d2)][_0x31a290(0x16c)]('x'))[_0x466baf(0x174)](function(_0x48fe80){return _0x1ac443(_0x48fe80);}),_0x48fccd[_0x466baf(0x1af)](_0x4bcf0e[_0x31a290(0x1a9)])),_0x48fccd[_0x466baf(0x189)](_0x4bcf0e[_0x466baf(0x140)])||(_0x5d729a(_0x48fccd,_0x37e162[_0x31a290(0x1d2)][_0x466baf(0x1b6)]('y'))[_0x31a290(0x163)](function(_0x38c078){return _0x1ac443(_0x38c078);}),_0x48fccd[_0x466baf(0x1af)](_0x4bcf0e[_0x31a290(0x1e0)])),!_0x4bcf0e[_0x466baf(0x1a5)][_0x466baf(0x14c)]&&_0x4bcf0e[_0x31a290(0x194)]+_0x4bcf0e[_0x466baf(0x1a5)][_0x466baf(0x126)]<_0x4bcf0e[_0x466baf(0xe7)]?(_0x4bcf0e[_0x466baf(0xfc)]=!0x0,_0x4bcf0e[_0x466baf(0x145)]=_0x4bcf0e[_0x31a290(0x194)]-_0x4bcf0e[_0x466baf(0xf5)],_0x4bcf0e[_0x466baf(0xde)]=_0x4bcf0e[_0x466baf(0x164)]/_0x4bcf0e[_0x466baf(0x145)],_0x4bcf0e[_0x466baf(0x116)]=_0x254b99(_0x4bcf0e,_0x2becf7(_0x4bcf0e[_0x466baf(0x145)]*_0x4bcf0e[_0x466baf(0x164)]/_0x4bcf0e[_0x466baf(0xe7)])),_0x4bcf0e[_0x466baf(0xdd)]=_0x2becf7((_0x4bcf0e[_0x31a290(0x1d9)]+_0x48fccd[_0x466baf(0x12f)])*(_0x4bcf0e[_0x1a64a8(0xcf)]-_0x4bcf0e[_0x466baf(0x116)])/(_0x4bcf0e[_0x466baf(0xe7)]-_0x4bcf0e[_0x466baf(0x164)]))):_0x4bcf0e[_0x466baf(0xfc)]=!0x1,!_0x4bcf0e[_0x466baf(0x1a5)][_0x466baf(0x100)]&&_0x4bcf0e[_0x466baf(0xe5)]+_0x4bcf0e[_0x466baf(0x1a5)][_0x466baf(0x12e)]<_0x4bcf0e[_0x466baf(0x198)]?(_0x4bcf0e[_0x466baf(0x13e)]=!0x0,_0x4bcf0e[_0x466baf(0x17e)]=_0x4bcf0e[_0x466baf(0xe5)]-_0x4bcf0e[_0x31a290(0x18f)],_0x4bcf0e[_0x31a290(0x176)]=_0x4bcf0e[_0x466baf(0xe5)]/_0x4bcf0e[_0x31a290(0x14e)],_0x4bcf0e[_0x466baf(0xe3)]=_0x254b99(_0x4bcf0e,_0x2becf7(_0x4bcf0e[_0x466baf(0x17e)]*_0x4bcf0e[_0x466baf(0xe5)]/_0x4bcf0e[_0x466baf(0x198)])),_0x4bcf0e[_0x466baf(0x115)]=_0x2becf7(_0x1ab0c0*(_0x4bcf0e[_0x466baf(0x17e)]-_0x4bcf0e[_0x466baf(0xe3)])/(_0x4bcf0e[_0x466baf(0x198)]-_0x4bcf0e[_0x31a290(0x1e9)]))):_0x4bcf0e[_0x466baf(0x13e)]=!0x1,_0x4bcf0e[_0x466baf(0xdd)]>=_0x4bcf0e[_0x466baf(0x145)]-_0x4bcf0e[_0x466baf(0x116)]&&(_0x4bcf0e[_0x31a290(0x1a1)]=_0x4bcf0e[_0x466baf(0x145)]-_0x4bcf0e[_0x466baf(0x116)]),_0x4bcf0e[_0x466baf(0x115)]>=_0x4bcf0e[_0x31a290(0x14e)]-_0x4bcf0e[_0x466baf(0xe3)]&&(_0x4bcf0e[_0x466baf(0x115)]=_0x4bcf0e[_0x466baf(0x17e)]-_0x4bcf0e[_0x31a290(0x14a)]),_0x34a550(_0x48fccd,_0x4bcf0e),_0x4bcf0e[_0x466baf(0xfc)]?_0x48fccd[_0x466baf(0x141)][_0x466baf(0x18c)](_0x37e162[_0x1a64a8(0x13a)][_0x466baf(0x149)]('x')):(_0x48fccd[_0x466baf(0x141)][_0x466baf(0x137)](_0x37e162[_0x31a290(0x17c)][_0x466baf(0x149)]('x')),_0x4bcf0e[_0x31a290(0x1b8)]=0x0,_0x4bcf0e[_0x466baf(0xdd)]=0x0,_0x48fccd[_0x466baf(0x12f)]=!0x0===_0x4bcf0e[_0x466baf(0x109)]?_0x4bcf0e[_0x466baf(0xe7)]:0x0),_0x4bcf0e[_0x466baf(0x13e)]?_0x48fccd[_0x466baf(0x141)][_0x31a290(0x139)](_0x37e162[_0x466baf(0x1a3)][_0x466baf(0x149)]('y')):(_0x48fccd[_0x31a290(0x1a4)][_0x466baf(0x137)](_0x37e162[_0x466baf(0x1a3)][_0x466baf(0x149)]('y')),_0x4bcf0e[_0x31a290(0x14a)]=0x0,_0x4bcf0e[_0x31a290(0x17d)]=0x0,_0x48fccd[_0x466baf(0x101)]=0x0);}function _0x254b99(_0x306611,_0x3fbdc1){var _0x3f56bd=a0_0x491c,_0x15ec6d=_0x4a06b3,_0x14433e=Math[_0x15ec6d(0x159)],_0x2975e=Math[_0x15ec6d(0x158)];return _0x306611[_0x15ec6d(0x1a5)][_0x15ec6d(0xf8)]&&(_0x3fbdc1=_0x2975e(_0x3fbdc1,_0x306611[_0x3f56bd(0x149)][_0x15ec6d(0xf8)])),_0x306611[_0x3f56bd(0x149)][_0x15ec6d(0x15c)]&&(_0x3fbdc1=_0x14433e(_0x3fbdc1,_0x306611[_0x15ec6d(0x1a5)][_0x15ec6d(0x15c)])),_0x3fbdc1;}function _0x34a550(_0x3fe397,_0x187e11){var _0x29a4ce=_0x52358d,_0x6f48db=a0_0x107a,_0x13c927=a0_0x491c,_0x57504a=_0x4a06b3,_0x5ba85c={'width':_0x187e11[_0x13c927(0x1ad)]},_0x2051ec=_0x5c2329(_0x3fe397[_0x57504a(0x101)]);_0x5ba85c[_0x57504a(0x170)]=_0x187e11[_0x13c927(0x17b)]?_0x187e11[_0x13c927(0x1d9)]+_0x3fe397[_0x57504a(0x12f)]+_0x187e11[_0x29a4ce(0xff)]-_0x187e11[_0x57504a(0xe7)]:_0x3fe397[_0x57504a(0x12f)],_0x187e11[_0x57504a(0xc8)]?_0x5ba85c[_0x57504a(0x15f)]=_0x187e11[_0x57504a(0x147)]-_0x2051ec:_0x5ba85c[_0x57504a(0x18f)]=_0x187e11[_0x13c927(0x135)]+_0x2051ec,_0x209060(_0x187e11[_0x57504a(0x107)],_0x5ba85c);var _0x1ef96e={'top':_0x2051ec,'height':_0x187e11[_0x13c927(0x14e)]};_0x187e11[_0x57504a(0xcf)]?_0x187e11[_0x57504a(0x109)]?_0x1ef96e[_0x57504a(0x155)]=_0x187e11[_0x13c927(0x182)]-(_0x187e11[_0x57504a(0xe9)]+_0x3fe397[_0x13c927(0x18e)])-_0x187e11[_0x13c927(0x15f)]-_0x187e11[_0x13c927(0x13b)]-0x9:_0x1ef96e[_0x57504a(0x155)]=_0x187e11[_0x57504a(0xf3)]-_0x3fe397[_0x57504a(0x12f)]:_0x187e11[_0x13c927(0x17b)]?_0x1ef96e[_0x57504a(0x170)]=_0x187e11[_0x57504a(0xe9)]+_0x3fe397[_0x6f48db(0xd5)]+0x2*_0x187e11[_0x57504a(0x164)]-_0x187e11[_0x57504a(0xe7)]-_0x187e11[_0x57504a(0xd3)]-_0x187e11[_0x57504a(0x1ae)]:_0x1ef96e[_0x6f48db(0x14a)]=_0x187e11[_0x57504a(0xd3)]+_0x3fe397[_0x13c927(0x18e)],_0x209060(_0x187e11[_0x6f48db(0x15f)],_0x1ef96e),_0x209060(_0x187e11[_0x57504a(0x156)],{'left':_0x187e11[_0x57504a(0xdd)],'width':_0x187e11[_0x13c927(0x1b8)]-_0x187e11[_0x57504a(0x194)]}),_0x209060(_0x187e11[_0x57504a(0x181)],{'top':_0x187e11[_0x57504a(0x115)],'height':_0x187e11[_0x57504a(0xe3)]-_0x187e11[_0x57504a(0x128)]});}function _0x1df2fa(_0x381d95,_0x3eac45){var _0x14fc81=a0_0x491c,_0x4bc965=_0x4a06b3;function _0x4d267a(_0x34fa24){var _0x418c6f=a0_0x491c,_0x333ef4=a0_0x16bb;_0x34fa24[_0x333ef4(0x108)]&&_0x34fa24[_0x333ef4(0x108)][0x0]&&(_0x34fa24[_0x6d99fc]=_0x34fa24[_0x418c6f(0x118)][0x0][_0x333ef4(0x1b4)]),_0x2ed618[_0x6fcdcd]=_0x3b9215+_0xa88bf2*(_0x34fa24[_0x6d99fc]-_0x1dbc9d),_0x499ec5(_0x381d95,_0xab99fa),_0x124b4a(_0x381d95),_0x34fa24[_0x333ef4(0x14a)](),_0x34fa24[_0x333ef4(0x11c)]();}function _0x49c61b(){var _0x504917=a0_0x491c,_0x3121a6=a0_0x16bb;_0x4da6c0(_0x381d95,_0xab99fa),_0x381d95[_0x38dbc9][_0x504917(0x1a4)][_0x3121a6(0x137)](_0x37e162[_0x504917(0x17c)][_0x3121a6(0x16a)]),_0x381d95[_0x504917(0x1bf)][_0x3121a6(0x18d)](_0x381d95[_0x3121a6(0x13f)],_0x3121a6(0x17f),_0x4d267a);}function _0x539515(_0x548968,_0x2cea55){var _0x36cbd7=a0_0x107a,_0x466ba2=a0_0x16bb;_0x3b9215=_0x2ed618[_0x6fcdcd],_0x2cea55&&_0x548968[_0x466ba2(0x108)]&&(_0x548968[_0x6d99fc]=_0x548968[_0x466ba2(0x108)][0x0][_0x466ba2(0x1b4)]),_0x1dbc9d=_0x548968[_0x6d99fc],_0xa88bf2=(_0x381d95[_0x4047e6]-_0x381d95[_0x397342])/(_0x381d95[_0x383e9d]-_0x381d95[_0x1e8e23]),_0x2cea55?_0x381d95[_0x466ba2(0xca)][_0x36cbd7(0x18d)](_0x381d95[_0x466ba2(0x13f)],_0x466ba2(0x106),_0x4d267a):(_0x381d95[_0x466ba2(0xca)][_0x466ba2(0x193)](_0x381d95[_0x466ba2(0x13f)],_0x466ba2(0x17f),_0x4d267a),_0x381d95[_0x466ba2(0xca)][_0x466ba2(0x172)](_0x381d95[_0x466ba2(0x13f)],_0x466ba2(0xfe),_0x49c61b),_0x548968[_0x466ba2(0x11c)]()),_0x381d95[_0x38dbc9][_0x466ba2(0x141)][_0x466ba2(0x18c)](_0x37e162[_0x466ba2(0x1a3)][_0x36cbd7(0x145)]),_0x548968[_0x466ba2(0x14a)]();}var _0x397342=_0x3eac45[0x0],_0x4047e6=_0x3eac45[0x1],_0x6d99fc=_0x3eac45[0x2],_0x383e9d=_0x3eac45[0x3],_0x46c0a6=_0x3eac45[0x4],_0x1e8e23=_0x3eac45[0x5],_0x6fcdcd=_0x3eac45[0x6],_0xab99fa=_0x3eac45[0x7],_0x38dbc9=_0x3eac45[0x8],_0x2ed618=_0x381d95[_0x4bc965(0x160)],_0x3b9215=null,_0x1dbc9d=null,_0xa88bf2=null;_0x381d95[_0x4bc965(0xca)][_0x4bc965(0x193)](_0x381d95[_0x46c0a6],_0x14fc81(0x123),function(_0x1f1d61){_0x539515(_0x1f1d61);}),_0x381d95[_0x14fc81(0x1bf)][_0x14fc81(0x1d0)](_0x381d95[_0x46c0a6],_0x4bc965(0xd5),function(_0x3c80ed){_0x539515(_0x3c80ed,!0x0);});}var _0x404d2f=_0x4a06b3(0xd8)!=typeof Element&&(Element[_0x4a06b3(0x151)][_0x4a06b3(0x15a)]||Element[_0x4a06b3(0x151)][_0x4a06b3(0x1a6)]||Element[_0x2cb7ba(0x1e5)][_0x2cb7ba(0x192)]||Element[_0x52358d(0x102)][_0x2cb7ba(0x177)]),_0x37e162={'main':'ps','rtl':_0x52358d(0x17d),'element':{'thumb':function(_0x176006){var _0x28239e=a0_0x107a;return _0x28239e(0xdc)+_0x176006;},'rail':function(_0x233578){var _0x37aa35=_0x4a06b3;return _0x37aa35(0xce)+_0x233578;},'consuming':_0x2cb7ba(0x18a)},'state':{'focus':_0x4a06b3(0xd7),'clicking':_0x4a06b3(0x112),'active':function(_0x46d26f){var _0x17fb0a=_0x4a06b3;return _0x17fb0a(0x177)+_0x46d26f;},'scrolling':function(_0x1a3d49){var _0x2ffc6c=_0x4a06b3;return _0x2ffc6c(0xdb)+_0x1a3d49;}}},_0x51cd02={'x':null,'y':null},_0x369b52=function(_0x454dc8){var _0x1e4501=_0x4a06b3;this[_0x1e4501(0x160)]=_0x454dc8,this[_0x1e4501(0xe8)]={};},_0x2b84a4={'isEmpty':{'configurable':!0x0}};_0x369b52[_0x4a06b3(0x151)][_0x4a06b3(0x193)]=function(_0x140ef8,_0xe46efa){var _0x4332b8=_0x2cb7ba,_0x1cb26e=_0x4a06b3;_0x1cb26e(0xd8)==typeof this[_0x1cb26e(0xe8)][_0x140ef8]&&(this[_0x1cb26e(0xe8)][_0x140ef8]=[]),this[_0x4332b8(0x150)][_0x140ef8][_0x1cb26e(0x176)](_0xe46efa),this[_0x1cb26e(0x160)][_0x4332b8(0x178)](_0x140ef8,_0xe46efa,!0x1);},_0x369b52[_0x4a06b3(0x151)][_0x2cb7ba(0x144)]=function(_0x45219e,_0x21e432){var _0x24e0d6=_0x2cb7ba,_0x1fe940=_0x4a06b3,_0x3b3ddf=this;this[_0x24e0d6(0x150)][_0x45219e]=this[_0x24e0d6(0x150)][_0x45219e][_0x1fe940(0xdf)](function(_0x1f7c5f){var _0x2565b4=_0x24e0d6,_0x1b903b=_0x1fe940;return!!(_0x21e432&&_0x1f7c5f!==_0x21e432)||(_0x3b3ddf[_0x2565b4(0x1d2)][_0x1b903b(0xee)](_0x45219e,_0x1f7c5f,!0x1),!0x1);});},_0x369b52[_0x4a06b3(0x151)][_0x4a06b3(0x12a)]=function(){var _0x2b1dc8=_0x4a06b3;for(var _0x578838 in this[_0x2b1dc8(0xe8)])this[_0x2b1dc8(0x18d)](_0x578838);},_0x2b84a4[_0x4a06b3(0x196)][_0x4a06b3(0x153)]=function(){var _0x16f2d6=_0x4a06b3,_0x9d5775=this;return Object[_0x16f2d6(0xc9)](this[_0x16f2d6(0xe8)])[_0x16f2d6(0x184)](function(_0x42ecba){var _0x1d5928=_0x16f2d6;return 0x0===_0x9d5775[_0x1d5928(0xe8)][_0x42ecba][_0x1d5928(0x1b2)];});},Object[_0x121de3(0xef)](_0x369b52[_0x2cb7ba(0x1e5)],_0x2b84a4);var _0x3617df=function(){var _0x409647=_0x4a06b3;this[_0x409647(0x195)]=[];};_0x3617df[_0x2cb7ba(0x1e5)][_0x121de3(0x124)]=function(_0x26775e){var _0x42996f=_0x2cb7ba,_0x5d7cbf=_0x4a06b3,_0x4185ca=this[_0x5d7cbf(0x195)][_0x5d7cbf(0xdf)](function(_0x139d84){var _0x5077f3=a0_0x491c;return _0x139d84[_0x5077f3(0x1d2)]===_0x26775e;})[0x0];return _0x4185ca||(_0x4185ca=new _0x369b52(_0x26775e),this[_0x5d7cbf(0x195)][_0x42996f(0x127)](_0x4185ca)),_0x4185ca;},_0x3617df[_0x4a06b3(0x151)][_0x4a06b3(0x193)]=function(_0x54c844,_0x24f9ec,_0x1a3116){var _0x2008f3=_0x4a06b3;this[_0x2008f3(0xf0)](_0x54c844)[_0x2008f3(0x193)](_0x24f9ec,_0x1a3116);},_0x3617df[_0x4a06b3(0x151)][_0x4a06b3(0x18d)]=function(_0x577168,_0x33658e,_0x415833){var _0x2e8a70=_0x52358d,_0x3746be=_0x2cb7ba,_0x135e0f=_0x4a06b3,_0x171c6e=this[_0x135e0f(0xf0)](_0x577168);_0x171c6e[_0x3746be(0x144)](_0x33658e,_0x415833),_0x171c6e[_0x2e8a70(0xf5)]&&this[_0x3746be(0x170)][_0x135e0f(0x131)](this[_0x135e0f(0x195)][_0x135e0f(0x114)](_0x171c6e),0x1);},_0x3617df[_0x4a06b3(0x151)][_0x4a06b3(0x12a)]=function(){var _0x10900f=_0x2cb7ba,_0x50d64b=_0x4a06b3;this[_0x50d64b(0x195)][_0x50d64b(0x174)](function(_0x937def){var _0x2ee1ea=_0x50d64b;return _0x937def[_0x2ee1ea(0x12a)]();}),this[_0x10900f(0x170)]=[];},_0x3617df[_0x4a06b3(0x151)][_0x4a06b3(0x172)]=function(_0x95565d,_0x4f3a23,_0x12c8dd){var _0x51ac54=a0_0x5754,_0x48817f=_0x4a06b3,_0x3a459c=this[_0x51ac54(0xec)](_0x95565d),_0x39262c=function(_0x1d9ecc){var _0x16480f=a0_0x16bb;_0x3a459c[_0x16480f(0x18d)](_0x4f3a23,_0x39262c),_0x12c8dd(_0x1d9ecc);};_0x3a459c[_0x48817f(0x193)](_0x4f3a23,_0x39262c);};var _0x271c2b={'isWebKit':_0x4a06b3(0xd8)!=typeof document&&_0x4a06b3(0x134)in document[_0x225934(0x7f)][_0x2cb7ba(0x12b)],'supportsTouch':_0x4a06b3(0xd8)!=typeof window&&(_0x4a06b3(0x182)in window||_0x4a06b3(0x10d)in window[_0x4a06b3(0xeb)]&&0x0_0x494b19[_0x57b09a(0x115)]?0x1:-0x1;_0x494b19[_0x57b09a(0x160)][_0x117f5e(0x158)]+=_0x4d105d*_0x494b19[_0x57b09a(0xe5)],_0x124b4a(_0x494b19),_0x5ec5af[_0x117f5e(0x151)]();}),_0x494b19[_0x5a11d1(0xca)][_0x15f6e3(0x1d0)](_0x494b19[_0x53443c(0xf8)],_0x5a11d1(0x179),function(_0x5b7f3c){var _0x10b119=_0x15f6e3;return _0x5b7f3c[_0x10b119(0x151)]();}),_0x494b19[_0x5a11d1(0xca)][_0x5a11d1(0x193)](_0x494b19[_0x15f6e3(0x1a9)],_0x15f6e3(0x123),function(_0x40ca8d){var _0x5804d2=a0_0xb9fb,_0x215e90=_0x15f6e3,_0x53ec3a=_0x5a11d1,_0xbed5f7=_0x40ca8d[_0x53ec3a(0xda)]-window[_0x215e90(0x11b)]-_0x494b19[_0x53ec3a(0x107)][_0x53ec3a(0x185)]()[_0x53ec3a(0x170)],_0x2d16fc=_0xbed5f7>_0x494b19[_0x53ec3a(0xdd)]?0x1:-0x1;_0x494b19[_0x53ec3a(0x160)][_0x53ec3a(0x12f)]+=_0x2d16fc*_0x494b19[_0x5804d2(0xff)],_0x124b4a(_0x494b19),_0x40ca8d[_0x53ec3a(0x14a)]();}));},'drag-thumb':function(_0x21ca1e){var _0x9a3af2=_0x2cb7ba,_0x2a9ece=_0x4a06b3;_0x1df2fa(_0x21ca1e,[_0x2a9ece(0x164),_0x2a9ece(0xe7),_0x9a3af2(0x19a),_0x9a3af2(0x1ad),_0x2a9ece(0x156),_0x2a9ece(0x116),_0x2a9ece(0x12f),'x',_0x2a9ece(0x107)]),_0x1df2fa(_0x21ca1e,[_0x2a9ece(0xe5),_0x2a9ece(0x198),_0x2a9ece(0x1b4),_0x2a9ece(0x17e),_0x2a9ece(0x181),_0x9a3af2(0x14a),_0x9a3af2(0x158),'y',_0x9a3af2(0x1e0)]);},'keyboard':function(_0x2c8c78){var _0x19d704=_0x2cb7ba,_0x43cafa=_0x4a06b3;function _0x1557f9(_0x5fc09,_0x26d268){var _0x140882=a0_0x16bb,_0x864a=_0x5c2329(_0x4e1498[_0x140882(0x101)]);if(0x0===_0x5fc09){if(!_0x2c8c78[_0x140882(0x13e)])return!0x1;if(0x0===_0x864a&&0x0<_0x26d268||_0x864a>=_0x2c8c78[_0x140882(0x198)]-_0x2c8c78[_0x140882(0xe5)]&&0x0>_0x26d268)return!_0x2c8c78[_0x140882(0x1a5)][_0x140882(0xff)];}var _0x5634f5=_0x4e1498[_0x140882(0x12f)];if(0x0===_0x26d268){if(!_0x2c8c78[_0x140882(0xfc)])return!0x1;if(0x0===_0x5634f5&&0x0>_0x5fc09||_0x5634f5>=_0x2c8c78[_0x140882(0xe7)]-_0x2c8c78[_0x140882(0x164)]&&0x0<_0x5fc09)return!_0x2c8c78[_0x140882(0x1a5)][_0x140882(0xff)];}return!0x0;}var _0x4e1498=_0x2c8c78[_0x43cafa(0x160)],_0x222a7b=function(){var _0x133745=_0x43cafa;return _0xd8f915(_0x4e1498,_0x133745(0x169));},_0x224007=function(){var _0x518aa6=a0_0x491c,_0x5c3942=_0x43cafa;return _0xd8f915(_0x2c8c78[_0x518aa6(0x138)],_0x5c3942(0x102))||_0xd8f915(_0x2c8c78[_0x5c3942(0x181)],_0x5c3942(0x102));};_0x2c8c78[_0x19d704(0x1bf)][_0x43cafa(0x193)](_0x2c8c78[_0x19d704(0x146)],_0x43cafa(0x180),function(_0x3306fa){var _0x582807=a0_0x107a,_0x28c01a=_0x19d704,_0x273d05=_0x43cafa;if(!(_0x3306fa[_0x273d05(0x166)]&&_0x3306fa[_0x273d05(0x166)]()||_0x3306fa[_0x273d05(0x16b)])&&(_0x222a7b()||_0x224007())){var _0x160203=document[_0x582807(0x192)]?document[_0x28c01a(0x1ed)]:_0x2c8c78[_0x28c01a(0x146)][_0x273d05(0xea)];if(_0x160203){if(_0x28c01a(0x11e)===_0x160203[_0x273d05(0x15b)])_0x160203=_0x160203[_0x273d05(0x1a8)][_0x28c01a(0x1ed)];else{for(;_0x160203[_0x28c01a(0x152)];)_0x160203=_0x160203[_0x273d05(0x18b)][_0x273d05(0xea)];}if(_0x232aab(_0x160203))return;}var _0xf38b40=0x0,_0x5c4d84=0x0;switch(_0x3306fa[_0x273d05(0x17c)]){case 0x25:_0xf38b40=_0x3306fa[_0x273d05(0x139)]?-_0x2c8c78[_0x273d05(0xe7)]:_0x3306fa[_0x28c01a(0x1c0)]?-_0x2c8c78[_0x28c01a(0x194)]:-0x1e;break;case 0x26:_0x5c4d84=_0x3306fa[_0x273d05(0x139)]?_0x2c8c78[_0x273d05(0x198)]:_0x3306fa[_0x273d05(0x162)]?_0x2c8c78[_0x273d05(0xe5)]:0x1e;break;case 0x27:_0xf38b40=_0x3306fa[_0x273d05(0x139)]?_0x2c8c78[_0x273d05(0xe7)]:_0x3306fa[_0x273d05(0x162)]?_0x2c8c78[_0x273d05(0x164)]:0x1e;break;case 0x28:_0x5c4d84=_0x3306fa[_0x28c01a(0x1d1)]?-_0x2c8c78[_0x28c01a(0x13e)]:_0x3306fa[_0x273d05(0x162)]?-_0x2c8c78[_0x273d05(0xe5)]:-0x1e;break;case 0x20:_0x5c4d84=_0x3306fa[_0x273d05(0xfd)]?_0x2c8c78[_0x273d05(0xe5)]:-_0x2c8c78[_0x273d05(0xe5)];break;case 0x21:_0x5c4d84=_0x2c8c78[_0x273d05(0xe5)];break;case 0x22:_0x5c4d84=-_0x2c8c78[_0x273d05(0xe5)];break;case 0x24:_0x5c4d84=_0x2c8c78[_0x273d05(0x198)];break;case 0x23:_0x5c4d84=-_0x2c8c78[_0x273d05(0x198)];break;default:return;}_0x2c8c78[_0x273d05(0x1a5)][_0x273d05(0x14c)]&&0x0!==_0xf38b40||_0x2c8c78[_0x273d05(0x1a5)][_0x273d05(0x100)]&&0x0!==_0x5c4d84||(_0x4e1498[_0x28c01a(0x158)]-=_0x5c4d84,_0x4e1498[_0x273d05(0x12f)]+=_0xf38b40,_0x124b4a(_0x2c8c78),_0x1557f9(_0xf38b40,_0x5c4d84)&&_0x3306fa[_0x273d05(0x11c)]());}});},'wheel':function(_0x5767eb){var _0x2188c8=_0x2cb7ba,_0x3b0b6e=_0x4a06b3;function _0x43e00b(_0x87ad46,_0x2fa230){var _0x40a15e=a0_0x107a,_0x4f75b1=a0_0x491c,_0x1e8b34=a0_0x16bb,_0x2d71ba,_0x405275=_0x5c2329(_0x347d02[_0x1e8b34(0x101)]),_0x2dd83c=0x0===_0x347d02[_0x1e8b34(0x101)],_0x3e4eef=_0x405275+_0x347d02[_0x1e8b34(0xfa)]===_0x347d02[_0x1e8b34(0x138)],_0x1df8ab=0x0===_0x347d02[_0x1e8b34(0x12f)],_0x193e20=_0x347d02[_0x1e8b34(0x12f)]+_0x347d02[_0x40a15e(0x136)]===_0x347d02[_0x1e8b34(0x157)];return _0x2d71ba=_0x3ef382(_0x2fa230)>_0x3ef382(_0x87ad46)?_0x2dd83c||_0x3e4eef:_0x1df8ab||_0x193e20,!_0x2d71ba||!_0x5767eb[_0x1e8b34(0x1a5)][_0x4f75b1(0x1ae)];}function _0x3609a1(_0x4d148c){var _0x17aff6=a0_0x107a,_0x578941=a0_0x491c,_0x5b6477=a0_0x16bb,_0x4de464=_0x4d148c[_0x578941(0x143)],_0x26690a=-0x1*_0x4d148c[_0x17aff6(0x187)];return(_0x578941(0x1bd)==typeof _0x4de464||_0x5b6477(0xd8)==typeof _0x26690a)&&(_0x4de464=-0x1*_0x4d148c[_0x5b6477(0x132)]/0x6,_0x26690a=_0x4d148c[_0x5b6477(0x1a2)]/0x6),_0x4d148c[_0x5b6477(0xf9)]&&0x1===_0x4d148c[_0x578941(0x181)]&&(_0x4de464*=0xa,_0x26690a*=0xa),_0x4de464!==_0x4de464&&_0x26690a!==_0x26690a&&(_0x4de464=0x0,_0x26690a=_0x4d148c[_0x578941(0x188)]),_0x4d148c[_0x5b6477(0xfd)]?[-_0x26690a,-_0x4de464]:[_0x4de464,_0x26690a];}function _0x3bf61b(_0x29bccd,_0x91ceaa,_0x3b424f){var _0x1849a0=a0_0xb9fb,_0x1c27aa=a0_0x491c,_0x7383c5=a0_0x16bb;if(!_0x271c2b[_0x7383c5(0x183)]&&_0x347d02[_0x7383c5(0x175)](_0x7383c5(0x19c)))return!0x0;if(!_0x347d02[_0x7383c5(0x189)](_0x29bccd))return!0x1;for(var _0x4d2485=_0x29bccd;_0x4d2485&&_0x4d2485!==_0x347d02;){if(_0x4d2485[_0x7383c5(0x141)][_0x7383c5(0x189)](_0x37e162[_0x7383c5(0x160)][_0x7383c5(0x19d)]))return!0x0;var _0x1f6b0a=_0x39eb0a(_0x4d2485);if(_0x3b424f&&_0x1f6b0a[_0x7383c5(0x154)][_0x7383c5(0xf4)](/(scroll|auto)/)){var _0x34d5ba=_0x4d2485[_0x7383c5(0x138)]-_0x4d2485[_0x1c27aa(0x154)];if(0x0<_0x34d5ba&&(0x0<_0x4d2485[_0x7383c5(0x101)]&&0x0>_0x3b424f||_0x4d2485[_0x7383c5(0x101)]<_0x34d5ba&&0x0<_0x3b424f))return!0x0;}if(_0x91ceaa&&_0x1f6b0a[_0x7383c5(0x167)][_0x7383c5(0xf4)](/(scroll|auto)/)){var _0x386113=_0x4d2485[_0x1849a0(0x18d)]-_0x4d2485[_0x7383c5(0x17d)];if(0x0<_0x386113&&(0x0<_0x4d2485[_0x7383c5(0x12f)]&&0x0>_0x91ceaa||_0x4d2485[_0x1c27aa(0x18e)]<_0x386113&&0x0<_0x91ceaa))return!0x0;}_0x4d2485=_0x4d2485[_0x1c27aa(0x1e8)];}return!0x1;}function _0x1b7161(_0x294fda){var _0x35222d=a0_0xb9fb,_0x245618=a0_0x107a,_0x5005b3=a0_0x491c,_0x5bb7f3=a0_0x16bb,_0x1d51f1=_0x3609a1(_0x294fda),_0x35f812=_0x1d51f1[0x0],_0x4d2b05=_0x1d51f1[0x1];if(!_0x3bf61b(_0x294fda[_0x5bb7f3(0x1b3)],_0x35f812,_0x4d2b05)){var _0x4b803c=!0x1;_0x5767eb[_0x5bb7f3(0x1a5)][_0x5bb7f3(0x144)]?_0x5767eb[_0x245618(0x13d)]&&!_0x5767eb[_0x5bb7f3(0xfc)]?(_0x4d2b05?_0x347d02[_0x5bb7f3(0x101)]-=_0x4d2b05*_0x5767eb[_0x5005b3(0x149)][_0x5bb7f3(0x121)]:_0x347d02[_0x35222d(0x1a2)]+=_0x35f812*_0x5767eb[_0x5bb7f3(0x1a5)][_0x5bb7f3(0x121)],_0x4b803c=!0x0):_0x5767eb[_0x245618(0x19c)]&&!_0x5767eb[_0x5005b3(0x1c9)]&&(_0x35f812?_0x347d02[_0x5bb7f3(0x12f)]+=_0x35f812*_0x5767eb[_0x5bb7f3(0x1a5)][_0x5bb7f3(0x121)]:_0x347d02[_0x5005b3(0x18e)]-=_0x4d2b05*_0x5767eb[_0x35222d(0xf9)][_0x5005b3(0x132)],_0x4b803c=!0x0):(_0x347d02[_0x5bb7f3(0x101)]-=_0x4d2b05*_0x5767eb[_0x5bb7f3(0x1a5)][_0x5005b3(0x132)],_0x347d02[_0x5bb7f3(0x12f)]+=_0x35f812*_0x5767eb[_0x5bb7f3(0x1a5)][_0x245618(0xe4)]),_0x124b4a(_0x5767eb),_0x4b803c=_0x4b803c||_0x43e00b(_0x35f812,_0x4d2b05),_0x4b803c&&!_0x294fda[_0x5bb7f3(0x1b1)]&&(_0x294fda[_0x5bb7f3(0x14a)](),_0x294fda[_0x5bb7f3(0x11c)]());}}var _0x347d02=_0x5767eb[_0x3b0b6e(0x160)];_0x2188c8(0x1bd)==typeof window[_0x3b0b6e(0x1b5)]?_0x3b0b6e(0xd8)!=typeof window[_0x3b0b6e(0xd2)]&&_0x5767eb[_0x3b0b6e(0xca)][_0x3b0b6e(0x193)](_0x347d02,_0x3b0b6e(0x122),_0x1b7161):_0x5767eb[_0x3b0b6e(0xca)][_0x2188c8(0x1d0)](_0x347d02,_0x3b0b6e(0xe6),_0x1b7161);},'touch':function(_0xf43d44){var _0x449b50=_0x2cb7ba,_0x10e89b=_0x4a06b3;function _0x3f9198(_0x5d1dda,_0x53c397){var _0x50463d=a0_0x491c,_0x1a31f0=a0_0x16bb,_0x17b7b9=_0x5c2329(_0x45ab99[_0x50463d(0x158)]),_0x5f1d2b=_0x45ab99[_0x1a31f0(0x12f)],_0x25bcef=_0x3ef382(_0x5d1dda),_0x44039a=_0x3ef382(_0x53c397);if(_0x44039a>_0x25bcef){if(0x0>_0x53c397&&_0x17b7b9===_0xf43d44[_0x1a31f0(0x198)]-_0xf43d44[_0x1a31f0(0xe5)]||0x0<_0x53c397&&0x0===_0x17b7b9)return 0x0===window[_0x50463d(0x1e7)]&&0x0<_0x53c397&&_0x271c2b[_0x1a31f0(0x16d)];}else{if(_0x25bcef>_0x44039a&&(0x0>_0x5d1dda&&_0x5f1d2b===_0xf43d44[_0x1a31f0(0xe7)]-_0xf43d44[_0x1a31f0(0x164)]||0x0<_0x5d1dda&&0x0===_0x5f1d2b))return!0x0;}return!0x0;}function _0x4b29c9(_0xe74c13,_0x3e33f1){var _0x5694a9=a0_0x16bb;_0x45ab99[_0x5694a9(0x101)]-=_0x3e33f1,_0x45ab99[_0x5694a9(0x12f)]-=_0xe74c13,_0x124b4a(_0xf43d44);}function _0x260dc4(_0x50be56){var _0x423975=a0_0xb9fb,_0x33edd0=a0_0x16bb;return _0x50be56[_0x33edd0(0x192)]?_0x50be56[_0x423975(0x12a)][0x0]:_0x50be56;}function _0x265a80(_0x36af80){var _0x1fd896=a0_0x107a,_0x247d42=a0_0x491c,_0x181064=a0_0x16bb;return!(_0x36af80[_0x181064(0x19b)]&&_0x181064(0x168)===_0x36af80[_0x181064(0x19b)]&&0x0===_0x36af80[_0x181064(0x1ad)])&&(!!(_0x36af80[_0x247d42(0x1c1)]&&0x1===_0x36af80[_0x181064(0x192)][_0x181064(0x1b2)])||!!(_0x36af80[_0x247d42(0x1d8)]&&_0x181064(0x118)!==_0x36af80[_0x181064(0x19b)]&&_0x36af80[_0x1fd896(0x14c)]!==_0x36af80[_0x181064(0x17a)]));}function _0x389a11(_0x14c833){var _0x9eda17=a0_0xb9fb,_0x3e0b62=a0_0x491c,_0x2e1f2a=a0_0x16bb;if(_0x265a80(_0x14c833)){var _0x13d44e=_0x260dc4(_0x14c833);_0x3d336d[_0x3e0b62(0x19a)]=_0x13d44e[_0x9eda17(0x1b1)],_0x3d336d[_0x2e1f2a(0x1b4)]=_0x13d44e[_0x2e1f2a(0x1b4)],_0x434986=new Date()[_0x2e1f2a(0x173)](),null!==_0x370665&&clearInterval(_0x370665);}}function _0x41bc8b(_0x5bec33,_0x1aca20,_0x588975){var _0x40baa0=a0_0x491c,_0x3b34b8=a0_0x16bb;if(!_0x45ab99[_0x3b34b8(0x189)](_0x5bec33))return!0x1;for(var _0x12101d=_0x5bec33;_0x12101d&&_0x12101d!==_0x45ab99;){if(_0x12101d[_0x40baa0(0x1a4)][_0x3b34b8(0x189)](_0x37e162[_0x3b34b8(0x160)][_0x3b34b8(0x19d)]))return!0x0;var _0x31bf13=_0x39eb0a(_0x12101d);if(_0x588975&&_0x31bf13[_0x3b34b8(0x154)][_0x3b34b8(0xf4)](/(scroll|auto)/)){var _0x52872c=_0x12101d[_0x40baa0(0x18d)]-_0x12101d[_0x3b34b8(0xcc)];if(0x0<_0x52872c&&(0x0<_0x12101d[_0x3b34b8(0x101)]&&0x0>_0x588975||_0x12101d[_0x3b34b8(0x101)]<_0x52872c&&0x0<_0x588975))return!0x0;}if(_0x1aca20&&_0x31bf13[_0x3b34b8(0x167)][_0x3b34b8(0xf4)](/(scroll|auto)/)){var _0x327395=_0x12101d[_0x3b34b8(0x157)]-_0x12101d[_0x3b34b8(0x17d)];if(0x0<_0x327395&&(0x0<_0x12101d[_0x3b34b8(0x12f)]&&0x0>_0x1aca20||_0x12101d[_0x3b34b8(0x12f)]<_0x327395&&0x0<_0x1aca20))return!0x0;}_0x12101d=_0x12101d[_0x40baa0(0x1e8)];}return!0x1;}function _0x2dff17(_0x17f95e){var _0x34c71e=a0_0x16bb;if(_0x265a80(_0x17f95e)){var _0x9359ab=_0x260dc4(_0x17f95e),_0x13c069={'pageX':_0x9359ab[_0x34c71e(0xda)],'pageY':_0x9359ab[_0x34c71e(0x1b4)]},_0x1b269c=_0x13c069[_0x34c71e(0xda)]-_0x3d336d[_0x34c71e(0xda)],_0x1eff65=_0x13c069[_0x34c71e(0x1b4)]-_0x3d336d[_0x34c71e(0x1b4)];if(_0x41bc8b(_0x17f95e[_0x34c71e(0x1b3)],_0x1b269c,_0x1eff65))return;_0x4b29c9(_0x1b269c,_0x1eff65),_0x3d336d=_0x13c069;var _0x3ceb6d=new Date()[_0x34c71e(0x173)](),_0x24f3a8=_0x3ceb6d-_0x434986;0x0<_0x24f3a8&&(_0xe7ac5a['x']=_0x1b269c/_0x24f3a8,_0xe7ac5a['y']=_0x1eff65/_0x24f3a8,_0x434986=_0x3ceb6d),_0x3f9198(_0x1b269c,_0x1eff65)&&_0x17f95e[_0x34c71e(0x11c)]();}}function _0x43f9f2(){var _0x5f3859=a0_0x16bb;_0xf43d44[_0x5f3859(0x1a5)][_0x5f3859(0xec)]&&(clearInterval(_0x370665),_0x370665=setInterval(function(){var _0x291e1f=_0x5f3859;return _0xf43d44[_0x291e1f(0x104)]?void clearInterval(_0x370665):_0xe7ac5a['x']||_0xe7ac5a['y']?0.01>_0x3ef382(_0xe7ac5a['x'])&&0.01>_0x3ef382(_0xe7ac5a['y'])?void clearInterval(_0x370665):_0xf43d44[_0x291e1f(0x160)]?void(_0x4b29c9(0x1e*_0xe7ac5a['x'],0x1e*_0xe7ac5a['y']),_0xe7ac5a['x']*=0.8,_0xe7ac5a['y']*=0.8):void clearInterval(_0x370665):void clearInterval(_0x370665);},0xa));}if(_0x271c2b[_0x10e89b(0x197)]||_0x271c2b[_0x10e89b(0x125)]){var _0x45ab99=_0xf43d44[_0x10e89b(0x160)],_0x3d336d={},_0x434986=0x0,_0xe7ac5a={},_0x370665=null;_0x271c2b[_0x10e89b(0x197)]?(_0xf43d44[_0x449b50(0x1bf)][_0x449b50(0x1d0)](_0x45ab99,_0x10e89b(0xd5),_0x389a11),_0xf43d44[_0x10e89b(0xca)][_0x10e89b(0x193)](_0x45ab99,_0x10e89b(0x106),_0x2dff17),_0xf43d44[_0x10e89b(0xca)][_0x10e89b(0x193)](_0x45ab99,_0x10e89b(0x150),_0x43f9f2)):_0x271c2b[_0x10e89b(0x125)]&&(window[_0x10e89b(0x1ab)]?(_0xf43d44[_0x449b50(0x1bf)][_0x10e89b(0x193)](_0x45ab99,_0x10e89b(0x1a0),_0x389a11),_0xf43d44[_0x10e89b(0xca)][_0x10e89b(0x193)](_0x45ab99,_0x10e89b(0x1a1),_0x2dff17),_0xf43d44[_0x10e89b(0xca)][_0x449b50(0x1d0)](_0x45ab99,_0x10e89b(0x14b),_0x43f9f2)):window[_0x10e89b(0x15d)]&&(_0xf43d44[_0x10e89b(0xca)][_0x449b50(0x1d0)](_0x45ab99,_0x10e89b(0x191),_0x389a11),_0xf43d44[_0x10e89b(0xca)][_0x10e89b(0x193)](_0x45ab99,_0x10e89b(0x12c),_0x2dff17),_0xf43d44[_0x10e89b(0xca)][_0x449b50(0x1d0)](_0x45ab99,_0x10e89b(0x14f),_0x43f9f2)));}}},_0x3dd3d7=function(_0x1ac0e2,_0x48849b){var _0x470beb=_0x225934,_0x4d77a6=_0x121de3,_0x570be5=_0x2cb7ba,_0x7e9eb4=_0x4a06b3,_0x4dc1d4=this;if(void 0x0===_0x48849b&&(_0x48849b={}),_0x7e9eb4(0x13c)==typeof _0x1ac0e2&&(_0x1ac0e2=document[_0x7e9eb4(0x175)](_0x1ac0e2)),!_0x1ac0e2||!_0x1ac0e2[_0x7e9eb4(0x11f)])throw new Error(_0x570be5(0x11d));for(var _0x503f1d in(this[_0x7e9eb4(0x160)]=_0x1ac0e2,_0x1ac0e2[_0x7e9eb4(0x141)][_0x570be5(0x139)](_0x37e162[_0x7e9eb4(0x19e)]),this[_0x7e9eb4(0x1a5)]=_0x55feb4(),_0x48849b))this[_0x570be5(0x149)][_0x503f1d]=_0x48849b[_0x503f1d];this[_0x570be5(0x194)]=null,this[_0x570be5(0x1e9)]=null,this[_0x7e9eb4(0xe7)]=null,this[_0x7e9eb4(0x198)]=null;var _0x1ea2f2=function(){var _0x144672=a0_0x5754,_0x350cba=_0x570be5,_0x5dccbe=_0x7e9eb4;return _0x1ac0e2[_0x144672(0x79)][_0x5dccbe(0x18c)](_0x37e162[_0x350cba(0x17c)][_0x350cba(0x1de)]);},_0x3d057e=function(){var _0x4b0522=_0x570be5,_0x53942b=_0x7e9eb4;return _0x1ac0e2[_0x53942b(0x141)][_0x53942b(0x137)](_0x37e162[_0x53942b(0x1a3)][_0x4b0522(0x1de)]);};this[_0x7e9eb4(0x109)]=_0x7e9eb4(0xe1)===_0x39eb0a(_0x1ac0e2)[_0x4d77a6(0x18c)],!0x0===this[_0x570be5(0x17b)]&&_0x1ac0e2[_0x570be5(0x1a4)][_0x7e9eb4(0x18c)](_0x37e162[_0x7e9eb4(0xe1)]),this[_0x7e9eb4(0x13b)]=(function(){var _0x37ec82=_0x7e9eb4,_0x5382e9=_0x1ac0e2[_0x37ec82(0x12f)],_0x5c039e=null;return _0x1ac0e2[_0x37ec82(0x12f)]=-0x1,_0x5c039e=0x0>_0x1ac0e2[_0x37ec82(0x12f)],_0x1ac0e2[_0x37ec82(0x12f)]=_0x5382e9,_0x5c039e;}()),this[_0x7e9eb4(0xe9)]=this[_0x7e9eb4(0x13b)]?_0x1ac0e2[_0x570be5(0x1db)]-_0x1ac0e2[_0x570be5(0x157)]:0x0,this[_0x7e9eb4(0xca)]=new _0x3617df(),this[_0x7e9eb4(0x13f)]=_0x1ac0e2[_0x570be5(0x146)]||document,this[_0x570be5(0x1a9)]=_0x40119d(_0x37e162[_0x570be5(0x1d2)][_0x7e9eb4(0x1b6)]('x')),_0x1ac0e2[_0x7e9eb4(0x1af)](this[_0x7e9eb4(0x107)]),this[_0x7e9eb4(0x156)]=_0x40119d(_0x37e162[_0x7e9eb4(0x160)][_0x7e9eb4(0x14d)]('x')),this[_0x570be5(0x1a9)][_0x7e9eb4(0x1af)](this[_0x7e9eb4(0x156)]),this[_0x570be5(0x138)][_0x7e9eb4(0x14e)](_0x7e9eb4(0x10e),0x0),this[_0x570be5(0x1bf)][_0x570be5(0x1d0)](this[_0x7e9eb4(0x156)],_0x7e9eb4(0x19a),_0x1ea2f2),this[_0x570be5(0x1bf)][_0x7e9eb4(0x193)](this[_0x7e9eb4(0x156)],_0x7e9eb4(0x10a),_0x3d057e),this[_0x7e9eb4(0xfc)]=null,this[_0x7e9eb4(0x116)]=null,this[_0x570be5(0x1a1)]=null;var _0x2815fe=_0x39eb0a(this[_0x7e9eb4(0x107)]);this[_0x7e9eb4(0x147)]=parseInt(_0x2815fe[_0x570be5(0x1ea)],0xa),isNaN(this[_0x7e9eb4(0x147)])?(this[_0x570be5(0x130)]=!0x1,this[_0x7e9eb4(0x119)]=_0x2becf7(_0x2815fe[_0x7e9eb4(0x18f)])):this[_0x7e9eb4(0xc8)]=!0x0,this[_0x7e9eb4(0x194)]=_0x2becf7(_0x2815fe[_0x570be5(0x1b6)])+_0x2becf7(_0x2815fe[_0x7e9eb4(0x15e)]),_0x209060(this[_0x570be5(0x1a9)],{'display':_0x7e9eb4(0x1a7)}),this[_0x7e9eb4(0xf5)]=_0x2becf7(_0x2815fe[_0x470beb(0x81)])+_0x2becf7(_0x2815fe[_0x7e9eb4(0x12b)]),_0x209060(this[_0x7e9eb4(0x107)],{'display':''}),this[_0x570be5(0x1ad)]=null,this[_0x570be5(0x155)]=null,this[_0x7e9eb4(0x140)]=_0x40119d(_0x37e162[_0x4d77a6(0x107)][_0x570be5(0x16c)]('y')),_0x1ac0e2[_0x570be5(0x16f)](this[_0x570be5(0x1e0)]),this[_0x7e9eb4(0x181)]=_0x40119d(_0x37e162[_0x7e9eb4(0x160)][_0x7e9eb4(0x14d)]('y')),this[_0x7e9eb4(0x140)][_0x7e9eb4(0x1af)](this[_0x7e9eb4(0x181)]),this[_0x7e9eb4(0x181)][_0x7e9eb4(0x14e)](_0x7e9eb4(0x10e),0x0),this[_0x7e9eb4(0xca)][_0x7e9eb4(0x193)](this[_0x570be5(0x1be)],_0x7e9eb4(0x19a),_0x1ea2f2),this[_0x570be5(0x1bf)][_0x570be5(0x1d0)](this[_0x7e9eb4(0x181)],_0x7e9eb4(0x10a),_0x3d057e),this[_0x7e9eb4(0x13e)]=null,this[_0x7e9eb4(0xe3)]=null,this[_0x570be5(0x17d)]=null;var _0x2916fa=_0x39eb0a(this[_0x7e9eb4(0x140)]);this[_0x7e9eb4(0xf3)]=parseInt(_0x2916fa[_0x7e9eb4(0x155)],0xa),isNaN(this[_0x7e9eb4(0xf3)])?(this[_0x7e9eb4(0xcf)]=!0x1,this[_0x7e9eb4(0xd3)]=_0x2becf7(_0x2916fa[_0x7e9eb4(0x170)])):this[_0x7e9eb4(0xcf)]=!0x0,this[_0x7e9eb4(0x1ae)]=this[_0x7e9eb4(0x109)]?_0x15069f(this[_0x7e9eb4(0x181)]):null,this[_0x7e9eb4(0x128)]=_0x2becf7(_0x2916fa[_0x570be5(0x122)])+_0x2becf7(_0x2916fa[_0x7e9eb4(0xe4)]),_0x209060(this[_0x7e9eb4(0x140)],{'display':_0x7e9eb4(0x1a7)}),this[_0x7e9eb4(0x1aa)]=_0x2becf7(_0x2916fa[_0x7e9eb4(0x136)])+_0x2becf7(_0x2916fa[_0x7e9eb4(0xd0)]),_0x209060(this[_0x570be5(0x1e0)],{'display':''}),this[_0x7e9eb4(0x17e)]=null,this[_0x7e9eb4(0x123)]=null,this[_0x7e9eb4(0x190)]={'x':0x0>=_0x1ac0e2[_0x570be5(0x18e)]?_0x570be5(0x124):_0x1ac0e2[_0x570be5(0x18e)]>=this[_0x7e9eb4(0xe7)]-this[_0x7e9eb4(0x164)]?_0x7e9eb4(0x1a9):null,'y':0x0>=_0x1ac0e2[_0x7e9eb4(0x101)]?_0x7e9eb4(0x129):_0x1ac0e2[_0x7e9eb4(0x101)]>=this[_0x570be5(0x13e)]-this[_0x7e9eb4(0xe5)]?_0x4d77a6(0xed):null},this[_0x570be5(0x1d5)]=!0x0,this[_0x7e9eb4(0x1a5)][_0x7e9eb4(0xe8)][_0x7e9eb4(0x174)](function(_0x47f38a){return _0x15bb94[_0x47f38a](_0x4dc1d4);}),this[_0x7e9eb4(0x16e)]=_0x5c2329(_0x1ac0e2[_0x570be5(0x158)]),this[_0x570be5(0x161)]=_0x1ac0e2[_0x570be5(0x18e)],this[_0x7e9eb4(0xca)][_0x7e9eb4(0x193)](this[_0x7e9eb4(0x160)],_0x570be5(0x189),function(_0x86f57){var _0x38ce12=_0x7e9eb4;return _0x4dc1d4[_0x38ce12(0xd6)](_0x86f57);}),_0x124b4a(this);};return _0x3dd3d7[_0x4a06b3(0x151)][_0x4a06b3(0x120)]=function(){var _0x4469be=_0x225934,_0x40bd23=_0x121de3,_0x49fac5=_0x2cb7ba,_0x23d2d4=_0x4a06b3;this[_0x23d2d4(0x10f)]&&(this[_0x23d2d4(0xe9)]=this[_0x23d2d4(0x13b)]?this[_0x23d2d4(0x160)][_0x23d2d4(0x157)]-this[_0x23d2d4(0x160)][_0x23d2d4(0x17d)]:0x0,_0x209060(this[_0x23d2d4(0x107)],{'display':_0x23d2d4(0x1a7)}),_0x209060(this[_0x23d2d4(0x140)],{'display':_0x23d2d4(0x1a7)}),this[_0x49fac5(0x193)]=_0x2becf7(_0x39eb0a(this[_0x49fac5(0x1a9)])[_0x49fac5(0x13d)])+_0x2becf7(_0x39eb0a(this[_0x23d2d4(0x107)])[_0x49fac5(0x1c5)]),this[_0x49fac5(0x18f)]=_0x2becf7(_0x39eb0a(this[_0x40bd23(0x15f)])[_0x23d2d4(0x136)])+_0x2becf7(_0x39eb0a(this[_0x23d2d4(0x140)])[_0x23d2d4(0xd0)]),_0x209060(this[_0x23d2d4(0x107)],{'display':_0x23d2d4(0x124)}),_0x209060(this[_0x23d2d4(0x140)],{'display':_0x23d2d4(0x124)}),_0x124b4a(this),_0x815f7(this,_0x23d2d4(0x18f),0x0,!0x1,!0x0),_0x815f7(this,_0x23d2d4(0x170),0x0,!0x1,!0x0),_0x209060(this[_0x4469be(0x83)],{'display':''}),_0x209060(this[_0x23d2d4(0x140)],{'display':''}));},_0x3dd3d7[_0x4a06b3(0x151)][_0x4a06b3(0xd6)]=function(){var _0x26fbd1=_0x2cb7ba,_0x28abaa=_0x4a06b3;this[_0x28abaa(0x10f)]&&(_0x124b4a(this),_0x815f7(this,_0x28abaa(0x18f),this[_0x28abaa(0x160)][_0x28abaa(0x101)]-this[_0x28abaa(0x16e)]),_0x815f7(this,_0x26fbd1(0x1a0),this[_0x28abaa(0x160)][_0x26fbd1(0x18e)]-this[_0x28abaa(0x1ac)]),this[_0x28abaa(0x16e)]=_0x5c2329(this[_0x28abaa(0x160)][_0x28abaa(0x101)]),this[_0x28abaa(0x1ac)]=this[_0x28abaa(0x160)][_0x28abaa(0x12f)]);},_0x3dd3d7[_0x4a06b3(0x151)][_0x4a06b3(0x1a4)]=function(){var _0x396305=_0x2cb7ba,_0x1b867d=_0x4a06b3;this[_0x1b867d(0x10f)]&&(this[_0x396305(0x1bf)][_0x1b867d(0x12a)](),_0x1ac443(this[_0x1b867d(0x156)]),_0x1ac443(this[_0x1b867d(0x181)]),_0x1ac443(this[_0x396305(0x1a9)]),_0x1ac443(this[_0x1b867d(0x140)]),this[_0x1b867d(0x113)](),this[_0x396305(0x1d2)]=null,this[_0x1b867d(0x156)]=null,this[_0x396305(0x1be)]=null,this[_0x1b867d(0x107)]=null,this[_0x1b867d(0x140)]=null,this[_0x1b867d(0x10f)]=!0x1);},_0x3dd3d7[_0x52358d(0x102)][_0x52358d(0xfd)]=function(){var _0x293362=a0_0x46c3,_0x129b58=_0x4a06b3;this[_0x129b58(0x160)][_0x293362(0x1a2)]=this[_0x129b58(0x160)][_0x129b58(0xf1)][_0x129b58(0x186)]('\x20')[_0x129b58(0xdf)](function(_0x4e27c7){var _0x4da367=a0_0x491c;return!_0x4e27c7[_0x4da367(0x137)](/^ps([-_].+|)$/);})[_0x129b58(0x188)]('\x20');},_0x3dd3d7;}));function a0_0x21c5(){var _0x5f5d82=a0_0x8e03,_0x522c2d=a0_0x1f50,_0x4fdec3=a0_0x5c16,_0x59b782=a0_0x284e,_0x5ddb9b=a0_0x2f85,_0x10f98f=[_0x4fdec3(0xb2),_0x59b782(0x1c2),_0x5ddb9b(0xe2),_0x5ddb9b(0xb5),_0x5ddb9b(0x113),_0x5ddb9b(0xe9),_0x5ddb9b(0x195),_0x5ddb9b(0xf9),_0x5ddb9b(0x10d),_0x5ddb9b(0x1ab),_0x59b782(0x17c),_0x5ddb9b(0x104),_0x5ddb9b(0xab),_0x5ddb9b(0x15e),_0x5ddb9b(0xa0),_0x59b782(0x12e),_0x5ddb9b(0x153),_0x5ddb9b(0x15a),_0x5ddb9b(0xfa),_0x5ddb9b(0x166),_0x59b782(0x106),_0x5ddb9b(0x169),_0x59b782(0x16c),_0x5ddb9b(0x1d1),_0x522c2d(0x2c8),_0x5ddb9b(0x1be),_0x59b782(0xf5),_0x5ddb9b(0x1c2),_0x59b782(0x157),_0x4fdec3(0x18d),_0x5ddb9b(0xba),_0x4fdec3(0xa5),_0x5ddb9b(0x125),_0x5ddb9b(0x15c),_0x59b782(0x160),_0x59b782(0x1d0),_0x5ddb9b(0xc8),_0x59b782(0x14c),_0x5ddb9b(0x148),_0x5ddb9b(0x1c4),_0x5ddb9b(0x16d),_0x5ddb9b(0x19d),_0x59b782(0x1ba),_0x5ddb9b(0x1b4),_0x5ddb9b(0xbb),_0x5ddb9b(0x139),_0x5ddb9b(0xf2),_0x5ddb9b(0x144),_0x5ddb9b(0xff),_0x5ddb9b(0x1c7),_0x5ddb9b(0x14e),_0x5ddb9b(0xf4),_0x5ddb9b(0xb1),_0x5ddb9b(0xed),_0x5ddb9b(0xcc),_0x5ddb9b(0x155),_0x5ddb9b(0x172),_0x59b782(0x10b),_0x59b782(0x236),_0x4fdec3(0x101),_0x5ddb9b(0x1e3),_0x5ddb9b(0xdc),_0x5ddb9b(0xd2),_0x59b782(0x1ea),_0x5ddb9b(0xaf),_0x5ddb9b(0x108),_0x5ddb9b(0x1c9),_0x5ddb9b(0x199),_0x5ddb9b(0x15d),_0x59b782(0x233),_0x5ddb9b(0xe3),_0x5ddb9b(0x1b0),_0x59b782(0xf1),_0x59b782(0x1cf),_0x4fdec3(0xc4),_0x59b782(0x1d3),_0x5ddb9b(0xb8),_0x5ddb9b(0x114),_0x5ddb9b(0x17a),_0x5ddb9b(0xce),_0x5ddb9b(0xa1),_0x5ddb9b(0x1a4),_0x5ddb9b(0x136),_0x5ddb9b(0xf7),_0x5ddb9b(0x168),_0x59b782(0x16e),_0x59b782(0x21e),_0x5ddb9b(0xc3),_0x5ddb9b(0xb2),_0x5ddb9b(0x116),_0x59b782(0xff),_0x59b782(0x231),_0x59b782(0x1d2),_0x5ddb9b(0xdd),_0x59b782(0x14a),_0x5ddb9b(0x156),_0x522c2d(0x1ba),_0x5ddb9b(0xdf),_0x59b782(0x109),_0x59b782(0xe4),_0x5ddb9b(0x99),_0x59b782(0x1c7),_0x5ddb9b(0x190),_0x5ddb9b(0xd0),_0x59b782(0x1d4),_0x5ddb9b(0xb4),_0x59b782(0x1aa),_0x5ddb9b(0x188),_0x5ddb9b(0x1cc),_0x5ddb9b(0xee),_0x5ddb9b(0x13e),_0x4fdec3(0x1ad),_0x5ddb9b(0x1e9),_0x5ddb9b(0x14f),_0x5ddb9b(0x122),_0x4fdec3(0x197),_0x59b782(0x12d),_0x5ddb9b(0x146),_0x5ddb9b(0x1db),_0x5ddb9b(0x1a9),_0x5ddb9b(0x1a6),_0x5ddb9b(0x19a),_0x5ddb9b(0x19c),_0x5ddb9b(0x179),_0x5ddb9b(0xf5),_0x5ddb9b(0x1ca),_0x59b782(0x15d),_0x59b782(0x202),_0x5ddb9b(0x183),_0x5ddb9b(0x19b),_0x59b782(0x1b4),_0x5ddb9b(0xfe),_0x5ddb9b(0x198),_0x5ddb9b(0x1bf),_0x5ddb9b(0x15b),_0x5ddb9b(0x1e8),_0x5ddb9b(0x164),_0x5ddb9b(0x1d8),_0x5ddb9b(0xb7),_0x5ddb9b(0x1ac),_0x59b782(0x1e4),_0x5ddb9b(0x194),_0x5ddb9b(0x173),_0x59b782(0x173),_0x5ddb9b(0x14c),_0x5ddb9b(0x11d),_0x5ddb9b(0xef),_0x5ddb9b(0x9f),_0x5f5d82(0xf9),_0x5ddb9b(0x158),_0x5ddb9b(0x16a),_0x5ddb9b(0x167),_0x59b782(0x163),_0x59b782(0x19d),_0x5ddb9b(0x1e4),_0x5ddb9b(0xad),_0x5ddb9b(0x12b),_0x5ddb9b(0x1c8),_0x5ddb9b(0x141),_0x5ddb9b(0x1cb),_0x5ddb9b(0xea),_0x5ddb9b(0x135),_0x59b782(0x156),_0x5ddb9b(0x1df),_0x5ddb9b(0x129),_0x5ddb9b(0xbe),_0x59b782(0x119),_0x5ddb9b(0xcb),_0x5ddb9b(0xcf),_0x59b782(0x18b),_0x5ddb9b(0x107),_0x5ddb9b(0x1d5),_0x5ddb9b(0xa2),_0x4fdec3(0x97),_0x5ddb9b(0x12e),_0x5ddb9b(0x160),_0x59b782(0x19b),_0x5ddb9b(0xa9),_0x5ddb9b(0x137),_0x59b782(0x1bc),_0x5ddb9b(0x9d),_0x5ddb9b(0x182),_0x5ddb9b(0xaa),_0x59b782(0x1f6),_0x4fdec3(0x1e7),_0x59b782(0x213),_0x5ddb9b(0x1e1),_0x5ddb9b(0x17e),_0x5ddb9b(0x12c),_0x5ddb9b(0x133),_0x5ddb9b(0x170),_0x59b782(0x206),_0x4fdec3(0xcc),_0x5ddb9b(0x11a),_0x5ddb9b(0xf0),_0x5ddb9b(0x12f),_0x4fdec3(0xb0),_0x5ddb9b(0x1d0),_0x5ddb9b(0x1cd),_0x5ddb9b(0xda),_0x5ddb9b(0xd7),_0x5ddb9b(0x157),_0x5ddb9b(0x1dd),_0x5ddb9b(0x130),_0x5ddb9b(0xe1),_0x5ddb9b(0xa4),_0x5ddb9b(0x16c),_0x5ddb9b(0x161),_0x5ddb9b(0x197),_0x5ddb9b(0xb9),_0x4fdec3(0x14c),_0x59b782(0x19a),_0x5ddb9b(0x106),_0x5ddb9b(0x16b),_0x5ddb9b(0x1b7),_0x5ddb9b(0x9a),_0x5ddb9b(0x109),_0x5ddb9b(0x11c),_0x59b782(0x22f),_0x5ddb9b(0xa7),_0x5ddb9b(0xeb),_0x5ddb9b(0x165),_0x5ddb9b(0x131),_0x5ddb9b(0xca),_0x5ddb9b(0xc1),_0x5ddb9b(0x119),_0x4fdec3(0x1f5),_0x5ddb9b(0x1ad),_0x4fdec3(0xec),_0x5ddb9b(0x110),_0x5ddb9b(0x1d4),_0x5ddb9b(0x1eb),_0x5ddb9b(0x1a8),_0x5ddb9b(0x132),_0x5ddb9b(0x118),_0x5ddb9b(0x1c6),_0x5ddb9b(0x178),_0x5ddb9b(0x1d6),_0x59b782(0x210),_0x5ddb9b(0xf3),_0x59b782(0x1b0),_0x5ddb9b(0x19f),_0x5ddb9b(0x14a),_0x5ddb9b(0xd6),_0x5ddb9b(0xf6),_0x5ddb9b(0xc9),_0x59b782(0x11b),_0x5ddb9b(0xbc),_0x5ddb9b(0x1b5),_0x5ddb9b(0x11f),_0x59b782(0x103),_0x59b782(0x12a),_0x5ddb9b(0x1e5),_0x5ddb9b(0x13a),_0x5ddb9b(0x128),_0x5ddb9b(0x1d9),_0x5ddb9b(0x100),_0x5ddb9b(0x184),_0x5ddb9b(0x16f),_0x5ddb9b(0x15f),_0x5ddb9b(0x145),_0x5ddb9b(0xb0),_0x5ddb9b(0x103),_0x5ddb9b(0x1d3),_0x5ddb9b(0x1bc),_0x5ddb9b(0x193),_0x5ddb9b(0x149),_0x5ddb9b(0x1ce),_0x5ddb9b(0xbd),_0x4fdec3(0x12a),_0x5ddb9b(0x16e),_0x5ddb9b(0x1dc),_0x5ddb9b(0x18f),_0x59b782(0xe1),_0x5ddb9b(0x10a),_0x522c2d(0x2a7),_0x59b782(0x20d),_0x59b782(0x205),_0x5ddb9b(0xc5),_0x5ddb9b(0xd5),_0x5ddb9b(0x1b9),_0x5ddb9b(0xae),_0x5ddb9b(0xc6),_0x59b782(0x20e),_0x5ddb9b(0x11e),_0x5ddb9b(0x186),_0x5ddb9b(0x1a2),_0x5ddb9b(0x154),_0x5ddb9b(0x143),_0x5ddb9b(0x1c1),_0x5ddb9b(0x17c),_0x5ddb9b(0x1bd),_0x5ddb9b(0x98),_0x5ddb9b(0x120),_0x5ddb9b(0x1a1),_0x5ddb9b(0xde),_0x5ddb9b(0x142),_0x5ddb9b(0x134),_0x4fdec3(0x103),_0x4fdec3(0x153),_0x5ddb9b(0xdb),_0x5ddb9b(0x19e),_0x5ddb9b(0x18a),_0x5ddb9b(0x123),_0x5ddb9b(0x101),_0x5ddb9b(0x105),_0x5ddb9b(0x1ae),_0x5ddb9b(0x12d),_0x5ddb9b(0xa8),_0x5ddb9b(0x127),_0x5ddb9b(0x10b),_0x59b782(0x17f),_0x5ddb9b(0x1af),_0x5ddb9b(0x10c),_0x59b782(0x1e7),_0x5ddb9b(0x9c),_0x5ddb9b(0x1d2),_0x59b782(0x1be),_0x5ddb9b(0x189),_0x5ddb9b(0xe4),_0x5ddb9b(0xc4),_0x5ddb9b(0x9b),_0x59b782(0x177),_0x59b782(0x130),_0x5ddb9b(0xfb)];return a0_0x21c5=function(){return _0x10f98f;},a0_0x21c5();}
\ No newline at end of file
diff --git a/awesome_theme/static/libs/resize_helper.js b/awesome_theme/static/libs/resize_helper.js
new file mode 100644
index 000000000..d72927e85
--- /dev/null
+++ b/awesome_theme/static/libs/resize_helper.js
@@ -0,0 +1,936 @@
+(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
+ typeof define === 'function' && define.amd ? define(factory) :
+ (global.ResizeObserver = factory());
+}(this, (function () { 'use strict';
+
+ /**
+ * A collection of shims that provide minimal functionality of the ES6 collections.
+ *
+ * These implementations are not meant to be used outside of the ResizeObserver
+ * modules as they cover only a limited range of use cases.
+ */
+ /* eslint-disable require-jsdoc, valid-jsdoc */
+ var MapShim = (function () {
+ if (typeof Map !== 'undefined') {
+ return Map;
+ }
+ /**
+ * Returns index in provided array that matches the specified key.
+ *
+ * @param {Array} arr
+ * @param {*} key
+ * @returns {number}
+ */
+ function getIndex(arr, key) {
+ var result = -1;
+ arr.some(function (entry, index) {
+ if (entry[0] === key) {
+ result = index;
+ return true;
+ }
+ return false;
+ });
+ return result;
+ }
+ return /** @class */ (function () {
+ function class_1() {
+ this.__entries__ = [];
+ }
+ Object.defineProperty(class_1.prototype, "size", {
+ /**
+ * @returns {boolean}
+ */
+ get: function () {
+ return this.__entries__.length;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ /**
+ * @param {*} key
+ * @returns {*}
+ */
+ class_1.prototype.get = function (key) {
+ var index = getIndex(this.__entries__, key);
+ var entry = this.__entries__[index];
+ return entry && entry[1];
+ };
+ /**
+ * @param {*} key
+ * @param {*} value
+ * @returns {void}
+ */
+ class_1.prototype.set = function (key, value) {
+ var index = getIndex(this.__entries__, key);
+ if (~index) {
+ this.__entries__[index][1] = value;
+ }
+ else {
+ this.__entries__.push([key, value]);
+ }
+ };
+ /**
+ * @param {*} key
+ * @returns {void}
+ */
+ class_1.prototype.delete = function (key) {
+ var entries = this.__entries__;
+ var index = getIndex(entries, key);
+ if (~index) {
+ entries.splice(index, 1);
+ }
+ };
+ /**
+ * @param {*} key
+ * @returns {void}
+ */
+ class_1.prototype.has = function (key) {
+ return !!~getIndex(this.__entries__, key);
+ };
+ /**
+ * @returns {void}
+ */
+ class_1.prototype.clear = function () {
+ this.__entries__.splice(0);
+ };
+ /**
+ * @param {Function} callback
+ * @param {*} [ctx=null]
+ * @returns {void}
+ */
+ class_1.prototype.forEach = function (callback, ctx) {
+ if (ctx === void 0) { ctx = null; }
+ for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {
+ var entry = _a[_i];
+ callback.call(ctx, entry[1], entry[0]);
+ }
+ };
+ return class_1;
+ }());
+ })();
+
+ /**
+ * Detects whether window and document objects are available in current environment.
+ */
+ var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;
+
+ // Returns global object of a current environment.
+ var global$1 = (function () {
+ if (typeof global !== 'undefined' && global.Math === Math) {
+ return global;
+ }
+ if (typeof self !== 'undefined' && self.Math === Math) {
+ return self;
+ }
+ if (typeof window !== 'undefined' && window.Math === Math) {
+ return window;
+ }
+ // eslint-disable-next-line no-new-func
+ return Function('return this')();
+ })();
+
+ /**
+ * A shim for the requestAnimationFrame which falls back to the setTimeout if
+ * first one is not supported.
+ *
+ * @returns {number} Requests' identifier.
+ */
+ var requestAnimationFrame$1 = (function () {
+ if (typeof requestAnimationFrame === 'function') {
+ // It's required to use a bounded function because IE sometimes throws
+ // an "Invalid calling object" error if rAF is invoked without the global
+ // object on the left hand side.
+ return requestAnimationFrame.bind(global$1);
+ }
+ return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };
+ })();
+
+ // Defines minimum timeout before adding a trailing call.
+ var trailingTimeout = 2;
+ /**
+ * Creates a wrapper function which ensures that provided callback will be
+ * invoked only once during the specified delay period.
+ *
+ * @param {Function} callback - Function to be invoked after the delay period.
+ * @param {number} delay - Delay after which to invoke callback.
+ * @returns {Function}
+ */
+ function throttle (callback, delay) {
+ var leadingCall = false, trailingCall = false, lastCallTime = 0;
+ /**
+ * Invokes the original callback function and schedules new invocation if
+ * the "proxy" was called during current request.
+ *
+ * @returns {void}
+ */
+ function resolvePending() {
+ if (leadingCall) {
+ leadingCall = false;
+ callback();
+ }
+ if (trailingCall) {
+ proxy();
+ }
+ }
+ /**
+ * Callback invoked after the specified delay. It will further postpone
+ * invocation of the original function delegating it to the
+ * requestAnimationFrame.
+ *
+ * @returns {void}
+ */
+ function timeoutCallback() {
+ requestAnimationFrame$1(resolvePending);
+ }
+ /**
+ * Schedules invocation of the original function.
+ *
+ * @returns {void}
+ */
+ function proxy() {
+ var timeStamp = Date.now();
+ if (leadingCall) {
+ // Reject immediately following calls.
+ if (timeStamp - lastCallTime < trailingTimeout) {
+ return;
+ }
+ // Schedule new call to be in invoked when the pending one is resolved.
+ // This is important for "transitions" which never actually start
+ // immediately so there is a chance that we might miss one if change
+ // happens amids the pending invocation.
+ trailingCall = true;
+ }
+ else {
+ leadingCall = true;
+ trailingCall = false;
+ setTimeout(timeoutCallback, delay);
+ }
+ lastCallTime = timeStamp;
+ }
+ return proxy;
+ }
+
+ // Minimum delay before invoking the update of observers.
+ var REFRESH_DELAY = 20;
+ // A list of substrings of CSS properties used to find transition events that
+ // might affect dimensions of observed elements.
+ var transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];
+ // Check if MutationObserver is available.
+ var mutationObserverSupported = typeof MutationObserver !== 'undefined';
+ /**
+ * Singleton controller class which handles updates of ResizeObserver instances.
+ */
+ var ResizeObserverController = /** @class */ (function () {
+ /**
+ * Creates a new instance of ResizeObserverController.
+ *
+ * @private
+ */
+ function ResizeObserverController() {
+ /**
+ * Indicates whether DOM listeners have been added.
+ *
+ * @private {boolean}
+ */
+ this.connected_ = false;
+ /**
+ * Tells that controller has subscribed for Mutation Events.
+ *
+ * @private {boolean}
+ */
+ this.mutationEventsAdded_ = false;
+ /**
+ * Keeps reference to the instance of MutationObserver.
+ *
+ * @private {MutationObserver}
+ */
+ this.mutationsObserver_ = null;
+ /**
+ * A list of connected observers.
+ *
+ * @private {Array}
+ */
+ this.observers_ = [];
+ this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);
+ this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);
+ }
+ /**
+ * Adds observer to observers list.
+ *
+ * @param {ResizeObserverSPI} observer - Observer to be added.
+ * @returns {void}
+ */
+ ResizeObserverController.prototype.addObserver = function (observer) {
+ if (!~this.observers_.indexOf(observer)) {
+ this.observers_.push(observer);
+ }
+ // Add listeners if they haven't been added yet.
+ if (!this.connected_) {
+ this.connect_();
+ }
+ };
+ /**
+ * Removes observer from observers list.
+ *
+ * @param {ResizeObserverSPI} observer - Observer to be removed.
+ * @returns {void}
+ */
+ ResizeObserverController.prototype.removeObserver = function (observer) {
+ var observers = this.observers_;
+ var index = observers.indexOf(observer);
+ // Remove observer if it's present in registry.
+ if (~index) {
+ observers.splice(index, 1);
+ }
+ // Remove listeners if controller has no connected observers.
+ if (!observers.length && this.connected_) {
+ this.disconnect_();
+ }
+ };
+ /**
+ * Invokes the update of observers. It will continue running updates insofar
+ * it detects changes.
+ *
+ * @returns {void}
+ */
+ ResizeObserverController.prototype.refresh = function () {
+ var changesDetected = this.updateObservers_();
+ // Continue running updates if changes have been detected as there might
+ // be future ones caused by CSS transitions.
+ if (changesDetected) {
+ this.refresh();
+ }
+ };
+ /**
+ * Updates every observer from observers list and notifies them of queued
+ * entries.
+ *
+ * @private
+ * @returns {boolean} Returns "true" if any observer has detected changes in
+ * dimensions of it's elements.
+ */
+ ResizeObserverController.prototype.updateObservers_ = function () {
+ // Collect observers that have active observations.
+ var activeObservers = this.observers_.filter(function (observer) {
+ return observer.gatherActive(), observer.hasActive();
+ });
+ // Deliver notifications in a separate cycle in order to avoid any
+ // collisions between observers, e.g. when multiple instances of
+ // ResizeObserver are tracking the same element and the callback of one
+ // of them changes content dimensions of the observed target. Sometimes
+ // this may result in notifications being blocked for the rest of observers.
+ activeObservers.forEach(function (observer) { return observer.broadcastActive(); });
+ return activeObservers.length > 0;
+ };
+ /**
+ * Initializes DOM listeners.
+ *
+ * @private
+ * @returns {void}
+ */
+ ResizeObserverController.prototype.connect_ = function () {
+ // Do nothing if running in a non-browser environment or if listeners
+ // have been already added.
+ if (!isBrowser || this.connected_) {
+ return;
+ }
+ // Subscription to the "Transitionend" event is used as a workaround for
+ // delayed transitions. This way it's possible to capture at least the
+ // final state of an element.
+ document.addEventListener('transitionend', this.onTransitionEnd_);
+ window.addEventListener('resize', this.refresh);
+ if (mutationObserverSupported) {
+ this.mutationsObserver_ = new MutationObserver(this.refresh);
+ this.mutationsObserver_.observe(document, {
+ attributes: true,
+ childList: true,
+ characterData: true,
+ subtree: true
+ });
+ }
+ else {
+ document.addEventListener('DOMSubtreeModified', this.refresh);
+ this.mutationEventsAdded_ = true;
+ }
+ this.connected_ = true;
+ };
+ /**
+ * Removes DOM listeners.
+ *
+ * @private
+ * @returns {void}
+ */
+ ResizeObserverController.prototype.disconnect_ = function () {
+ // Do nothing if running in a non-browser environment or if listeners
+ // have been already removed.
+ if (!isBrowser || !this.connected_) {
+ return;
+ }
+ document.removeEventListener('transitionend', this.onTransitionEnd_);
+ window.removeEventListener('resize', this.refresh);
+ if (this.mutationsObserver_) {
+ this.mutationsObserver_.disconnect();
+ }
+ if (this.mutationEventsAdded_) {
+ document.removeEventListener('DOMSubtreeModified', this.refresh);
+ }
+ this.mutationsObserver_ = null;
+ this.mutationEventsAdded_ = false;
+ this.connected_ = false;
+ };
+ /**
+ * "Transitionend" event handler.
+ *
+ * @private
+ * @param {TransitionEvent} event
+ * @returns {void}
+ */
+ ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {
+ var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;
+ // Detect whether transition may affect dimensions of an element.
+ var isReflowProperty = transitionKeys.some(function (key) {
+ return !!~propertyName.indexOf(key);
+ });
+ if (isReflowProperty) {
+ this.refresh();
+ }
+ };
+ /**
+ * Returns instance of the ResizeObserverController.
+ *
+ * @returns {ResizeObserverController}
+ */
+ ResizeObserverController.getInstance = function () {
+ if (!this.instance_) {
+ this.instance_ = new ResizeObserverController();
+ }
+ return this.instance_;
+ };
+ /**
+ * Holds reference to the controller's instance.
+ *
+ * @private {ResizeObserverController}
+ */
+ ResizeObserverController.instance_ = null;
+ return ResizeObserverController;
+ }());
+
+ /**
+ * Defines non-writable/enumerable properties of the provided target object.
+ *
+ * @param {Object} target - Object for which to define properties.
+ * @param {Object} props - Properties to be defined.
+ * @returns {Object} Target object.
+ */
+ var defineConfigurable = (function (target, props) {
+ for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {
+ var key = _a[_i];
+ Object.defineProperty(target, key, {
+ value: props[key],
+ enumerable: false,
+ writable: false,
+ configurable: true
+ });
+ }
+ return target;
+ });
+
+ /**
+ * Returns the global object associated with provided element.
+ *
+ * @param {Object} target
+ * @returns {Object}
+ */
+ var getWindowOf = (function (target) {
+ // Assume that the element is an instance of Node, which means that it
+ // has the "ownerDocument" property from which we can retrieve a
+ // corresponding global object.
+ var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;
+ // Return the local global object if it's not possible extract one from
+ // provided element.
+ return ownerGlobal || global$1;
+ });
+
+ // Placeholder of an empty content rectangle.
+ var emptyRect = createRectInit(0, 0, 0, 0);
+ /**
+ * Converts provided string to a number.
+ *
+ * @param {number|string} value
+ * @returns {number}
+ */
+ function toFloat(value) {
+ return parseFloat(value) || 0;
+ }
+ /**
+ * Extracts borders size from provided styles.
+ *
+ * @param {CSSStyleDeclaration} styles
+ * @param {...string} positions - Borders positions (top, right, ...)
+ * @returns {number}
+ */
+ function getBordersSize(styles) {
+ var positions = [];
+ for (var _i = 1; _i < arguments.length; _i++) {
+ positions[_i - 1] = arguments[_i];
+ }
+ return positions.reduce(function (size, position) {
+ var value = styles['border-' + position + '-width'];
+ return size + toFloat(value);
+ }, 0);
+ }
+ /**
+ * Extracts paddings sizes from provided styles.
+ *
+ * @param {CSSStyleDeclaration} styles
+ * @returns {Object} Paddings box.
+ */
+ function getPaddings(styles) {
+ var positions = ['top', 'right', 'bottom', 'left'];
+ var paddings = {};
+ for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {
+ var position = positions_1[_i];
+ var value = styles['padding-' + position];
+ paddings[position] = toFloat(value);
+ }
+ return paddings;
+ }
+ /**
+ * Calculates content rectangle of provided SVG element.
+ *
+ * @param {SVGGraphicsElement} target - Element content rectangle of which needs
+ * to be calculated.
+ * @returns {DOMRectInit}
+ */
+ function getSVGContentRect(target) {
+ var bbox = target.getBBox();
+ return createRectInit(0, 0, bbox.width, bbox.height);
+ }
+ /**
+ * Calculates content rectangle of provided HTMLElement.
+ *
+ * @param {HTMLElement} target - Element for which to calculate the content rectangle.
+ * @returns {DOMRectInit}
+ */
+ function getHTMLElementContentRect(target) {
+ // Client width & height properties can't be
+ // used exclusively as they provide rounded values.
+ var clientWidth = target.clientWidth, clientHeight = target.clientHeight;
+ // By this condition we can catch all non-replaced inline, hidden and
+ // detached elements. Though elements with width & height properties less
+ // than 0.5 will be discarded as well.
+ //
+ // Without it we would need to implement separate methods for each of
+ // those cases and it's not possible to perform a precise and performance
+ // effective test for hidden elements. E.g. even jQuery's ':visible' filter
+ // gives wrong results for elements with width & height less than 0.5.
+ if (!clientWidth && !clientHeight) {
+ return emptyRect;
+ }
+ var styles = getWindowOf(target).getComputedStyle(target);
+ var paddings = getPaddings(styles);
+ var horizPad = paddings.left + paddings.right;
+ var vertPad = paddings.top + paddings.bottom;
+ // Computed styles of width & height are being used because they are the
+ // only dimensions available to JS that contain non-rounded values. It could
+ // be possible to utilize the getBoundingClientRect if only it's data wasn't
+ // affected by CSS transformations let alone paddings, borders and scroll bars.
+ var width = toFloat(styles.width), height = toFloat(styles.height);
+ // Width & height include paddings and borders when the 'border-box' box
+ // model is applied (except for IE).
+ if (styles.boxSizing === 'border-box') {
+ // Following conditions are required to handle Internet Explorer which
+ // doesn't include paddings and borders to computed CSS dimensions.
+ //
+ // We can say that if CSS dimensions + paddings are equal to the "client"
+ // properties then it's either IE, and thus we don't need to subtract
+ // anything, or an element merely doesn't have paddings/borders styles.
+ if (Math.round(width + horizPad) !== clientWidth) {
+ width -= getBordersSize(styles, 'left', 'right') + horizPad;
+ }
+ if (Math.round(height + vertPad) !== clientHeight) {
+ height -= getBordersSize(styles, 'top', 'bottom') + vertPad;
+ }
+ }
+ // Following steps can't be applied to the document's root element as its
+ // client[Width/Height] properties represent viewport area of the window.
+ // Besides, it's as well not necessary as the itself neither has
+ // rendered scroll bars nor it can be clipped.
+ if (!isDocumentElement(target)) {
+ // In some browsers (only in Firefox, actually) CSS width & height
+ // include scroll bars size which can be removed at this step as scroll
+ // bars are the only difference between rounded dimensions + paddings
+ // and "client" properties, though that is not always true in Chrome.
+ var vertScrollbar = Math.round(width + horizPad) - clientWidth;
+ var horizScrollbar = Math.round(height + vertPad) - clientHeight;
+ // Chrome has a rather weird rounding of "client" properties.
+ // E.g. for an element with content width of 314.2px it sometimes gives
+ // the client width of 315px and for the width of 314.7px it may give
+ // 314px. And it doesn't happen all the time. So just ignore this delta
+ // as a non-relevant.
+ if (Math.abs(vertScrollbar) !== 1) {
+ width -= vertScrollbar;
+ }
+ if (Math.abs(horizScrollbar) !== 1) {
+ height -= horizScrollbar;
+ }
+ }
+ return createRectInit(paddings.left, paddings.top, width, height);
+ }
+ /**
+ * Checks whether provided element is an instance of the SVGGraphicsElement.
+ *
+ * @param {Element} target - Element to be checked.
+ * @returns {boolean}
+ */
+ var isSVGGraphicsElement = (function () {
+ // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement
+ // interface.
+ if (typeof SVGGraphicsElement !== 'undefined') {
+ return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };
+ }
+ // If it's so, then check that element is at least an instance of the
+ // SVGElement and that it has the "getBBox" method.
+ // eslint-disable-next-line no-extra-parens
+ return function (target) { return (target instanceof getWindowOf(target).SVGElement &&
+ typeof target.getBBox === 'function'); };
+ })();
+ /**
+ * Checks whether provided element is a document element ().
+ *
+ * @param {Element} target - Element to be checked.
+ * @returns {boolean}
+ */
+ function isDocumentElement(target) {
+ return target === getWindowOf(target).document.documentElement;
+ }
+ /**
+ * Calculates an appropriate content rectangle for provided html or svg element.
+ *
+ * @param {Element} target - Element content rectangle of which needs to be calculated.
+ * @returns {DOMRectInit}
+ */
+ function getContentRect(target) {
+ if (!isBrowser) {
+ return emptyRect;
+ }
+ if (isSVGGraphicsElement(target)) {
+ return getSVGContentRect(target);
+ }
+ return getHTMLElementContentRect(target);
+ }
+ /**
+ * Creates rectangle with an interface of the DOMRectReadOnly.
+ * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly
+ *
+ * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.
+ * @returns {DOMRectReadOnly}
+ */
+ function createReadOnlyRect(_a) {
+ var x = _a.x, y = _a.y, width = _a.width, height = _a.height;
+ // If DOMRectReadOnly is available use it as a prototype for the rectangle.
+ var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;
+ var rect = Object.create(Constr.prototype);
+ // Rectangle's properties are not writable and non-enumerable.
+ defineConfigurable(rect, {
+ x: x, y: y, width: width, height: height,
+ top: y,
+ right: x + width,
+ bottom: height + y,
+ left: x
+ });
+ return rect;
+ }
+ /**
+ * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.
+ * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit
+ *
+ * @param {number} x - X coordinate.
+ * @param {number} y - Y coordinate.
+ * @param {number} width - Rectangle's width.
+ * @param {number} height - Rectangle's height.
+ * @returns {DOMRectInit}
+ */
+ function createRectInit(x, y, width, height) {
+ return { x: x, y: y, width: width, height: height };
+ }
+
+ /**
+ * Class that is responsible for computations of the content rectangle of
+ * provided DOM element and for keeping track of it's changes.
+ */
+ var ResizeObservation = /** @class */ (function () {
+ /**
+ * Creates an instance of ResizeObservation.
+ *
+ * @param {Element} target - Element to be observed.
+ */
+ function ResizeObservation(target) {
+ /**
+ * Broadcasted width of content rectangle.
+ *
+ * @type {number}
+ */
+ this.broadcastWidth = 0;
+ /**
+ * Broadcasted height of content rectangle.
+ *
+ * @type {number}
+ */
+ this.broadcastHeight = 0;
+ /**
+ * Reference to the last observed content rectangle.
+ *
+ * @private {DOMRectInit}
+ */
+ this.contentRect_ = createRectInit(0, 0, 0, 0);
+ this.target = target;
+ }
+ /**
+ * Updates content rectangle and tells whether it's width or height properties
+ * have changed since the last broadcast.
+ *
+ * @returns {boolean}
+ */
+ ResizeObservation.prototype.isActive = function () {
+ var rect = getContentRect(this.target);
+ this.contentRect_ = rect;
+ return (rect.width !== this.broadcastWidth ||
+ rect.height !== this.broadcastHeight);
+ };
+ /**
+ * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data
+ * from the corresponding properties of the last observed content rectangle.
+ *
+ * @returns {DOMRectInit} Last observed content rectangle.
+ */
+ ResizeObservation.prototype.broadcastRect = function () {
+ var rect = this.contentRect_;
+ this.broadcastWidth = rect.width;
+ this.broadcastHeight = rect.height;
+ return rect;
+ };
+ return ResizeObservation;
+ }());
+
+ var ResizeObserverEntry = /** @class */ (function () {
+ /**
+ * Creates an instance of ResizeObserverEntry.
+ *
+ * @param {Element} target - Element that is being observed.
+ * @param {DOMRectInit} rectInit - Data of the element's content rectangle.
+ */
+ function ResizeObserverEntry(target, rectInit) {
+ var contentRect = createReadOnlyRect(rectInit);
+ // According to the specification following properties are not writable
+ // and are also not enumerable in the native implementation.
+ //
+ // Property accessors are not being used as they'd require to define a
+ // private WeakMap storage which may cause memory leaks in browsers that
+ // don't support this type of collections.
+ defineConfigurable(this, { target: target, contentRect: contentRect });
+ }
+ return ResizeObserverEntry;
+ }());
+
+ var ResizeObserverSPI = /** @class */ (function () {
+ /**
+ * Creates a new instance of ResizeObserver.
+ *
+ * @param {ResizeObserverCallback} callback - Callback function that is invoked
+ * when one of the observed elements changes it's content dimensions.
+ * @param {ResizeObserverController} controller - Controller instance which
+ * is responsible for the updates of observer.
+ * @param {ResizeObserver} callbackCtx - Reference to the public
+ * ResizeObserver instance which will be passed to callback function.
+ */
+ function ResizeObserverSPI(callback, controller, callbackCtx) {
+ /**
+ * Collection of resize observations that have detected changes in dimensions
+ * of elements.
+ *
+ * @private {Array}
+ */
+ this.activeObservations_ = [];
+ /**
+ * Registry of the ResizeObservation instances.
+ *
+ * @private {Map}
+ */
+ this.observations_ = new MapShim();
+ if (typeof callback !== 'function') {
+ throw new TypeError('The callback provided as parameter 1 is not a function.');
+ }
+ this.callback_ = callback;
+ this.controller_ = controller;
+ this.callbackCtx_ = callbackCtx;
+ }
+ /**
+ * Starts observing provided element.
+ *
+ * @param {Element} target - Element to be observed.
+ * @returns {void}
+ */
+ ResizeObserverSPI.prototype.observe = function (target) {
+ if (!arguments.length) {
+ throw new TypeError('1 argument required, but only 0 present.');
+ }
+ // Do nothing if current environment doesn't have the Element interface.
+ if (typeof Element === 'undefined' || !(Element instanceof Object)) {
+ return;
+ }
+ if (!(target instanceof getWindowOf(target).Element)) {
+ throw new TypeError('parameter 1 is not of type "Element".');
+ }
+ var observations = this.observations_;
+ // Do nothing if element is already being observed.
+ if (observations.has(target)) {
+ return;
+ }
+ observations.set(target, new ResizeObservation(target));
+ this.controller_.addObserver(this);
+ // Force the update of observations.
+ this.controller_.refresh();
+ };
+ /**
+ * Stops observing provided element.
+ *
+ * @param {Element} target - Element to stop observing.
+ * @returns {void}
+ */
+ ResizeObserverSPI.prototype.unobserve = function (target) {
+ if (!arguments.length) {
+ throw new TypeError('1 argument required, but only 0 present.');
+ }
+ // Do nothing if current environment doesn't have the Element interface.
+ if (typeof Element === 'undefined' || !(Element instanceof Object)) {
+ return;
+ }
+ if (!(target instanceof getWindowOf(target).Element)) {
+ throw new TypeError('parameter 1 is not of type "Element".');
+ }
+ var observations = this.observations_;
+ // Do nothing if element is not being observed.
+ if (!observations.has(target)) {
+ return;
+ }
+ observations.delete(target);
+ if (!observations.size) {
+ this.controller_.removeObserver(this);
+ }
+ };
+ /**
+ * Stops observing all elements.
+ *
+ * @returns {void}
+ */
+ ResizeObserverSPI.prototype.disconnect = function () {
+ this.clearActive();
+ this.observations_.clear();
+ this.controller_.removeObserver(this);
+ };
+ /**
+ * Collects observation instances the associated element of which has changed
+ * it's content rectangle.
+ *
+ * @returns {void}
+ */
+ ResizeObserverSPI.prototype.gatherActive = function () {
+ var _this = this;
+ this.clearActive();
+ this.observations_.forEach(function (observation) {
+ if (observation.isActive()) {
+ _this.activeObservations_.push(observation);
+ }
+ });
+ };
+ /**
+ * Invokes initial callback function with a list of ResizeObserverEntry
+ * instances collected from active resize observations.
+ *
+ * @returns {void}
+ */
+ ResizeObserverSPI.prototype.broadcastActive = function () {
+ // Do nothing if observer doesn't have active observations.
+ if (!this.hasActive()) {
+ return;
+ }
+ var ctx = this.callbackCtx_;
+ // Create ResizeObserverEntry instance for every active observation.
+ var entries = this.activeObservations_.map(function (observation) {
+ return new ResizeObserverEntry(observation.target, observation.broadcastRect());
+ });
+ this.callback_.call(ctx, entries, ctx);
+ this.clearActive();
+ };
+ /**
+ * Clears the collection of active observations.
+ *
+ * @returns {void}
+ */
+ ResizeObserverSPI.prototype.clearActive = function () {
+ this.activeObservations_.splice(0);
+ };
+ /**
+ * Tells whether observer has active observations.
+ *
+ * @returns {boolean}
+ */
+ ResizeObserverSPI.prototype.hasActive = function () {
+ return this.activeObservations_.length > 0;
+ };
+ return ResizeObserverSPI;
+ }());
+
+ // Registry of internal observers. If WeakMap is not available use current shim
+ // for the Map collection as it has all required methods and because WeakMap
+ // can't be fully polyfilled anyway.
+ var observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();
+ /**
+ * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation
+ * exposing only those methods and properties that are defined in the spec.
+ */
+ var ResizeObserver = /** @class */ (function () {
+ /**
+ * Creates a new instance of ResizeObserver.
+ *
+ * @param {ResizeObserverCallback} callback - Callback that is invoked when
+ * dimensions of the observed elements change.
+ */
+ function ResizeObserver(callback) {
+ if (!(this instanceof ResizeObserver)) {
+ throw new TypeError('Cannot call a class as a function.');
+ }
+ if (!arguments.length) {
+ throw new TypeError('1 argument required, but only 0 present.');
+ }
+ var controller = ResizeObserverController.getInstance();
+ var observer = new ResizeObserverSPI(callback, controller, this);
+ observers.set(this, observer);
+ }
+ return ResizeObserver;
+ }());
+ // Expose public methods of ResizeObserver.
+ [
+ 'observe',
+ 'unobserve',
+ 'disconnect'
+ ].forEach(function (method) {
+ ResizeObserver.prototype[method] = function () {
+ var _a;
+ return (_a = observers.get(this))[method].apply(_a, arguments);
+ };
+ });
+
+ var index = (function () {
+ // Export existing implementation if available.
+ if (typeof global$1.ResizeObserver !== 'undefined') {
+ return global$1.ResizeObserver;
+ }
+ return ResizeObserver;
+ })();
+
+ return index;
+
+})));
diff --git a/awesome_theme/static/libs/spectrum.css b/awesome_theme/static/libs/spectrum.css
new file mode 100644
index 000000000..e68f4924e
--- /dev/null
+++ b/awesome_theme/static/libs/spectrum.css
@@ -0,0 +1,507 @@
+/***
+Spectrum Colorpicker v1.8.1
+https://github.com/bgrins/spectrum
+Author: Brian Grinstead
+License: MIT
+***/
+
+.sp-container {
+ position:absolute;
+ top:0;
+ left:0;
+ display:inline-block;
+ *display: inline;
+ *zoom: 1;
+ /* https://github.com/bgrins/spectrum/issues/40 */
+ z-index: 9999994;
+ overflow: hidden;
+}
+.sp-container.sp-flat {
+ position: relative;
+}
+
+/* Fix for * { box-sizing: border-box; } */
+.sp-container,
+.sp-container * {
+ -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+}
+
+/* http://ansciath.tumblr.com/post/7347495869/css-aspect-ratio */
+.sp-top {
+ position:relative;
+ width: 100%;
+ display:inline-block;
+}
+.sp-top-inner {
+ position:absolute;
+ top:0;
+ left:0;
+ bottom:0;
+ right:0;
+}
+.sp-color {
+ position: absolute;
+ top:0;
+ left:0;
+ bottom:0;
+ right:20%;
+}
+.sp-hue {
+ position: absolute;
+ top:0;
+ right:0;
+ bottom:0;
+ left:84%;
+ height: 100%;
+}
+
+.sp-clear-enabled .sp-hue {
+ top:33px;
+ height: 77.5%;
+}
+
+.sp-fill {
+ padding-top: 80%;
+}
+.sp-sat, .sp-val {
+ position: absolute;
+ top:0;
+ left:0;
+ right:0;
+ bottom:0;
+}
+
+.sp-alpha-enabled .sp-top {
+ margin-bottom: 18px;
+}
+.sp-alpha-enabled .sp-alpha {
+ display: block;
+}
+.sp-alpha-handle {
+ position:absolute;
+ top:-4px;
+ bottom: -4px;
+ width: 6px;
+ left: 50%;
+ cursor: pointer;
+ border: 1px solid black;
+ background: white;
+ opacity: .8;
+}
+.sp-alpha {
+ display: none;
+ position: absolute;
+ bottom: -14px;
+ right: 0;
+ left: 0;
+ height: 8px;
+}
+.sp-alpha-inner {
+ border: solid 1px #333;
+}
+
+.sp-clear {
+ display: none;
+}
+
+.sp-clear.sp-clear-display {
+ background-position: center;
+}
+
+.sp-clear-enabled .sp-clear {
+ display: block;
+ position:absolute;
+ top:0px;
+ right:0;
+ bottom:0;
+ left:84%;
+ height: 28px;
+}
+
+/* Don't allow text selection */
+.sp-container, .sp-replacer, .sp-preview, .sp-dragger, .sp-slider, .sp-alpha, .sp-clear, .sp-alpha-handle, .sp-container.sp-dragging .sp-input, .sp-container button {
+ -webkit-user-select:none;
+ -moz-user-select: -moz-none;
+ -o-user-select:none;
+ user-select: none;
+}
+
+.sp-container.sp-input-disabled .sp-input-container {
+ display: none;
+}
+.sp-container.sp-buttons-disabled .sp-button-container {
+ display: none;
+}
+.sp-container.sp-palette-buttons-disabled .sp-palette-button-container {
+ display: none;
+}
+.sp-palette-only .sp-picker-container {
+ display: none;
+}
+.sp-palette-disabled .sp-palette-container {
+ display: none;
+}
+
+.sp-initial-disabled .sp-initial {
+ display: none;
+}
+
+
+/* Gradients for hue, saturation and value instead of images. Not pretty... but it works */
+.sp-sat {
+ background-image: -webkit-gradient(linear, 0 0, 100% 0, from(#FFF), to(rgba(204, 154, 129, 0)));
+ background-image: -webkit-linear-gradient(left, #FFF, rgba(204, 154, 129, 0));
+ background-image: -moz-linear-gradient(left, #fff, rgba(204, 154, 129, 0));
+ background-image: -o-linear-gradient(left, #fff, rgba(204, 154, 129, 0));
+ background-image: -ms-linear-gradient(left, #fff, rgba(204, 154, 129, 0));
+ background-image: linear-gradient(to right, #fff, rgba(204, 154, 129, 0));
+ -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType = 1, startColorstr=#FFFFFFFF, endColorstr=#00CC9A81)";
+ filter : progid:DXImageTransform.Microsoft.gradient(GradientType = 1, startColorstr='#FFFFFFFF', endColorstr='#00CC9A81');
+}
+.sp-val {
+ background-image: -webkit-gradient(linear, 0 100%, 0 0, from(#000000), to(rgba(204, 154, 129, 0)));
+ background-image: -webkit-linear-gradient(bottom, #000000, rgba(204, 154, 129, 0));
+ background-image: -moz-linear-gradient(bottom, #000, rgba(204, 154, 129, 0));
+ background-image: -o-linear-gradient(bottom, #000, rgba(204, 154, 129, 0));
+ background-image: -ms-linear-gradient(bottom, #000, rgba(204, 154, 129, 0));
+ background-image: linear-gradient(to top, #000, rgba(204, 154, 129, 0));
+ -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#00CC9A81, endColorstr=#FF000000)";
+ filter : progid:DXImageTransform.Microsoft.gradient(startColorstr='#00CC9A81', endColorstr='#FF000000');
+}
+
+.sp-hue {
+ background: -moz-linear-gradient(top, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);
+ background: -ms-linear-gradient(top, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);
+ background: -o-linear-gradient(top, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);
+ background: -webkit-gradient(linear, left top, left bottom, from(#ff0000), color-stop(0.17, #ffff00), color-stop(0.33, #00ff00), color-stop(0.5, #00ffff), color-stop(0.67, #0000ff), color-stop(0.83, #ff00ff), to(#ff0000));
+ background: -webkit-linear-gradient(top, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);
+ background: linear-gradient(to bottom, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);
+}
+
+/* IE filters do not support multiple color stops.
+ Generate 6 divs, line them up, and do two color gradients for each.
+ Yes, really.
+ */
+.sp-1 {
+ height:17%;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0000', endColorstr='#ffff00');
+}
+.sp-2 {
+ height:16%;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff00', endColorstr='#00ff00');
+}
+.sp-3 {
+ height:17%;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ff00', endColorstr='#00ffff');
+}
+.sp-4 {
+ height:17%;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ffff', endColorstr='#0000ff');
+}
+.sp-5 {
+ height:16%;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0000ff', endColorstr='#ff00ff');
+}
+.sp-6 {
+ height:17%;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff00ff', endColorstr='#ff0000');
+}
+
+.sp-hidden {
+ display: none !important;
+}
+
+/* Clearfix hack */
+.sp-cf:before, .sp-cf:after { content: ""; display: table; }
+.sp-cf:after { clear: both; }
+.sp-cf { *zoom: 1; }
+
+/* Mobile devices, make hue slider bigger so it is easier to slide */
+@media (max-device-width: 480px) {
+ .sp-color { right: 40%; }
+ .sp-hue { left: 63%; }
+ .sp-fill { padding-top: 60%; }
+}
+.sp-dragger {
+ border-radius: 5px;
+ height: 5px;
+ width: 5px;
+ border: 1px solid #fff;
+ background: #000;
+ cursor: pointer;
+ position:absolute;
+ top:0;
+ left: 0;
+}
+.sp-slider {
+ position: absolute;
+ top:0;
+ cursor:pointer;
+ height: 3px;
+ left: -1px;
+ right: -1px;
+ border: 1px solid #000;
+ background: white;
+ opacity: .8;
+}
+
+/*
+Theme authors:
+Here are the basic themeable display options (colors, fonts, global widths).
+See http://bgrins.github.io/spectrum/themes/ for instructions.
+*/
+
+.sp-container {
+ border-radius: 0;
+ background-color: #ECECEC;
+ border: solid 1px #f0c49B;
+ padding: 0;
+}
+.sp-container, .sp-container button, .sp-container input, .sp-color, .sp-hue, .sp-clear {
+ font: normal 12px "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Verdana, sans-serif;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+}
+.sp-top {
+ margin-bottom: 3px;
+}
+.sp-color, .sp-hue, .sp-clear {
+ border: solid 1px #666;
+}
+
+/* Input */
+.sp-input-container {
+ float:right;
+ width: 100px;
+ margin-bottom: 4px;
+}
+.sp-initial-disabled .sp-input-container {
+ width: 100%;
+}
+.sp-input {
+ font-size: 12px !important;
+ border: 1px inset;
+ padding: 4px 5px;
+ margin: 0;
+ width: 100%;
+ background:transparent;
+ border-radius: 3px;
+ color: #222;
+}
+.sp-input:focus {
+ border: 1px solid orange;
+}
+.sp-input.sp-validation-error {
+ border: 1px solid red;
+ background: #fdd;
+}
+.sp-picker-container , .sp-palette-container {
+ float:left;
+ position: relative;
+ padding: 10px;
+ padding-bottom: 300px;
+ margin-bottom: -290px;
+}
+.sp-picker-container {
+ width: 172px;
+ border-left: solid 1px #fff;
+}
+
+/* Palettes */
+.sp-palette-container {
+ border-right: solid 1px #ccc;
+}
+
+.sp-palette-only .sp-palette-container {
+ border: 0;
+}
+
+.sp-palette .sp-thumb-el {
+ display: block;
+ position:relative;
+ float:left;
+ width: 24px;
+ height: 15px;
+ margin: 3px;
+ cursor: pointer;
+ border:solid 2px transparent;
+}
+.sp-palette .sp-thumb-el:hover, .sp-palette .sp-thumb-el.sp-thumb-active {
+ border-color: orange;
+}
+.sp-thumb-el {
+ position:relative;
+}
+
+/* Initial */
+.sp-initial {
+ float: left;
+ border: solid 1px #333;
+}
+.sp-initial span {
+ width: 30px;
+ height: 25px;
+ border:none;
+ display:block;
+ float:left;
+ margin:0;
+}
+
+.sp-initial .sp-clear-display {
+ background-position: center;
+}
+
+/* Buttons */
+.sp-palette-button-container,
+.sp-button-container {
+ float: right;
+}
+
+/* Replacer (the little preview div that shows up instead of the ) */
+.sp-replacer {
+ margin:0;
+ overflow:hidden;
+ cursor:pointer;
+ padding: 4px;
+ display:inline-block;
+ *zoom: 1;
+ *display: inline;
+ border: solid 1px #91765d;
+ background: #eee;
+ color: #333;
+ vertical-align: middle;
+}
+.sp-replacer:hover, .sp-replacer.sp-active {
+ border-color: #F0C49B;
+ color: #111;
+}
+.sp-replacer.sp-disabled {
+ cursor:default;
+ border-color: silver;
+ color: silver;
+}
+.sp-dd {
+ padding: 2px 0;
+ height: 16px;
+ line-height: 16px;
+ float:left;
+ font-size:10px;
+}
+.sp-preview {
+ position:relative;
+ width:25px;
+ height: 20px;
+ border: solid 1px #222;
+ margin-right: 5px;
+ float:left;
+ z-index: 0;
+}
+
+.sp-palette {
+ *width: 220px;
+ max-width: 220px;
+}
+.sp-palette .sp-thumb-el {
+ width:16px;
+ height: 16px;
+ margin:2px 1px;
+ border: solid 1px #d0d0d0;
+}
+
+.sp-container {
+ padding-bottom:0;
+}
+
+
+/* Buttons: http://hellohappy.org/css3-buttons/ */
+.sp-container button {
+ background-color: #eeeeee;
+ background-image: -webkit-linear-gradient(top, #eeeeee, #cccccc);
+ background-image: -moz-linear-gradient(top, #eeeeee, #cccccc);
+ background-image: -ms-linear-gradient(top, #eeeeee, #cccccc);
+ background-image: -o-linear-gradient(top, #eeeeee, #cccccc);
+ background-image: linear-gradient(to bottom, #eeeeee, #cccccc);
+ border: 1px solid #ccc;
+ border-bottom: 1px solid #bbb;
+ border-radius: 3px;
+ color: #333;
+ font-size: 14px;
+ line-height: 1;
+ padding: 5px 4px;
+ text-align: center;
+ text-shadow: 0 1px 0 #eee;
+ vertical-align: middle;
+}
+.sp-container button:hover {
+ background-color: #dddddd;
+ background-image: -webkit-linear-gradient(top, #dddddd, #bbbbbb);
+ background-image: -moz-linear-gradient(top, #dddddd, #bbbbbb);
+ background-image: -ms-linear-gradient(top, #dddddd, #bbbbbb);
+ background-image: -o-linear-gradient(top, #dddddd, #bbbbbb);
+ background-image: linear-gradient(to bottom, #dddddd, #bbbbbb);
+ border: 1px solid #bbb;
+ border-bottom: 1px solid #999;
+ cursor: pointer;
+ text-shadow: 0 1px 0 #ddd;
+}
+.sp-container button:active {
+ border: 1px solid #aaa;
+ border-bottom: 1px solid #888;
+ -webkit-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee;
+ -moz-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee;
+ -ms-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee;
+ -o-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee;
+ box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee;
+}
+.sp-cancel {
+ font-size: 11px;
+ color: #d93f3f !important;
+ margin:0;
+ padding:2px;
+ margin-right: 5px;
+ vertical-align: middle;
+ text-decoration:none;
+
+}
+.sp-cancel:hover {
+ color: #d93f3f !important;
+ text-decoration: underline;
+}
+
+
+.sp-palette span:hover, .sp-palette span.sp-thumb-active {
+ border-color: #000;
+}
+
+.sp-preview, .sp-alpha, .sp-thumb-el {
+ position:relative;
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==);
+}
+.sp-preview-inner, .sp-alpha-inner, .sp-thumb-inner {
+ display:block;
+ position:absolute;
+ top:0;left:0;bottom:0;right:0;
+}
+
+.sp-palette .sp-thumb-inner {
+ background-position: 50% 50%;
+ background-repeat: no-repeat;
+}
+
+.sp-palette .sp-thumb-light.sp-thumb-active .sp-thumb-inner {
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIVJREFUeNpiYBhsgJFMffxAXABlN5JruT4Q3wfi/0DsT64h8UD8HmpIPCWG/KemIfOJCUB+Aoacx6EGBZyHBqI+WsDCwuQ9mhxeg2A210Ntfo8klk9sOMijaURm7yc1UP2RNCMbKE9ODK1HM6iegYLkfx8pligC9lCD7KmRof0ZhjQACDAAceovrtpVBRkAAAAASUVORK5CYII=);
+}
+
+.sp-palette .sp-thumb-dark.sp-thumb-active .sp-thumb-inner {
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAMdJREFUOE+tkgsNwzAMRMugEAahEAahEAZhEAqlEAZhEAohEAYh81X2dIm8fKpEspLGvudPOsUYpxE2BIJCroJmEW9qJ+MKaBFhEMNabSy9oIcIPwrB+afvAUFoK4H0tMaQ3XtlrggDhOVVMuT4E5MMG0FBbCEYzjYT7OxLEvIHQLY2zWwQ3D+9luyOQTfKDiFD3iUIfPk8VqrKjgAiSfGFPecrg6HN6m/iBcwiDAo7WiBeawa+Kwh7tZoSCGLMqwlSAzVDhoK+6vH4G0P5wdkAAAAASUVORK5CYII=);
+}
+
+.sp-clear-display {
+ background-repeat:no-repeat;
+ background-position: center;
+ background-image: url(data:image/gif;base64,R0lGODlhFAAUAPcAAAAAAJmZmZ2dnZ6enqKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq/Hx8fLy8vT09PX19ff39/j4+Pn5+fr6+vv7+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAP8ALAAAAAAUABQAAAihAP9FoPCvoMGDBy08+EdhQAIJCCMybCDAAYUEARBAlFiQQoMABQhKUJBxY0SPICEYHBnggEmDKAuoPMjS5cGYMxHW3IiT478JJA8M/CjTZ0GgLRekNGpwAsYABHIypcAgQMsITDtWJYBR6NSqMico9cqR6tKfY7GeBCuVwlipDNmefAtTrkSzB1RaIAoXodsABiZAEFB06gIBWC1mLVgBa0AAOw==);
+}
diff --git a/awesome_theme/static/libs/spectrum.js b/awesome_theme/static/libs/spectrum.js
new file mode 100644
index 000000000..6c48c1254
--- /dev/null
+++ b/awesome_theme/static/libs/spectrum.js
@@ -0,0 +1,2341 @@
+// Spectrum Colorpicker v1.8.1
+// https://github.com/bgrins/spectrum
+// Author: Brian Grinstead
+// License: MIT
+
+(function (factory) {
+ "use strict";
+
+ if (typeof define === 'function' && define.amd) { // AMD
+ define(['jquery'], factory);
+ }
+ else if (typeof exports == "object" && typeof module == "object") { // CommonJS
+ module.exports = factory(require('jquery'));
+ }
+ else { // Browser
+ factory(jQuery);
+ }
+})(function($, undefined) {
+ "use strict";
+
+ var defaultOpts = {
+
+ // Callbacks
+ beforeShow: noop,
+ move: noop,
+ change: noop,
+ show: noop,
+ hide: noop,
+
+ // Options
+ color: false,
+ flat: false,
+ showInput: false,
+ allowEmpty: false,
+ showButtons: true,
+ clickoutFiresChange: true,
+ showInitial: false,
+ showPalette: false,
+ showPaletteOnly: false,
+ hideAfterPaletteSelect: false,
+ togglePaletteOnly: false,
+ showSelectionPalette: true,
+ localStorageKey: false,
+ appendTo: "body",
+ maxSelectionSize: 7,
+ cancelText: "cancel",
+ chooseText: "choose",
+ togglePaletteMoreText: "more",
+ togglePaletteLessText: "less",
+ clearText: "Clear Color Selection",
+ noColorSelectedText: "No Color Selected",
+ preferredFormat: false,
+ className: "", // Deprecated - use containerClassName and replacerClassName instead.
+ containerClassName: "",
+ replacerClassName: "",
+ showAlpha: false,
+ theme: "sp-light",
+ palette: [["#ffffff", "#000000", "#ff0000", "#ff8000", "#ffff00", "#008000", "#0000ff", "#4b0082", "#9400d3"]],
+ selectionPalette: [],
+ disabled: false,
+ offset: null
+ },
+ spectrums = [],
+ IE = !!/msie/i.exec( window.navigator.userAgent ),
+ rgbaSupport = (function() {
+ function contains( str, substr ) {
+ return !!~('' + str).indexOf(substr);
+ }
+
+ var elem = document.createElement('div');
+ var style = elem.style;
+ style.cssText = 'background-color:rgba(0,0,0,.5)';
+ return contains(style.backgroundColor, 'rgba') || contains(style.backgroundColor, 'hsla');
+ })(),
+ replaceInput = [
+ ""
+ ].join(''),
+ markup = (function () {
+
+ // IE does not support gradients with multiple stops, so we need to simulate
+ // that for the rainbow slider with 8 divs that each have a single gradient
+ var gradientFix = "";
+ if (IE) {
+ for (var i = 1; i <= 6; i++) {
+ gradientFix += "
";
+ }
+ }
+
+ return [
+ "",
+ "
",
+ "
",
+ "
",
+ " ",
+ "
",
+ "
",
+ "
",
+ "
",
+ "
",
+ "
",
+ "
",
+ "
",
+ "
",
+ "
",
+ "
",
+ gradientFix,
+ "
",
+ "
",
+ "
",
+ "
",
+ "
",
+ " ",
+ "
",
+ "
",
+ "
",
+ "
",
+ "
"
+ ].join("");
+ })();
+
+ function paletteTemplate (p, color, className, opts) {
+ var html = [];
+ for (var i = 0; i < p.length; i++) {
+ var current = p[i];
+ if(current) {
+ var tiny = tinycolor(current);
+ var c = tiny.toHsl().l < 0.5 ? "sp-thumb-el sp-thumb-dark" : "sp-thumb-el sp-thumb-light";
+ c += (tinycolor.equals(color, current)) ? " sp-thumb-active" : "";
+ var formattedString = tiny.toString(opts.preferredFormat || "rgb");
+ var swatchStyle = rgbaSupport ? ("background-color:" + tiny.toRgbString()) : "filter:" + tiny.toFilter();
+ html.push(' ');
+ } else {
+ var cls = 'sp-clear-display';
+ html.push($('
')
+ .append($(' ')
+ .attr('title', opts.noColorSelectedText)
+ )
+ .html()
+ );
+ }
+ }
+ return "" + html.join('') + "
";
+ }
+
+ function hideAll() {
+ for (var i = 0; i < spectrums.length; i++) {
+ if (spectrums[i]) {
+ spectrums[i].hide();
+ }
+ }
+ }
+
+ function instanceOptions(o, callbackContext) {
+ var opts = $.extend({}, defaultOpts, o);
+ opts.callbacks = {
+ 'move': bind(opts.move, callbackContext),
+ 'change': bind(opts.change, callbackContext),
+ 'show': bind(opts.show, callbackContext),
+ 'hide': bind(opts.hide, callbackContext),
+ 'beforeShow': bind(opts.beforeShow, callbackContext)
+ };
+
+ return opts;
+ }
+
+ function spectrum(element, o) {
+
+ var opts = instanceOptions(o, element),
+ flat = opts.flat,
+ showSelectionPalette = opts.showSelectionPalette,
+ localStorageKey = opts.localStorageKey,
+ theme = opts.theme,
+ callbacks = opts.callbacks,
+ resize = throttle(reflow, 10),
+ visible = false,
+ isDragging = false,
+ dragWidth = 0,
+ dragHeight = 0,
+ dragHelperHeight = 0,
+ slideHeight = 0,
+ slideWidth = 0,
+ alphaWidth = 0,
+ alphaSlideHelperWidth = 0,
+ slideHelperHeight = 0,
+ currentHue = 0,
+ currentSaturation = 0,
+ currentValue = 0,
+ currentAlpha = 1,
+ palette = [],
+ paletteArray = [],
+ paletteLookup = {},
+ selectionPalette = opts.selectionPalette.slice(0),
+ maxSelectionSize = opts.maxSelectionSize,
+ draggingClass = "sp-dragging",
+ shiftMovementDirection = null;
+
+ var doc = element.ownerDocument,
+ body = doc.body,
+ boundElement = $(element),
+ disabled = false,
+ container = $(markup, doc).addClass(theme),
+ pickerContainer = container.find(".sp-picker-container"),
+ dragger = container.find(".sp-color"),
+ dragHelper = container.find(".sp-dragger"),
+ slider = container.find(".sp-hue"),
+ slideHelper = container.find(".sp-slider"),
+ alphaSliderInner = container.find(".sp-alpha-inner"),
+ alphaSlider = container.find(".sp-alpha"),
+ alphaSlideHelper = container.find(".sp-alpha-handle"),
+ textInput = container.find(".sp-input"),
+ paletteContainer = container.find(".sp-palette"),
+ initialColorContainer = container.find(".sp-initial"),
+ cancelButton = container.find(".sp-cancel"),
+ clearButton = container.find(".sp-clear"),
+ chooseButton = container.find(".sp-choose"),
+ toggleButton = container.find(".sp-palette-toggle"),
+ isInput = boundElement.is("input"),
+ isInputTypeColor = isInput && boundElement.attr("type") === "color" && inputTypeColorSupport(),
+ shouldReplace = isInput && !flat,
+ replacer = (shouldReplace) ? $(replaceInput).addClass(theme).addClass(opts.className).addClass(opts.replacerClassName) : $([]),
+ offsetElement = (shouldReplace) ? replacer : boundElement,
+ previewElement = replacer.find(".sp-preview-inner"),
+ initialColor = opts.color || (isInput && boundElement.val()),
+ colorOnShow = false,
+ currentPreferredFormat = opts.preferredFormat,
+ clickoutFiresChange = !opts.showButtons || opts.clickoutFiresChange,
+ isEmpty = !initialColor,
+ allowEmpty = opts.allowEmpty && !isInputTypeColor;
+
+ function applyOptions() {
+
+ if (opts.showPaletteOnly) {
+ opts.showPalette = true;
+ }
+
+ toggleButton.text(opts.showPaletteOnly ? opts.togglePaletteMoreText : opts.togglePaletteLessText);
+
+ if (opts.palette) {
+ palette = opts.palette.slice(0);
+ paletteArray = Array.isArray(palette[0]) ? palette : [palette];
+ paletteLookup = {};
+ for (var i = 0; i < paletteArray.length; i++) {
+ for (var j = 0; j < paletteArray[i].length; j++) {
+ var rgb = tinycolor(paletteArray[i][j]).toRgbString();
+ paletteLookup[rgb] = true;
+ }
+ }
+ }
+
+ container.toggleClass("sp-flat", flat);
+ container.toggleClass("sp-input-disabled", !opts.showInput);
+ container.toggleClass("sp-alpha-enabled", opts.showAlpha);
+ container.toggleClass("sp-clear-enabled", allowEmpty);
+ container.toggleClass("sp-buttons-disabled", !opts.showButtons);
+ container.toggleClass("sp-palette-buttons-disabled", !opts.togglePaletteOnly);
+ container.toggleClass("sp-palette-disabled", !opts.showPalette);
+ container.toggleClass("sp-palette-only", opts.showPaletteOnly);
+ container.toggleClass("sp-initial-disabled", !opts.showInitial);
+ container.addClass(opts.className).addClass(opts.containerClassName);
+
+ reflow();
+ }
+
+ function initialize() {
+
+ if (IE) {
+ container.find("*:not(input)").attr("unselectable", "on");
+ }
+
+ applyOptions();
+
+ if (shouldReplace) {
+ boundElement.after(replacer).hide();
+ }
+
+ if (!allowEmpty) {
+ clearButton.hide();
+ }
+
+ if (flat) {
+ boundElement.after(container).hide();
+ }
+ else {
+
+ var appendTo = opts.appendTo === "parent" ? boundElement.parent() : $(opts.appendTo);
+ if (appendTo.length !== 1) {
+ appendTo = $("body");
+ }
+
+ appendTo.append(container);
+ }
+
+ updateSelectionPaletteFromStorage();
+
+ offsetElement.on("click.spectrum touchstart.spectrum", function (e) {
+ if (!disabled) {
+ toggle();
+ }
+
+ e.stopPropagation();
+
+ if (!$(e.target).is("input")) {
+ e.preventDefault();
+ }
+ });
+
+ if(boundElement.is(":disabled") || (opts.disabled === true)) {
+ disable();
+ }
+
+ // Prevent clicks from bubbling up to document. This would cause it to be hidden.
+ container.on("click", stopPropagation);
+
+ // Handle user typed input
+ textInput.on("change", setFromTextInput);
+ textInput.on("paste", function () {
+ setTimeout(setFromTextInput, 1);
+ });
+ textInput.on("keydown", function (e) { if (e.keyCode == 13) { setFromTextInput(); } });
+
+ cancelButton.text(opts.cancelText);
+ cancelButton.on("click.spectrum", function (e) {
+ e.stopPropagation();
+ e.preventDefault();
+ revert();
+ hide();
+ });
+
+ clearButton.attr("title", opts.clearText);
+ clearButton.on("click.spectrum", function (e) {
+ e.stopPropagation();
+ e.preventDefault();
+ isEmpty = true;
+ move();
+
+ if(flat) {
+ //for the flat style, this is a change event
+ updateOriginalInput(true);
+ }
+ });
+
+ chooseButton.text(opts.chooseText);
+ chooseButton.on("click.spectrum", function (e) {
+ e.stopPropagation();
+ e.preventDefault();
+
+ if (IE && textInput.is(":focus")) {
+ textInput.trigger('change');
+ }
+
+ if (isValid()) {
+ updateOriginalInput(true);
+ hide();
+ }
+ });
+
+ toggleButton.text(opts.showPaletteOnly ? opts.togglePaletteMoreText : opts.togglePaletteLessText);
+ toggleButton.on("click.spectrum", function (e) {
+ e.stopPropagation();
+ e.preventDefault();
+
+ opts.showPaletteOnly = !opts.showPaletteOnly;
+
+ // To make sure the Picker area is drawn on the right, next to the
+ // Palette area (and not below the palette), first move the Palette
+ // to the left to make space for the picker, plus 5px extra.
+ // The 'applyOptions' function puts the whole container back into place
+ // and takes care of the button-text and the sp-palette-only CSS class.
+ if (!opts.showPaletteOnly && !flat) {
+ container.css('left', '-=' + (pickerContainer.outerWidth(true) + 5));
+ }
+ applyOptions();
+ });
+
+ draggable(alphaSlider, function (dragX, dragY, e) {
+ currentAlpha = (dragX / alphaWidth);
+ isEmpty = false;
+ if (e.shiftKey) {
+ currentAlpha = Math.round(currentAlpha * 10) / 10;
+ }
+
+ move();
+ }, dragStart, dragStop);
+
+ draggable(slider, function (dragX, dragY) {
+ currentHue = parseFloat(dragY / slideHeight);
+ isEmpty = false;
+ if (!opts.showAlpha) {
+ currentAlpha = 1;
+ }
+ move();
+ }, dragStart, dragStop);
+
+ draggable(dragger, function (dragX, dragY, e) {
+
+ // shift+drag should snap the movement to either the x or y axis.
+ if (!e.shiftKey) {
+ shiftMovementDirection = null;
+ }
+ else if (!shiftMovementDirection) {
+ var oldDragX = currentSaturation * dragWidth;
+ var oldDragY = dragHeight - (currentValue * dragHeight);
+ var furtherFromX = Math.abs(dragX - oldDragX) > Math.abs(dragY - oldDragY);
+
+ shiftMovementDirection = furtherFromX ? "x" : "y";
+ }
+
+ var setSaturation = !shiftMovementDirection || shiftMovementDirection === "x";
+ var setValue = !shiftMovementDirection || shiftMovementDirection === "y";
+
+ if (setSaturation) {
+ currentSaturation = parseFloat(dragX / dragWidth);
+ }
+ if (setValue) {
+ currentValue = parseFloat((dragHeight - dragY) / dragHeight);
+ }
+
+ isEmpty = false;
+ if (!opts.showAlpha) {
+ currentAlpha = 1;
+ }
+
+ move();
+
+ }, dragStart, dragStop);
+
+ if (!!initialColor) {
+ set(initialColor);
+
+ // In case color was black - update the preview UI and set the format
+ // since the set function will not run (default color is black).
+ updateUI();
+ currentPreferredFormat = opts.preferredFormat || tinycolor(initialColor).format;
+
+ addColorToSelectionPalette(initialColor);
+ }
+ else {
+ updateUI();
+ }
+
+ if (flat) {
+ show();
+ }
+
+ function paletteElementClick(e) {
+ if (e.data && e.data.ignore) {
+ set($(e.target).closest(".sp-thumb-el").data("color"));
+ move();
+ }
+ else {
+ set($(e.target).closest(".sp-thumb-el").data("color"));
+ move();
+
+ // If the picker is going to close immediately, a palette selection
+ // is a change. Otherwise, it's a move only.
+ if (opts.hideAfterPaletteSelect) {
+ updateOriginalInput(true);
+ hide();
+ } else {
+ updateOriginalInput();
+ }
+ }
+
+ return false;
+ }
+
+ var paletteEvent = IE ? "mousedown.spectrum" : "click.spectrum touchstart.spectrum";
+ paletteContainer.on(paletteEvent, ".sp-thumb-el", paletteElementClick);
+ initialColorContainer.on(paletteEvent, ".sp-thumb-el:nth-child(1)", { ignore: true }, paletteElementClick);
+ }
+
+ function updateSelectionPaletteFromStorage() {
+
+ if (localStorageKey && window.localStorage) {
+
+ // Migrate old palettes over to new format. May want to remove this eventually.
+ try {
+ var oldPalette = window.localStorage[localStorageKey].split(",#");
+ if (oldPalette.length > 1) {
+ delete window.localStorage[localStorageKey];
+ $.each(oldPalette, function(i, c) {
+ addColorToSelectionPalette(c);
+ });
+ }
+ }
+ catch(e) { }
+
+ try {
+ selectionPalette = window.localStorage[localStorageKey].split(";");
+ }
+ catch (e) { }
+ }
+ }
+
+ function addColorToSelectionPalette(color) {
+ if (showSelectionPalette) {
+ var rgb = tinycolor(color).toRgbString();
+ if (!paletteLookup[rgb] && $.inArray(rgb, selectionPalette) === -1) {
+ selectionPalette.push(rgb);
+ while(selectionPalette.length > maxSelectionSize) {
+ selectionPalette.shift();
+ }
+ }
+
+ if (localStorageKey && window.localStorage) {
+ try {
+ window.localStorage[localStorageKey] = selectionPalette.join(";");
+ }
+ catch(e) { }
+ }
+ }
+ }
+
+ function getUniqueSelectionPalette() {
+ var unique = [];
+ if (opts.showPalette) {
+ for (var i = 0; i < selectionPalette.length; i++) {
+ var rgb = tinycolor(selectionPalette[i]).toRgbString();
+
+ if (!paletteLookup[rgb]) {
+ unique.push(selectionPalette[i]);
+ }
+ }
+ }
+
+ return unique.reverse().slice(0, opts.maxSelectionSize);
+ }
+
+ function drawPalette() {
+
+ var currentColor = get();
+
+ var html = $.map(paletteArray, function (palette, i) {
+ return paletteTemplate(palette, currentColor, "sp-palette-row sp-palette-row-" + i, opts);
+ });
+
+ updateSelectionPaletteFromStorage();
+
+ if (selectionPalette) {
+ html.push(paletteTemplate(getUniqueSelectionPalette(), currentColor, "sp-palette-row sp-palette-row-selection", opts));
+ }
+
+ paletteContainer.html(html.join(""));
+ }
+
+ function drawInitial() {
+ if (opts.showInitial) {
+ var initial = colorOnShow;
+ var current = get();
+ initialColorContainer.html(paletteTemplate([initial, current], current, "sp-palette-row-initial", opts));
+ }
+ }
+
+ function dragStart() {
+ if (dragHeight <= 0 || dragWidth <= 0 || slideHeight <= 0) {
+ reflow();
+ }
+ isDragging = true;
+ container.addClass(draggingClass);
+ shiftMovementDirection = null;
+ boundElement.trigger('dragstart.spectrum', [ get() ]);
+ }
+
+ function dragStop() {
+ isDragging = false;
+ container.removeClass(draggingClass);
+ boundElement.trigger('dragstop.spectrum', [ get() ]);
+ }
+
+ function setFromTextInput() {
+
+ var value = textInput.val();
+
+ if ((value === null || value === "") && allowEmpty) {
+ set(null);
+ move();
+ updateOriginalInput();
+ }
+ else {
+ var tiny = tinycolor(value);
+ if (tiny.isValid()) {
+ set(tiny);
+ move();
+ updateOriginalInput();
+ }
+ else {
+ textInput.addClass("sp-validation-error");
+ }
+ }
+ }
+
+ function toggle() {
+ if (visible) {
+ hide();
+ }
+ else {
+ show();
+ }
+ }
+
+ function show() {
+ var event = $.Event('beforeShow.spectrum');
+
+ if (visible) {
+ reflow();
+ return;
+ }
+
+ boundElement.trigger(event, [ get() ]);
+
+ if (callbacks.beforeShow(get()) === false || event.isDefaultPrevented()) {
+ return;
+ }
+
+ hideAll();
+ visible = true;
+
+ $(doc).on("keydown.spectrum", onkeydown);
+ $(doc).on("click.spectrum", clickout);
+ $(window).on("resize.spectrum", resize);
+ replacer.addClass("sp-active");
+ container.removeClass("sp-hidden");
+
+ reflow();
+ updateUI();
+
+ colorOnShow = get();
+
+ drawInitial();
+ callbacks.show(colorOnShow);
+ boundElement.trigger('show.spectrum', [ colorOnShow ]);
+ }
+
+ function onkeydown(e) {
+ // Close on ESC
+ if (e.keyCode === 27) {
+ hide();
+ }
+ }
+
+ function clickout(e) {
+ // Return on right click.
+ if (e.button == 2) { return; }
+
+ // If a drag event was happening during the mouseup, don't hide
+ // on click.
+ if (isDragging) { return; }
+
+ if (clickoutFiresChange) {
+ updateOriginalInput(true);
+ }
+ else {
+ revert();
+ }
+ hide();
+ }
+
+ function hide() {
+ // Return if hiding is unnecessary
+ if (!visible || flat) { return; }
+ visible = false;
+
+ $(doc).off("keydown.spectrum", onkeydown);
+ $(doc).off("click.spectrum", clickout);
+ $(window).off("resize.spectrum", resize);
+
+ replacer.removeClass("sp-active");
+ container.addClass("sp-hidden");
+
+ callbacks.hide(get());
+ boundElement.trigger('hide.spectrum', [ get() ]);
+ }
+
+ function revert() {
+ set(colorOnShow, true);
+ updateOriginalInput(true);
+ }
+
+ function set(color, ignoreFormatChange) {
+ if (tinycolor.equals(color, get())) {
+ // Update UI just in case a validation error needs
+ // to be cleared.
+ updateUI();
+ return;
+ }
+
+ var newColor, newHsv;
+ if (!color && allowEmpty) {
+ isEmpty = true;
+ } else {
+ isEmpty = false;
+ newColor = tinycolor(color);
+ newHsv = newColor.toHsv();
+
+ currentHue = (newHsv.h % 360) / 360;
+ currentSaturation = newHsv.s;
+ currentValue = newHsv.v;
+ currentAlpha = newHsv.a;
+ }
+ updateUI();
+
+ if (newColor && newColor.isValid() && !ignoreFormatChange) {
+ currentPreferredFormat = opts.preferredFormat || newColor.getFormat();
+ }
+ }
+
+ function get(opts) {
+ opts = opts || { };
+
+ if (allowEmpty && isEmpty) {
+ return null;
+ }
+
+ return tinycolor.fromRatio({
+ h: currentHue,
+ s: currentSaturation,
+ v: currentValue,
+ a: Math.round(currentAlpha * 1000) / 1000
+ }, { format: opts.format || currentPreferredFormat });
+ }
+
+ function isValid() {
+ return !textInput.hasClass("sp-validation-error");
+ }
+
+ function move() {
+ updateUI();
+
+ callbacks.move(get());
+ boundElement.trigger('move.spectrum', [ get() ]);
+ }
+
+ function updateUI() {
+
+ textInput.removeClass("sp-validation-error");
+
+ updateHelperLocations();
+
+ // Update dragger background color (gradients take care of saturation and value).
+ var flatColor = tinycolor.fromRatio({ h: currentHue, s: 1, v: 1 });
+ dragger.css("background-color", flatColor.toHexString());
+
+ // Get a format that alpha will be included in (hex and names ignore alpha)
+ var format = currentPreferredFormat;
+ if (currentAlpha < 1 && !(currentAlpha === 0 && format === "name")) {
+ if (format === "hex" || format === "hex3" || format === "hex6" || format === "name") {
+ format = "rgb";
+ }
+ }
+
+ var realColor = get({ format: format }),
+ displayColor = '';
+
+ //reset background info for preview element
+ previewElement.removeClass("sp-clear-display");
+ previewElement.css('background-color', 'transparent');
+
+ if (!realColor && allowEmpty) {
+ // Update the replaced elements background with icon indicating no color selection
+ previewElement.addClass("sp-clear-display");
+ }
+ else {
+ var realHex = realColor.toHexString(),
+ realRgb = realColor.toRgbString();
+
+ // Update the replaced elements background color (with actual selected color)
+ if (rgbaSupport || realColor.alpha === 1) {
+ previewElement.css("background-color", realRgb);
+ }
+ else {
+ previewElement.css("background-color", "transparent");
+ previewElement.css("filter", realColor.toFilter());
+ }
+
+ if (opts.showAlpha) {
+ var rgb = realColor.toRgb();
+ rgb.a = 0;
+ var realAlpha = tinycolor(rgb).toRgbString();
+ var gradient = "linear-gradient(left, " + realAlpha + ", " + realHex + ")";
+
+ if (IE) {
+ alphaSliderInner.css("filter", tinycolor(realAlpha).toFilter({ gradientType: 1 }, realHex));
+ }
+ else {
+ alphaSliderInner.css("background", "-webkit-" + gradient);
+ alphaSliderInner.css("background", "-moz-" + gradient);
+ alphaSliderInner.css("background", "-ms-" + gradient);
+ // Use current syntax gradient on unprefixed property.
+ alphaSliderInner.css("background",
+ "linear-gradient(to right, " + realAlpha + ", " + realHex + ")");
+ }
+ }
+
+ displayColor = realColor.toString(format);
+ }
+
+ // Update the text entry input as it changes happen
+ if (opts.showInput) {
+ textInput.val(displayColor);
+ }
+
+ if (opts.showPalette) {
+ drawPalette();
+ }
+
+ drawInitial();
+ }
+
+ function updateHelperLocations() {
+ var s = currentSaturation;
+ var v = currentValue;
+
+ if(allowEmpty && isEmpty) {
+ //if selected color is empty, hide the helpers
+ alphaSlideHelper.hide();
+ slideHelper.hide();
+ dragHelper.hide();
+ }
+ else {
+ //make sure helpers are visible
+ alphaSlideHelper.show();
+ slideHelper.show();
+ dragHelper.show();
+
+ // Where to show the little circle in that displays your current selected color
+ var dragX = s * dragWidth;
+ var dragY = dragHeight - (v * dragHeight);
+ dragX = Math.max(
+ -dragHelperHeight,
+ Math.min(dragWidth - dragHelperHeight, dragX - dragHelperHeight)
+ );
+ dragY = Math.max(
+ -dragHelperHeight,
+ Math.min(dragHeight - dragHelperHeight, dragY - dragHelperHeight)
+ );
+ dragHelper.css({
+ "top": dragY + "px",
+ "left": dragX + "px"
+ });
+
+ var alphaX = currentAlpha * alphaWidth;
+ alphaSlideHelper.css({
+ "left": (alphaX - (alphaSlideHelperWidth / 2)) + "px"
+ });
+
+ // Where to show the bar that displays your current selected hue
+ var slideY = (currentHue) * slideHeight;
+ slideHelper.css({
+ "top": (slideY - slideHelperHeight) + "px"
+ });
+ }
+ }
+
+ function updateOriginalInput(fireCallback) {
+ var color = get(),
+ displayColor = '',
+ hasChanged = !tinycolor.equals(color, colorOnShow);
+
+ if (color) {
+ displayColor = color.toString(currentPreferredFormat);
+ // Update the selection palette with the current color
+ addColorToSelectionPalette(color);
+ }
+
+ if (isInput) {
+ boundElement.val(displayColor);
+ }
+
+ if (fireCallback && hasChanged) {
+ callbacks.change(color);
+ boundElement.trigger('change', [ color ]);
+ }
+ }
+
+ function reflow() {
+ if (!visible) {
+ return; // Calculations would be useless and wouldn't be reliable anyways
+ }
+ dragWidth = dragger.width();
+ dragHeight = dragger.height();
+ dragHelperHeight = dragHelper.height();
+ slideWidth = slider.width();
+ slideHeight = slider.height();
+ slideHelperHeight = slideHelper.height();
+ alphaWidth = alphaSlider.width();
+ alphaSlideHelperWidth = alphaSlideHelper.width();
+
+ if (!flat) {
+ container.css("position", "absolute");
+ if (opts.offset) {
+ container.offset(opts.offset);
+ } else {
+ container.offset(getOffset(container, offsetElement));
+ }
+ }
+
+ updateHelperLocations();
+
+ if (opts.showPalette) {
+ drawPalette();
+ }
+
+ boundElement.trigger('reflow.spectrum');
+ }
+
+ function destroy() {
+ boundElement.show();
+ offsetElement.off("click.spectrum touchstart.spectrum");
+ container.remove();
+ replacer.remove();
+ spectrums[spect.id] = null;
+ }
+
+ function option(optionName, optionValue) {
+ if (optionName === undefined) {
+ return $.extend({}, opts);
+ }
+ if (optionValue === undefined) {
+ return opts[optionName];
+ }
+
+ opts[optionName] = optionValue;
+
+ if (optionName === "preferredFormat") {
+ currentPreferredFormat = opts.preferredFormat;
+ }
+ applyOptions();
+ }
+
+ function enable() {
+ disabled = false;
+ boundElement.attr("disabled", false);
+ offsetElement.removeClass("sp-disabled");
+ }
+
+ function disable() {
+ hide();
+ disabled = true;
+ boundElement.attr("disabled", true);
+ offsetElement.addClass("sp-disabled");
+ }
+
+ function setOffset(coord) {
+ opts.offset = coord;
+ reflow();
+ }
+
+ initialize();
+
+ var spect = {
+ show: show,
+ hide: hide,
+ toggle: toggle,
+ reflow: reflow,
+ option: option,
+ enable: enable,
+ disable: disable,
+ offset: setOffset,
+ set: function (c) {
+ set(c);
+ updateOriginalInput();
+ },
+ get: get,
+ destroy: destroy,
+ container: container
+ };
+
+ spect.id = spectrums.push(spect) - 1;
+
+ return spect;
+ }
+
+ /**
+ * checkOffset - get the offset below/above and left/right element depending on screen position
+ * Thanks https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.datepicker.js
+ */
+ function getOffset(picker, input) {
+ var extraY = 0;
+ var dpWidth = picker.outerWidth();
+ var dpHeight = picker.outerHeight();
+ var inputHeight = input.outerHeight();
+ var doc = picker[0].ownerDocument;
+ var docElem = doc.documentElement;
+ var viewWidth = docElem.clientWidth + $(doc).scrollLeft();
+ var viewHeight = docElem.clientHeight + $(doc).scrollTop();
+ var offset = input.offset();
+ var offsetLeft = offset.left;
+ var offsetTop = offset.top;
+
+ offsetTop += inputHeight;
+
+ offsetLeft -=
+ Math.min(offsetLeft, (offsetLeft + dpWidth > viewWidth && viewWidth > dpWidth) ?
+ Math.abs(offsetLeft + dpWidth - viewWidth) : 0);
+
+ offsetTop -=
+ Math.min(offsetTop, ((offsetTop + dpHeight > viewHeight && viewHeight > dpHeight) ?
+ Math.abs(dpHeight + inputHeight - extraY) : extraY));
+
+ return {
+ top: offsetTop,
+ bottom: offset.bottom,
+ left: offsetLeft,
+ right: offset.right,
+ width: offset.width,
+ height: offset.height
+ };
+ }
+
+ /**
+ * noop - do nothing
+ */
+ function noop() {
+
+ }
+
+ /**
+ * stopPropagation - makes the code only doing this a little easier to read in line
+ */
+ function stopPropagation(e) {
+ e.stopPropagation();
+ }
+
+ /**
+ * Create a function bound to a given object
+ * Thanks to underscore.js
+ */
+ function bind(func, obj) {
+ var slice = Array.prototype.slice;
+ var args = slice.call(arguments, 2);
+ return function () {
+ return func.apply(obj, args.concat(slice.call(arguments)));
+ };
+ }
+
+ /**
+ * Lightweight drag helper. Handles containment within the element, so that
+ * when dragging, the x is within [0,element.width] and y is within [0,element.height]
+ */
+ function draggable(element, onmove, onstart, onstop) {
+ onmove = onmove || function () { };
+ onstart = onstart || function () { };
+ onstop = onstop || function () { };
+ var doc = document;
+ var dragging = false;
+ var offset = {};
+ var maxHeight = 0;
+ var maxWidth = 0;
+ var hasTouch = ('ontouchstart' in window);
+
+ var duringDragEvents = {};
+ duringDragEvents["selectstart"] = prevent;
+ duringDragEvents["dragstart"] = prevent;
+ duringDragEvents["touchmove mousemove"] = move;
+ duringDragEvents["touchend mouseup"] = stop;
+
+ function prevent(e) {
+ if (e.stopPropagation) {
+ e.stopPropagation();
+ }
+ if (e.preventDefault) {
+ e.preventDefault();
+ }
+ e.returnValue = false;
+ }
+
+ function move(e) {
+ if (dragging) {
+ // Mouseup happened outside of window
+ if (IE && doc.documentMode < 9 && !e.button) {
+ return stop();
+ }
+
+ var t0 = e.originalEvent && e.originalEvent.touches && e.originalEvent.touches[0];
+ var pageX = t0 && t0.pageX || e.pageX;
+ var pageY = t0 && t0.pageY || e.pageY;
+
+ var dragX = Math.max(0, Math.min(pageX - offset.left, maxWidth));
+ var dragY = Math.max(0, Math.min(pageY - offset.top, maxHeight));
+
+ if (hasTouch) {
+ // Stop scrolling in iOS
+ prevent(e);
+ }
+
+ onmove.apply(element, [dragX, dragY, e]);
+ }
+ }
+
+ function start(e) {
+ var rightclick = (e.which) ? (e.which == 3) : (e.button == 2);
+
+ if (!rightclick && !dragging) {
+ if (onstart.apply(element, arguments) !== false) {
+ dragging = true;
+ maxHeight = $(element).height();
+ maxWidth = $(element).width();
+ offset = $(element).offset();
+
+ $(doc).on(duringDragEvents);
+ $(doc.body).addClass("sp-dragging");
+
+ move(e);
+
+ prevent(e);
+ }
+ }
+ }
+
+ function stop() {
+ if (dragging) {
+ $(doc).off(duringDragEvents);
+ $(doc.body).removeClass("sp-dragging");
+
+ // Wait a tick before notifying observers to allow the click event
+ // to fire in Chrome.
+ setTimeout(function() {
+ onstop.apply(element, arguments);
+ }, 0);
+ }
+ dragging = false;
+ }
+
+ $(element).on("touchstart mousedown", start);
+ }
+
+ function throttle(func, wait, debounce) {
+ var timeout;
+ return function () {
+ var context = this, args = arguments;
+ var throttler = function () {
+ timeout = null;
+ func.apply(context, args);
+ };
+ if (debounce) clearTimeout(timeout);
+ if (debounce || !timeout) timeout = setTimeout(throttler, wait);
+ };
+ }
+
+ function inputTypeColorSupport() {
+ return $.fn.spectrum.inputTypeColorSupport();
+ }
+
+ /**
+ * Define a jQuery plugin
+ */
+ var dataID = "spectrum.id";
+ $.fn.spectrum = function (opts, extra) {
+
+ if (typeof opts == "string") {
+
+ var returnValue = this;
+ var args = Array.prototype.slice.call( arguments, 1 );
+
+ this.each(function () {
+ var spect = spectrums[$(this).data(dataID)];
+ if (spect) {
+ var method = spect[opts];
+ if (!method) {
+ throw new Error( "Spectrum: no such method: '" + opts + "'" );
+ }
+
+ if (opts == "get") {
+ returnValue = spect.get();
+ }
+ else if (opts == "container") {
+ returnValue = spect.container;
+ }
+ else if (opts == "option") {
+ returnValue = spect.option.apply(spect, args);
+ }
+ else if (opts == "destroy") {
+ spect.destroy();
+ $(this).removeData(dataID);
+ }
+ else {
+ method.apply(spect, args);
+ }
+ }
+ });
+
+ return returnValue;
+ }
+
+ // Initializing a new instance of spectrum
+ return this.spectrum("destroy").each(function () {
+ var options = $.extend({}, $(this).data(), opts);
+ var spect = spectrum(this, options);
+ $(this).data(dataID, spect.id);
+ });
+ };
+
+ $.fn.spectrum.load = true;
+ $.fn.spectrum.loadOpts = {};
+ $.fn.spectrum.draggable = draggable;
+ $.fn.spectrum.defaults = defaultOpts;
+ $.fn.spectrum.inputTypeColorSupport = function inputTypeColorSupport() {
+ if (typeof inputTypeColorSupport._cachedResult === "undefined") {
+ var colorInput = $(" ")[0]; // if color element is supported, value will default to not null
+ inputTypeColorSupport._cachedResult = colorInput.type === "color" && colorInput.value !== "";
+ }
+ return inputTypeColorSupport._cachedResult;
+ };
+
+ $.spectrum = { };
+ $.spectrum.localization = { };
+ $.spectrum.palettes = { };
+
+ $.fn.spectrum.processNativeColorInputs = function () {
+ var colorInputs = $("input[type=color]");
+ if (colorInputs.length && !inputTypeColorSupport()) {
+ colorInputs.spectrum({
+ preferredFormat: "hex6"
+ });
+ }
+ };
+
+ // TinyColor v1.1.2
+ // https://github.com/bgrins/TinyColor
+ // Brian Grinstead, MIT License
+
+ (function() {
+
+ var trimLeft = /^[\s,#]+/,
+ trimRight = /\s+$/,
+ tinyCounter = 0,
+ math = Math,
+ mathRound = math.round,
+ mathMin = math.min,
+ mathMax = math.max,
+ mathRandom = math.random;
+
+ var tinycolor = function(color, opts) {
+
+ color = (color) ? color : '';
+ opts = opts || { };
+
+ // If input is already a tinycolor, return itself
+ if (color instanceof tinycolor) {
+ return color;
+ }
+ // If we are called as a function, call using new instead
+ if (!(this instanceof tinycolor)) {
+ return new tinycolor(color, opts);
+ }
+
+ var rgb = inputToRGB(color);
+ this._originalInput = color;
+ this._r = rgb.r;
+ this._g = rgb.g;
+ this._b = rgb.b;
+ this._a = rgb.a;
+ this._roundA = mathRound(1000 * this._a) / 1000;
+ this._format = opts.format || rgb.format;
+ this._gradientType = opts.gradientType;
+
+ // Don't let the range of [0,255] come back in [0,1].
+ // Potentially lose a little bit of precision here, but will fix issues where
+ // .5 gets interpreted as half of the total, instead of half of 1
+ // If it was supposed to be 128, this was already taken care of by `inputToRgb`
+ if (this._r < 1) { this._r = mathRound(this._r); }
+ if (this._g < 1) { this._g = mathRound(this._g); }
+ if (this._b < 1) { this._b = mathRound(this._b); }
+
+ this._ok = rgb.ok;
+ this._tc_id = tinyCounter++;
+ };
+
+ tinycolor.prototype = {
+ isDark: function() {
+ return this.getBrightness() < 128;
+ },
+ isLight: function() {
+ return !this.isDark();
+ },
+ isValid: function() {
+ return this._ok;
+ },
+ getOriginalInput: function() {
+ return this._originalInput;
+ },
+ getFormat: function() {
+ return this._format;
+ },
+ getAlpha: function() {
+ return this._a;
+ },
+ getBrightness: function() {
+ var rgb = this.toRgb();
+ return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;
+ },
+ setAlpha: function(value) {
+ this._a = boundAlpha(value);
+ this._roundA = mathRound(1000 * this._a) / 1000;
+ return this;
+ },
+ toHsv: function() {
+ var hsv = rgbToHsv(this._r, this._g, this._b);
+ return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a };
+ },
+ toHsvString: function() {
+ var hsv = rgbToHsv(this._r, this._g, this._b);
+ var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100);
+ return (this._a == 1) ?
+ "hsv(" + h + ", " + s + "%, " + v + "%)" :
+ "hsva(" + h + ", " + s + "%, " + v + "%, "+ this._roundA + ")";
+ },
+ toHsl: function() {
+ var hsl = rgbToHsl(this._r, this._g, this._b);
+ return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a };
+ },
+ toHslString: function() {
+ var hsl = rgbToHsl(this._r, this._g, this._b);
+ var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100);
+ return (this._a == 1) ?
+ "hsl(" + h + ", " + s + "%, " + l + "%)" :
+ "hsla(" + h + ", " + s + "%, " + l + "%, "+ this._roundA + ")";
+ },
+ toHex: function(allow3Char) {
+ return rgbToHex(this._r, this._g, this._b, allow3Char);
+ },
+ toHexString: function(allow3Char) {
+ return '#' + this.toHex(allow3Char);
+ },
+ toHex8: function() {
+ return rgbaToHex(this._r, this._g, this._b, this._a);
+ },
+ toHex8String: function() {
+ return '#' + this.toHex8();
+ },
+ toRgb: function() {
+ return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a };
+ },
+ toRgbString: function() {
+ return (this._a == 1) ?
+ "rgb(" + mathRound(this._r) + ", " + mathRound(this._g) + ", " + mathRound(this._b) + ")" :
+ "rgba(" + mathRound(this._r) + ", " + mathRound(this._g) + ", " + mathRound(this._b) + ", " + this._roundA + ")";
+ },
+ toPercentageRgb: function() {
+ return { r: mathRound(bound01(this._r, 255) * 100) + "%", g: mathRound(bound01(this._g, 255) * 100) + "%", b: mathRound(bound01(this._b, 255) * 100) + "%", a: this._a };
+ },
+ toPercentageRgbString: function() {
+ return (this._a == 1) ?
+ "rgb(" + mathRound(bound01(this._r, 255) * 100) + "%, " + mathRound(bound01(this._g, 255) * 100) + "%, " + mathRound(bound01(this._b, 255) * 100) + "%)" :
+ "rgba(" + mathRound(bound01(this._r, 255) * 100) + "%, " + mathRound(bound01(this._g, 255) * 100) + "%, " + mathRound(bound01(this._b, 255) * 100) + "%, " + this._roundA + ")";
+ },
+ toName: function() {
+ if (this._a === 0) {
+ return "transparent";
+ }
+
+ if (this._a < 1) {
+ return false;
+ }
+
+ return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;
+ },
+ toFilter: function(secondColor) {
+ var hex8String = '#' + rgbaToHex(this._r, this._g, this._b, this._a);
+ var secondHex8String = hex8String;
+ var gradientType = this._gradientType ? "GradientType = 1, " : "";
+
+ if (secondColor) {
+ var s = tinycolor(secondColor);
+ secondHex8String = s.toHex8String();
+ }
+
+ return "progid:DXImageTransform.Microsoft.gradient("+gradientType+"startColorstr="+hex8String+",endColorstr="+secondHex8String+")";
+ },
+ toString: function(format) {
+ var formatSet = !!format;
+ format = format || this._format;
+
+ var formattedString = false;
+ var hasAlpha = this._a < 1 && this._a >= 0;
+ var needsAlphaFormat = !formatSet && hasAlpha && (format === "hex" || format === "hex6" || format === "hex3" || format === "name");
+
+ if (needsAlphaFormat) {
+ // Special case for "transparent", all other non-alpha formats
+ // will return rgba when there is transparency.
+ if (format === "name" && this._a === 0) {
+ return this.toName();
+ }
+ return this.toRgbString();
+ }
+ if (format === "rgb") {
+ formattedString = this.toRgbString();
+ }
+ if (format === "prgb") {
+ formattedString = this.toPercentageRgbString();
+ }
+ if (format === "hex" || format === "hex6") {
+ formattedString = this.toHexString();
+ }
+ if (format === "hex3") {
+ formattedString = this.toHexString(true);
+ }
+ if (format === "hex8") {
+ formattedString = this.toHex8String();
+ }
+ if (format === "name") {
+ formattedString = this.toName();
+ }
+ if (format === "hsl") {
+ formattedString = this.toHslString();
+ }
+ if (format === "hsv") {
+ formattedString = this.toHsvString();
+ }
+
+ return formattedString || this.toHexString();
+ },
+
+ _applyModification: function(fn, args) {
+ var color = fn.apply(null, [this].concat([].slice.call(args)));
+ this._r = color._r;
+ this._g = color._g;
+ this._b = color._b;
+ this.setAlpha(color._a);
+ return this;
+ },
+ lighten: function() {
+ return this._applyModification(lighten, arguments);
+ },
+ brighten: function() {
+ return this._applyModification(brighten, arguments);
+ },
+ darken: function() {
+ return this._applyModification(darken, arguments);
+ },
+ desaturate: function() {
+ return this._applyModification(desaturate, arguments);
+ },
+ saturate: function() {
+ return this._applyModification(saturate, arguments);
+ },
+ greyscale: function() {
+ return this._applyModification(greyscale, arguments);
+ },
+ spin: function() {
+ return this._applyModification(spin, arguments);
+ },
+
+ _applyCombination: function(fn, args) {
+ return fn.apply(null, [this].concat([].slice.call(args)));
+ },
+ analogous: function() {
+ return this._applyCombination(analogous, arguments);
+ },
+ complement: function() {
+ return this._applyCombination(complement, arguments);
+ },
+ monochromatic: function() {
+ return this._applyCombination(monochromatic, arguments);
+ },
+ splitcomplement: function() {
+ return this._applyCombination(splitcomplement, arguments);
+ },
+ triad: function() {
+ return this._applyCombination(triad, arguments);
+ },
+ tetrad: function() {
+ return this._applyCombination(tetrad, arguments);
+ }
+ };
+
+ // If input is an object, force 1 into "1.0" to handle ratios properly
+ // String input requires "1.0" as input, so 1 will be treated as 1
+ tinycolor.fromRatio = function(color, opts) {
+ if (typeof color == "object") {
+ var newColor = {};
+ for (var i in color) {
+ if (color.hasOwnProperty(i)) {
+ if (i === "a") {
+ newColor[i] = color[i];
+ }
+ else {
+ newColor[i] = convertToPercentage(color[i]);
+ }
+ }
+ }
+ color = newColor;
+ }
+
+ return tinycolor(color, opts);
+ };
+
+ // Given a string or object, convert that input to RGB
+ // Possible string inputs:
+ //
+ // "red"
+ // "#f00" or "f00"
+ // "#ff0000" or "ff0000"
+ // "#ff000000" or "ff000000"
+ // "rgb 255 0 0" or "rgb (255, 0, 0)"
+ // "rgb 1.0 0 0" or "rgb (1, 0, 0)"
+ // "rgba (255, 0, 0, 1)" or "rgba 255, 0, 0, 1"
+ // "rgba (1.0, 0, 0, 1)" or "rgba 1.0, 0, 0, 1"
+ // "hsl(0, 100%, 50%)" or "hsl 0 100% 50%"
+ // "hsla(0, 100%, 50%, 1)" or "hsla 0 100% 50%, 1"
+ // "hsv(0, 100%, 100%)" or "hsv 0 100% 100%"
+ //
+ function inputToRGB(color) {
+
+ var rgb = { r: 0, g: 0, b: 0 };
+ var a = 1;
+ var ok = false;
+ var format = false;
+
+ if (typeof color == "string") {
+ color = stringInputToObject(color);
+ }
+
+ if (typeof color == "object") {
+ if (color.hasOwnProperty("r") && color.hasOwnProperty("g") && color.hasOwnProperty("b")) {
+ rgb = rgbToRgb(color.r, color.g, color.b);
+ ok = true;
+ format = String(color.r).substr(-1) === "%" ? "prgb" : "rgb";
+ }
+ else if (color.hasOwnProperty("h") && color.hasOwnProperty("s") && color.hasOwnProperty("v")) {
+ color.s = convertToPercentage(color.s);
+ color.v = convertToPercentage(color.v);
+ rgb = hsvToRgb(color.h, color.s, color.v);
+ ok = true;
+ format = "hsv";
+ }
+ else if (color.hasOwnProperty("h") && color.hasOwnProperty("s") && color.hasOwnProperty("l")) {
+ color.s = convertToPercentage(color.s);
+ color.l = convertToPercentage(color.l);
+ rgb = hslToRgb(color.h, color.s, color.l);
+ ok = true;
+ format = "hsl";
+ }
+
+ if (color.hasOwnProperty("a")) {
+ a = color.a;
+ }
+ }
+
+ a = boundAlpha(a);
+
+ return {
+ ok: ok,
+ format: color.format || format,
+ r: mathMin(255, mathMax(rgb.r, 0)),
+ g: mathMin(255, mathMax(rgb.g, 0)),
+ b: mathMin(255, mathMax(rgb.b, 0)),
+ a: a
+ };
+ }
+
+
+ // Conversion Functions
+ // --------------------
+
+ // `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:
+ //
+
+ // `rgbToRgb`
+ // Handle bounds / percentage checking to conform to CSS color spec
+ //
+ // *Assumes:* r, g, b in [0, 255] or [0, 1]
+ // *Returns:* { r, g, b } in [0, 255]
+ function rgbToRgb(r, g, b){
+ return {
+ r: bound01(r, 255) * 255,
+ g: bound01(g, 255) * 255,
+ b: bound01(b, 255) * 255
+ };
+ }
+
+ // `rgbToHsl`
+ // Converts an RGB color value to HSL.
+ // *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]
+ // *Returns:* { h, s, l } in [0,1]
+ function rgbToHsl(r, g, b) {
+
+ r = bound01(r, 255);
+ g = bound01(g, 255);
+ b = bound01(b, 255);
+
+ var max = mathMax(r, g, b), min = mathMin(r, g, b);
+ var h, s, l = (max + min) / 2;
+
+ if(max == min) {
+ h = s = 0; // achromatic
+ }
+ else {
+ var d = max - min;
+ s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
+ switch(max) {
+ case r: h = (g - b) / d + (g < b ? 6 : 0); break;
+ case g: h = (b - r) / d + 2; break;
+ case b: h = (r - g) / d + 4; break;
+ }
+
+ h /= 6;
+ }
+
+ return { h: h, s: s, l: l };
+ }
+
+ // `hslToRgb`
+ // Converts an HSL color value to RGB.
+ // *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]
+ // *Returns:* { r, g, b } in the set [0, 255]
+ function hslToRgb(h, s, l) {
+ var r, g, b;
+
+ h = bound01(h, 360);
+ s = bound01(s, 100);
+ l = bound01(l, 100);
+
+ function hue2rgb(p, q, t) {
+ if(t < 0) t += 1;
+ if(t > 1) t -= 1;
+ if(t < 1/6) return p + (q - p) * 6 * t;
+ if(t < 1/2) return q;
+ if(t < 2/3) return p + (q - p) * (2/3 - t) * 6;
+ return p;
+ }
+
+ if(s === 0) {
+ r = g = b = l; // achromatic
+ }
+ else {
+ var q = l < 0.5 ? l * (1 + s) : l + s - l * s;
+ var p = 2 * l - q;
+ r = hue2rgb(p, q, h + 1/3);
+ g = hue2rgb(p, q, h);
+ b = hue2rgb(p, q, h - 1/3);
+ }
+
+ return { r: r * 255, g: g * 255, b: b * 255 };
+ }
+
+ // `rgbToHsv`
+ // Converts an RGB color value to HSV
+ // *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]
+ // *Returns:* { h, s, v } in [0,1]
+ function rgbToHsv(r, g, b) {
+
+ r = bound01(r, 255);
+ g = bound01(g, 255);
+ b = bound01(b, 255);
+
+ var max = mathMax(r, g, b), min = mathMin(r, g, b);
+ var h, s, v = max;
+
+ var d = max - min;
+ s = max === 0 ? 0 : d / max;
+
+ if(max == min) {
+ h = 0; // achromatic
+ }
+ else {
+ switch(max) {
+ case r: h = (g - b) / d + (g < b ? 6 : 0); break;
+ case g: h = (b - r) / d + 2; break;
+ case b: h = (r - g) / d + 4; break;
+ }
+ h /= 6;
+ }
+ return { h: h, s: s, v: v };
+ }
+
+ // `hsvToRgb`
+ // Converts an HSV color value to RGB.
+ // *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]
+ // *Returns:* { r, g, b } in the set [0, 255]
+ function hsvToRgb(h, s, v) {
+
+ h = bound01(h, 360) * 6;
+ s = bound01(s, 100);
+ v = bound01(v, 100);
+
+ var i = math.floor(h),
+ f = h - i,
+ p = v * (1 - s),
+ q = v * (1 - f * s),
+ t = v * (1 - (1 - f) * s),
+ mod = i % 6,
+ r = [v, q, p, p, t, v][mod],
+ g = [t, v, v, q, p, p][mod],
+ b = [p, p, t, v, v, q][mod];
+
+ return { r: r * 255, g: g * 255, b: b * 255 };
+ }
+
+ // `rgbToHex`
+ // Converts an RGB color to hex
+ // Assumes r, g, and b are contained in the set [0, 255]
+ // Returns a 3 or 6 character hex
+ function rgbToHex(r, g, b, allow3Char) {
+
+ var hex = [
+ pad2(mathRound(r).toString(16)),
+ pad2(mathRound(g).toString(16)),
+ pad2(mathRound(b).toString(16))
+ ];
+
+ // Return a 3 character hex if possible
+ if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {
+ return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);
+ }
+
+ return hex.join("");
+ }
+ // `rgbaToHex`
+ // Converts an RGBA color plus alpha transparency to hex
+ // Assumes r, g, b and a are contained in the set [0, 255]
+ // Returns an 8 character hex
+ function rgbaToHex(r, g, b, a) {
+
+ var hex = [
+ pad2(convertDecimalToHex(a)),
+ pad2(mathRound(r).toString(16)),
+ pad2(mathRound(g).toString(16)),
+ pad2(mathRound(b).toString(16))
+ ];
+
+ return hex.join("");
+ }
+
+ // `equals`
+ // Can be called with any tinycolor input
+ tinycolor.equals = function (color1, color2) {
+ if (!color1 || !color2) { return false; }
+ return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();
+ };
+ tinycolor.random = function() {
+ return tinycolor.fromRatio({
+ r: mathRandom(),
+ g: mathRandom(),
+ b: mathRandom()
+ });
+ };
+
+
+ // Modification Functions
+ // ----------------------
+ // Thanks to less.js for some of the basics here
+ //
+
+ function desaturate(color, amount) {
+ amount = (amount === 0) ? 0 : (amount || 10);
+ var hsl = tinycolor(color).toHsl();
+ hsl.s -= amount / 100;
+ hsl.s = clamp01(hsl.s);
+ return tinycolor(hsl);
+ }
+
+ function saturate(color, amount) {
+ amount = (amount === 0) ? 0 : (amount || 10);
+ var hsl = tinycolor(color).toHsl();
+ hsl.s += amount / 100;
+ hsl.s = clamp01(hsl.s);
+ return tinycolor(hsl);
+ }
+
+ function greyscale(color) {
+ return tinycolor(color).desaturate(100);
+ }
+
+ function lighten (color, amount) {
+ amount = (amount === 0) ? 0 : (amount || 10);
+ var hsl = tinycolor(color).toHsl();
+ hsl.l += amount / 100;
+ hsl.l = clamp01(hsl.l);
+ return tinycolor(hsl);
+ }
+
+ function brighten(color, amount) {
+ amount = (amount === 0) ? 0 : (amount || 10);
+ var rgb = tinycolor(color).toRgb();
+ rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100))));
+ rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100))));
+ rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100))));
+ return tinycolor(rgb);
+ }
+
+ function darken (color, amount) {
+ amount = (amount === 0) ? 0 : (amount || 10);
+ var hsl = tinycolor(color).toHsl();
+ hsl.l -= amount / 100;
+ hsl.l = clamp01(hsl.l);
+ return tinycolor(hsl);
+ }
+
+ // Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.
+ // Values outside of this range will be wrapped into this range.
+ function spin(color, amount) {
+ var hsl = tinycolor(color).toHsl();
+ var hue = (mathRound(hsl.h) + amount) % 360;
+ hsl.h = hue < 0 ? 360 + hue : hue;
+ return tinycolor(hsl);
+ }
+
+ // Combination Functions
+ // ---------------------
+ // Thanks to jQuery xColor for some of the ideas behind these
+ //
+
+ function complement(color) {
+ var hsl = tinycolor(color).toHsl();
+ hsl.h = (hsl.h + 180) % 360;
+ return tinycolor(hsl);
+ }
+
+ function triad(color) {
+ var hsl = tinycolor(color).toHsl();
+ var h = hsl.h;
+ return [
+ tinycolor(color),
+ tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }),
+ tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l })
+ ];
+ }
+
+ function tetrad(color) {
+ var hsl = tinycolor(color).toHsl();
+ var h = hsl.h;
+ return [
+ tinycolor(color),
+ tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }),
+ tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }),
+ tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l })
+ ];
+ }
+
+ function splitcomplement(color) {
+ var hsl = tinycolor(color).toHsl();
+ var h = hsl.h;
+ return [
+ tinycolor(color),
+ tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}),
+ tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l})
+ ];
+ }
+
+ function analogous(color, results, slices) {
+ results = results || 6;
+ slices = slices || 30;
+
+ var hsl = tinycolor(color).toHsl();
+ var part = 360 / slices;
+ var ret = [tinycolor(color)];
+
+ for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) {
+ hsl.h = (hsl.h + part) % 360;
+ ret.push(tinycolor(hsl));
+ }
+ return ret;
+ }
+
+ function monochromatic(color, results) {
+ results = results || 6;
+ var hsv = tinycolor(color).toHsv();
+ var h = hsv.h, s = hsv.s, v = hsv.v;
+ var ret = [];
+ var modification = 1 / results;
+
+ while (results--) {
+ ret.push(tinycolor({ h: h, s: s, v: v}));
+ v = (v + modification) % 1;
+ }
+
+ return ret;
+ }
+
+ // Utility Functions
+ // ---------------------
+
+ tinycolor.mix = function(color1, color2, amount) {
+ amount = (amount === 0) ? 0 : (amount || 50);
+
+ var rgb1 = tinycolor(color1).toRgb();
+ var rgb2 = tinycolor(color2).toRgb();
+
+ var p = amount / 100;
+ var w = p * 2 - 1;
+ var a = rgb2.a - rgb1.a;
+
+ var w1;
+
+ if (w * a == -1) {
+ w1 = w;
+ } else {
+ w1 = (w + a) / (1 + w * a);
+ }
+
+ w1 = (w1 + 1) / 2;
+
+ var w2 = 1 - w1;
+
+ var rgba = {
+ r: rgb2.r * w1 + rgb1.r * w2,
+ g: rgb2.g * w1 + rgb1.g * w2,
+ b: rgb2.b * w1 + rgb1.b * w2,
+ a: rgb2.a * p + rgb1.a * (1 - p)
+ };
+
+ return tinycolor(rgba);
+ };
+
+
+ // Readability Functions
+ // ---------------------
+ //
+
+ // `readability`
+ // Analyze the 2 colors and returns an object with the following properties:
+ // `brightness`: difference in brightness between the two colors
+ // `color`: difference in color/hue between the two colors
+ tinycolor.readability = function(color1, color2) {
+ var c1 = tinycolor(color1);
+ var c2 = tinycolor(color2);
+ var rgb1 = c1.toRgb();
+ var rgb2 = c2.toRgb();
+ var brightnessA = c1.getBrightness();
+ var brightnessB = c2.getBrightness();
+ var colorDiff = (
+ Math.max(rgb1.r, rgb2.r) - Math.min(rgb1.r, rgb2.r) +
+ Math.max(rgb1.g, rgb2.g) - Math.min(rgb1.g, rgb2.g) +
+ Math.max(rgb1.b, rgb2.b) - Math.min(rgb1.b, rgb2.b)
+ );
+
+ return {
+ brightness: Math.abs(brightnessA - brightnessB),
+ color: colorDiff
+ };
+ };
+
+ // `readable`
+ // http://www.w3.org/TR/AERT#color-contrast
+ // Ensure that foreground and background color combinations provide sufficient contrast.
+ // *Example*
+ // tinycolor.isReadable("#000", "#111") => false
+ tinycolor.isReadable = function(color1, color2) {
+ var readability = tinycolor.readability(color1, color2);
+ return readability.brightness > 125 && readability.color > 500;
+ };
+
+ // `mostReadable`
+ // Given a base color and a list of possible foreground or background
+ // colors for that base, returns the most readable color.
+ // *Example*
+ // tinycolor.mostReadable("#123", ["#fff", "#000"]) => "#000"
+ tinycolor.mostReadable = function(baseColor, colorList) {
+ var bestColor = null;
+ var bestScore = 0;
+ var bestIsReadable = false;
+ for (var i=0; i < colorList.length; i++) {
+
+ // We normalize both around the "acceptable" breaking point,
+ // but rank brightness constrast higher than hue.
+
+ var readability = tinycolor.readability(baseColor, colorList[i]);
+ var readable = readability.brightness > 125 && readability.color > 500;
+ var score = 3 * (readability.brightness / 125) + (readability.color / 500);
+
+ if ((readable && ! bestIsReadable) ||
+ (readable && bestIsReadable && score > bestScore) ||
+ ((! readable) && (! bestIsReadable) && score > bestScore)) {
+ bestIsReadable = readable;
+ bestScore = score;
+ bestColor = tinycolor(colorList[i]);
+ }
+ }
+ return bestColor;
+ };
+
+
+ // Big List of Colors
+ // ------------------
+ //
+ var names = tinycolor.names = {
+ aliceblue: "f0f8ff",
+ antiquewhite: "faebd7",
+ aqua: "0ff",
+ aquamarine: "7fffd4",
+ azure: "f0ffff",
+ beige: "f5f5dc",
+ bisque: "ffe4c4",
+ black: "000",
+ blanchedalmond: "ffebcd",
+ blue: "00f",
+ blueviolet: "8a2be2",
+ brown: "a52a2a",
+ burlywood: "deb887",
+ burntsienna: "ea7e5d",
+ cadetblue: "5f9ea0",
+ chartreuse: "7fff00",
+ chocolate: "d2691e",
+ coral: "ff7f50",
+ cornflowerblue: "6495ed",
+ cornsilk: "fff8dc",
+ crimson: "dc143c",
+ cyan: "0ff",
+ darkblue: "00008b",
+ darkcyan: "008b8b",
+ darkgoldenrod: "b8860b",
+ darkgray: "a9a9a9",
+ darkgreen: "006400",
+ darkgrey: "a9a9a9",
+ darkkhaki: "bdb76b",
+ darkmagenta: "8b008b",
+ darkolivegreen: "556b2f",
+ darkorange: "ff8c00",
+ darkorchid: "9932cc",
+ darkred: "8b0000",
+ darksalmon: "e9967a",
+ darkseagreen: "8fbc8f",
+ darkslateblue: "483d8b",
+ darkslategray: "2f4f4f",
+ darkslategrey: "2f4f4f",
+ darkturquoise: "00ced1",
+ darkviolet: "9400d3",
+ deeppink: "ff1493",
+ deepskyblue: "00bfff",
+ dimgray: "696969",
+ dimgrey: "696969",
+ dodgerblue: "1e90ff",
+ firebrick: "b22222",
+ floralwhite: "fffaf0",
+ forestgreen: "228b22",
+ fuchsia: "f0f",
+ gainsboro: "dcdcdc",
+ ghostwhite: "f8f8ff",
+ gold: "ffd700",
+ goldenrod: "daa520",
+ gray: "808080",
+ green: "008000",
+ greenyellow: "adff2f",
+ grey: "808080",
+ honeydew: "f0fff0",
+ hotpink: "ff69b4",
+ indianred: "cd5c5c",
+ indigo: "4b0082",
+ ivory: "fffff0",
+ khaki: "f0e68c",
+ lavender: "e6e6fa",
+ lavenderblush: "fff0f5",
+ lawngreen: "7cfc00",
+ lemonchiffon: "fffacd",
+ lightblue: "add8e6",
+ lightcoral: "f08080",
+ lightcyan: "e0ffff",
+ lightgoldenrodyellow: "fafad2",
+ lightgray: "d3d3d3",
+ lightgreen: "90ee90",
+ lightgrey: "d3d3d3",
+ lightpink: "ffb6c1",
+ lightsalmon: "ffa07a",
+ lightseagreen: "20b2aa",
+ lightskyblue: "87cefa",
+ lightslategray: "789",
+ lightslategrey: "789",
+ lightsteelblue: "b0c4de",
+ lightyellow: "ffffe0",
+ lime: "0f0",
+ limegreen: "32cd32",
+ linen: "faf0e6",
+ magenta: "f0f",
+ maroon: "800000",
+ mediumaquamarine: "66cdaa",
+ mediumblue: "0000cd",
+ mediumorchid: "ba55d3",
+ mediumpurple: "9370db",
+ mediumseagreen: "3cb371",
+ mediumslateblue: "7b68ee",
+ mediumspringgreen: "00fa9a",
+ mediumturquoise: "48d1cc",
+ mediumvioletred: "c71585",
+ midnightblue: "191970",
+ mintcream: "f5fffa",
+ mistyrose: "ffe4e1",
+ moccasin: "ffe4b5",
+ navajowhite: "ffdead",
+ navy: "000080",
+ oldlace: "fdf5e6",
+ olive: "808000",
+ olivedrab: "6b8e23",
+ orange: "ffa500",
+ orangered: "ff4500",
+ orchid: "da70d6",
+ palegoldenrod: "eee8aa",
+ palegreen: "98fb98",
+ paleturquoise: "afeeee",
+ palevioletred: "db7093",
+ papayawhip: "ffefd5",
+ peachpuff: "ffdab9",
+ peru: "cd853f",
+ pink: "ffc0cb",
+ plum: "dda0dd",
+ powderblue: "b0e0e6",
+ purple: "800080",
+ rebeccapurple: "663399",
+ red: "f00",
+ rosybrown: "bc8f8f",
+ royalblue: "4169e1",
+ saddlebrown: "8b4513",
+ salmon: "fa8072",
+ sandybrown: "f4a460",
+ seagreen: "2e8b57",
+ seashell: "fff5ee",
+ sienna: "a0522d",
+ silver: "c0c0c0",
+ skyblue: "87ceeb",
+ slateblue: "6a5acd",
+ slategray: "708090",
+ slategrey: "708090",
+ snow: "fffafa",
+ springgreen: "00ff7f",
+ steelblue: "4682b4",
+ tan: "d2b48c",
+ teal: "008080",
+ thistle: "d8bfd8",
+ tomato: "ff6347",
+ turquoise: "40e0d0",
+ violet: "ee82ee",
+ wheat: "f5deb3",
+ white: "fff",
+ whitesmoke: "f5f5f5",
+ yellow: "ff0",
+ yellowgreen: "9acd32"
+ };
+
+ // Make it easy to access colors via `hexNames[hex]`
+ var hexNames = tinycolor.hexNames = flip(names);
+
+
+ // Utilities
+ // ---------
+
+ // `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`
+ function flip(o) {
+ var flipped = { };
+ for (var i in o) {
+ if (o.hasOwnProperty(i)) {
+ flipped[o[i]] = i;
+ }
+ }
+ return flipped;
+ }
+
+ // Return a valid alpha value [0,1] with all invalid values being set to 1
+ function boundAlpha(a) {
+ a = parseFloat(a);
+
+ if (isNaN(a) || a < 0 || a > 1) {
+ a = 1;
+ }
+
+ return a;
+ }
+
+ // Take input from [0, n] and return it as [0, 1]
+ function bound01(n, max) {
+ if (isOnePointZero(n)) { n = "100%"; }
+
+ var processPercent = isPercentage(n);
+ n = mathMin(max, mathMax(0, parseFloat(n)));
+
+ // Automatically convert percentage into number
+ if (processPercent) {
+ n = parseInt(n * max, 10) / 100;
+ }
+
+ // Handle floating point rounding errors
+ if ((math.abs(n - max) < 0.000001)) {
+ return 1;
+ }
+
+ // Convert into [0, 1] range if it isn't already
+ return (n % max) / parseFloat(max);
+ }
+
+ // Force a number between 0 and 1
+ function clamp01(val) {
+ return mathMin(1, mathMax(0, val));
+ }
+
+ // Parse a base-16 hex value into a base-10 integer
+ function parseIntFromHex(val) {
+ return parseInt(val, 16);
+ }
+
+ // Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1
+ //
+ function isOnePointZero(n) {
+ return typeof n == "string" && n.indexOf('.') != -1 && parseFloat(n) === 1;
+ }
+
+ // Check to see if string passed in is a percentage
+ function isPercentage(n) {
+ return typeof n === "string" && n.indexOf('%') != -1;
+ }
+
+ // Force a hex value to have 2 characters
+ function pad2(c) {
+ return c.length == 1 ? '0' + c : '' + c;
+ }
+
+ // Replace a decimal with it's percentage value
+ function convertToPercentage(n) {
+ if (n <= 1) {
+ n = (n * 100) + "%";
+ }
+
+ return n;
+ }
+
+ // Converts a decimal to a hex value
+ function convertDecimalToHex(d) {
+ return Math.round(parseFloat(d) * 255).toString(16);
+ }
+ // Converts a hex value to a decimal
+ function convertHexToDecimal(h) {
+ return (parseIntFromHex(h) / 255);
+ }
+
+ var matchers = (function() {
+
+ //
+ var CSS_INTEGER = "[-\\+]?\\d+%?";
+
+ //
+ var CSS_NUMBER = "[-\\+]?\\d*\\.\\d+%?";
+
+ // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.
+ var CSS_UNIT = "(?:" + CSS_NUMBER + ")|(?:" + CSS_INTEGER + ")";
+
+ // Actual matching.
+ // Parentheses and commas are optional, but not required.
+ // Whitespace can take the place of commas or opening paren
+ var PERMISSIVE_MATCH3 = "[\\s|\\(]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")\\s*\\)?";
+ var PERMISSIVE_MATCH4 = "[\\s|\\(]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")\\s*\\)?";
+
+ return {
+ rgb: new RegExp("rgb" + PERMISSIVE_MATCH3),
+ rgba: new RegExp("rgba" + PERMISSIVE_MATCH4),
+ hsl: new RegExp("hsl" + PERMISSIVE_MATCH3),
+ hsla: new RegExp("hsla" + PERMISSIVE_MATCH4),
+ hsv: new RegExp("hsv" + PERMISSIVE_MATCH3),
+ hsva: new RegExp("hsva" + PERMISSIVE_MATCH4),
+ hex3: /^([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,
+ hex6: /^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,
+ hex8: /^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/
+ };
+ })();
+
+ // `stringInputToObject`
+ // Permissive string parsing. Take in a number of formats, and output an object
+ // based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`
+ function stringInputToObject(color) {
+
+ color = color.replace(trimLeft,'').replace(trimRight, '').toLowerCase();
+ var named = false;
+ if (names[color]) {
+ color = names[color];
+ named = true;
+ }
+ else if (color == 'transparent') {
+ return { r: 0, g: 0, b: 0, a: 0, format: "name" };
+ }
+
+ // Try to match string input using regular expressions.
+ // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]
+ // Just return an object and let the conversion functions handle that.
+ // This way the result will be the same whether the tinycolor is initialized with string or object.
+ var match;
+ if ((match = matchers.rgb.exec(color))) {
+ return { r: match[1], g: match[2], b: match[3] };
+ }
+ if ((match = matchers.rgba.exec(color))) {
+ return { r: match[1], g: match[2], b: match[3], a: match[4] };
+ }
+ if ((match = matchers.hsl.exec(color))) {
+ return { h: match[1], s: match[2], l: match[3] };
+ }
+ if ((match = matchers.hsla.exec(color))) {
+ return { h: match[1], s: match[2], l: match[3], a: match[4] };
+ }
+ if ((match = matchers.hsv.exec(color))) {
+ return { h: match[1], s: match[2], v: match[3] };
+ }
+ if ((match = matchers.hsva.exec(color))) {
+ return { h: match[1], s: match[2], v: match[3], a: match[4] };
+ }
+ if ((match = matchers.hex8.exec(color))) {
+ return {
+ a: convertHexToDecimal(match[1]),
+ r: parseIntFromHex(match[2]),
+ g: parseIntFromHex(match[3]),
+ b: parseIntFromHex(match[4]),
+ format: named ? "name" : "hex8"
+ };
+ }
+ if ((match = matchers.hex6.exec(color))) {
+ return {
+ r: parseIntFromHex(match[1]),
+ g: parseIntFromHex(match[2]),
+ b: parseIntFromHex(match[3]),
+ format: named ? "name" : "hex"
+ };
+ }
+ if ((match = matchers.hex3.exec(color))) {
+ return {
+ r: parseIntFromHex(match[1] + '' + match[1]),
+ g: parseIntFromHex(match[2] + '' + match[2]),
+ b: parseIntFromHex(match[3] + '' + match[3]),
+ format: named ? "name" : "hex"
+ };
+ }
+
+ return false;
+ }
+
+ window.tinycolor = tinycolor;
+ })();
+
+ $(function () {
+ if ($.fn.spectrum.load) {
+ $.fn.spectrum.processNativeColorInputs();
+ }
+ });
+
+});
diff --git a/awesome_theme/static/scss/action_manager.scss b/awesome_theme/static/scss/action_manager.scss
new file mode 100644
index 000000000..17244e2ee
--- /dev/null
+++ b/awesome_theme/static/scss/action_manager.scss
@@ -0,0 +1,19 @@
+
+.o_action_manager {
+ margin-top: $header_height;
+ margin-left: $sidebar_width;
+
+ display: flex;
+ flex-direction: column;
+
+ overflow-y: auto;
+ background: #F1F2FA;
+
+ transition: margin-left 0.3s ease-in-out 0s, margin-right 0.3s ease-in-out 0s;
+}
+
+@include media-breakpoint-down(sm) {
+ .o_action_manager {
+ margin-left: 0px;
+ }
+}
diff --git a/awesome_theme/static/scss/awesome_form_view.scss b/awesome_theme/static/scss/awesome_form_view.scss
new file mode 100644
index 000000000..eaff00a87
--- /dev/null
+++ b/awesome_theme/static/scss/awesome_form_view.scss
@@ -0,0 +1,89 @@
+.o_form_view {
+
+ .o_field_widget {
+ .o_input_dropdown {
+ .o_dropdown_arrow {
+ display: none;
+ position: absolute;
+ line-height: 27px;
+ top: 0px;
+ bottom: 0px;
+ left: auto;
+ bottom: auto;
+ right: 8px;
+ color: #c0c4cc;
+ font-size: 14px;
+ cursor: pointer;
+ pointer-events: none;
+ -webkit-transition: -webkit-transform .3s;
+ transition: -webkit-transform .3s;
+ transition: transform .3s;
+ transition: transform .3s, -webkit-transform .3s;
+ -webkit-transform: rotateZ(180deg);
+ transform: rotateZ(180deg);
+
+ &.anita_reverse {
+ -webkit-transform: rotateZ(0);
+ transform: rotateZ(0)
+ }
+
+ &.dropdown_reverse {
+ -webkit-transform: rotateZ(0);
+ transform: rotateZ(0)
+ }
+ }
+
+ input:hover + .o_dropdown_arrow, input:focus + .o_dropdown_arrow {
+ display: block;
+ }
+ }
+
+ &.o_field_many2manytags {
+ overflow: hidden;
+ align-items: center;
+
+ .o_input_dropdown {
+ .o_dropdown_arrow {
+ right: 3px;
+ }
+ }
+ }
+ }
+}
+
+.o-autocomplete {
+ .o_dropdown_arrow {
+ display: none;
+ position: absolute;
+ line-height: 27px;
+ top: 0px;
+ bottom: 0px;
+ left: auto;
+ bottom: auto;
+ right: 8px;
+ color: #c0c4cc;
+ font-size: 14px;
+ cursor: pointer;
+ pointer-events: none;
+ -webkit-transition: -webkit-transform .3s;
+ transition: -webkit-transform .3s;
+ transition: transform .3s;
+ transition: transform .3s, -webkit-transform .3s;
+ -webkit-transform: rotateZ(180deg);
+ transform: rotateZ(180deg);
+
+ &.anita_reverse {
+ -webkit-transform: rotateZ(0);
+ transform: rotateZ(0)
+ }
+
+ &.dropdown_reverse {
+ -webkit-transform: rotateZ(0);
+ transform: rotateZ(0)
+ }
+ }
+
+ input:hover + .o_dropdown_arrow, input:focus + .o_dropdown_arrow {
+ display: block;
+ }
+}
diff --git a/awesome_theme/static/scss/awesome_kanban.scss b/awesome_theme/static/scss/awesome_kanban.scss
new file mode 100644
index 000000000..92cdfaa2f
--- /dev/null
+++ b/awesome_theme/static/scss/awesome_kanban.scss
@@ -0,0 +1,58 @@
+
+/* kanban */
+.o_kanban_view {
+ .o_kanban_record:focus, .o_kanban_record:focus-within, .o_kanban_quick_create:focus, .o_kanban_quick_create:focus-within {
+ -webkit-box-shadow: 1px 1px 1px 0px #6c757d;
+ -moz-box-shadow: 1px 1px 1px 0px #6c757d;
+ box-shadow: 1px 1px 1px 0px #6c757d;
+ z-index: 1;
+ outline: none;
+ }
+}
+
+.o_kanban_view {
+ .o_kanban_record {
+ background: #fff;
+ position: relative;
+ display: inline-block;
+ border: 1px #d9d9d9 solid;
+ margin: 0 15px 15px 0;
+ min-width: 150px;
+ margin: 0 0 -1px;
+
+ // @include awesome-trainsition-all(.2s);
+
+ &:hover {
+ box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
+ }
+ }
+}
+
+.o_kanban_view {
+ .oe_kanban_card, .o_kanban_record {
+ .o_dropdown_kanban .dropdown-toggle {
+ border-radius: 0px;
+ }
+ }
+
+ .o_kanban_record:focus,
+ .o_kanban_record:focus-within,
+ .o_kanban_quick_create:focus,
+ .o_kanban_quick_create:focus-within {
+ box-shadow: none;
+ -webkit-box-shadow: none;
+ }
+
+ .oe_kanban_card.oe_kanban_global_click:focus,
+ .oe_kanban_card.oe_kanban_global_click:focus-within,
+ .oe_kanban_card.oe_kanban_global_click_edit:focus,
+ .oe_kanban_card.oe_kanban_global_click_edit:focus-within,
+ .o_kanban_record.oe_kanban_global_click:focus,
+ .o_kanban_record.oe_kanban_global_click:focus-within,
+ .o_kanban_record.oe_kanban_global_click_edit:focus,
+ .o_kanban_record.oe_kanban_global_click_edit:focus-within {
+ -webkit-box-shadow: none;
+ -moz-box-shadow: none;
+ box-shadow: none;
+ }
+}
diff --git a/awesome_theme/static/scss/awesome_misc.scss b/awesome_theme/static/scss/awesome_misc.scss
new file mode 100644
index 000000000..9830c3a48
--- /dev/null
+++ b/awesome_theme/static/scss/awesome_misc.scss
@@ -0,0 +1,151 @@
+
+.o_filter_condition {
+ select:not(:first-child) {
+ margin-top: 5px;
+ }
+}
+
+.row {
+ .o_field_widget.o_readonly_modifier {
+ padding-top: calc(0.375rem + 1px);
+ padding-bottom: calc(0.375rem + 1px - 5px);
+ }
+}
+
+.o_list_selection_box {
+ margin-right: 5px;
+}
+
+.o_filter_condition {
+ select {
+ margin-top: 5px;
+ }
+}
+
+.o_add_condition {
+ i {
+ margin-right: 5px;
+ }
+}
+
+.o_favorite_menu {
+ .custom-checkbox {
+ margin-top: 5px;
+ }
+}
+
+.awesome_empty_row {
+ height: 36px;
+}
+
+.modal-header {
+ border-bottom: none !important;
+}
+
+.modal-footer {
+ border-top: none !important;
+}
+
+.anita_list_config {
+ .iconfont {
+ font-family: "iconfont" !important;
+ }
+}
+
+.o_field_binary {
+ button {
+ margin-left: 5px;
+ }
+}
+
+.o_input_dropdown {
+ .o_dropdown_button {
+ display: none !important
+ }
+}
+
+.btn-odoo {
+ color: #fff;
+ border-color: #006fe6;
+ background-color: #006fe6;
+}
+
+.btn-outline-primary {
+ background-color: transparent;
+ background-image: none;
+ border-color: #006fe6;
+ color: color-yiq(#fff);
+
+ &:hover {
+ color: #fff;
+ border-color: #006fe6;
+ background-color: #006fe6;
+ }
+}
+
+.o_cp_action_menus {
+ > div {
+ margin-right: 5px;
+ }
+}
+
+.o_field_statusbar > .o_statusbar_status > .o_arrow_button.o_arrow_button_current.disabled {
+ background-color: #006fe6;
+ color: #FFFFFF;
+}
+
+.o_control_panel .o_cp_bottom_right {
+ justify-content: flex-end;
+}
+
+.awesome_header {
+ .o_user_menu {
+ display: none !important
+ }
+}
+
+.akl_multi_tab_container {
+ border-bottom: $awesome-border;
+}
+
+.o_mobile_menu_toggle {
+ display: none !important;
+}
+
+.o-mail-Chatter-top {
+ z-index: 1;
+}
+
+// scroll bar
+::-webkit-scrollbar {
+ width: 6px;
+ height: 6px;
+}
+
+::-webkit-scrollbar-track {
+ background: #FFFFFF;
+}
+
+::-webkit-scrollbar-thumb {
+ background: #cdcdcd;
+ border-radius: 3px;
+}
+
+::-webkit-scrollbar-thumb:increment,
+::-webkit-scrollbar-thumb:decrement {
+ background: #000;
+}
+
+::-webkit-scrollbar-thumb:hover {
+ background: #555;
+}
+
+.o-mail-Discuss {
+ border-top: none !important;
+}
+
+.akl_multi_tab_container {
+ z-index: 3;
+}
+
+
diff --git a/awesome_theme/static/scss/modal.scss b/awesome_theme/static/scss/modal.scss
new file mode 100644
index 000000000..e2c73a84a
--- /dev/null
+++ b/awesome_theme/static/scss/modal.scss
@@ -0,0 +1,66 @@
+
+// // Title text within header
+// .modal-title {
+// margin-top: 0;
+// }
+
+// // Modal full width
+// .modal-full-width {
+// width: 95%;
+// max-width: none;
+// }
+
+// // Modal Positions
+// .modal-top {
+// margin: 0 auto;
+// }
+
+// // Right Modal
+// .modal-right {
+// position: absolute;
+// right: 0;
+// display: flex;
+// flex-flow: column nowrap;
+// justify-content: center;
+// height: 100%;
+// margin: 0;
+// background-color: $modal-content-bg;
+// align-content: center;
+// transform: translate(25%,0) !important;
+
+// button.btn-close {
+// position: fixed;
+// top: 20px;
+// right: 20px;
+// z-index: 1;
+// }
+// }
+
+// .modal {
+// &.show {
+// .modal-right, .modal-left {
+// transform: translate(0,0) !important;
+// }
+// }
+// }
+
+// // Bottom modal
+// .modal-bottom {
+// display: flex;
+// flex-flow: column nowrap;
+// -ms-flex-pack: end;
+// justify-content: flex-end;
+// height: 100%;
+// margin: 0 auto;
+// align-content: center;
+// }
+
+// // Colored modal header
+// .modal-colored-header {
+// color: $white;
+// border-radius: 0;
+
+// .btn-close {
+// color: $white !important;
+// }
+// }
\ No newline at end of file
diff --git a/awesome_theme/static/scss/variables/variables.scss b/awesome_theme/static/scss/variables/variables.scss
new file mode 100644
index 000000000..c08f87941
--- /dev/null
+++ b/awesome_theme/static/scss/variables/variables.scss
@@ -0,0 +1,19 @@
+
+// theme vars
+$sidebar_width: 265px;
+$sidebar_sm_width: 64px;
+$header_height: 60px;
+
+// Home menu
+$o-home-menu-container-size: 850px;
+$o-home-menu-app-icon-max-width: 70px;
+
+// awesome
+$sidebar_toggle_one_width: 64px;
+$sidebar_toggle_two_width: 265px;
+
+$o-font-size-base-touch: 12px;
+$custom-file-height: 30px;
+$custom-file-width: 200px;
+
+$awesome-border: 1px solid #dcdfe6;
\ No newline at end of file
diff --git a/awesome_theme/static/src/components/accordion/awesome_accordion.js b/awesome_theme/static/src/components/accordion/awesome_accordion.js
new file mode 100644
index 000000000..8eca6c984
--- /dev/null
+++ b/awesome_theme/static/src/components/accordion/awesome_accordion.js
@@ -0,0 +1,30 @@
+/** @odoo-module **/
+
+import { Component, useState } from "@odoo/owl";
+
+export class AwesomeAccordion extends Component {
+
+ setup() {
+ this.state = useState({
+ 'collapse': true
+ })
+ }
+
+ toggleDisplay() {
+ this.state.collapse = !this.state.collapse;
+ }
+}
+
+AwesomeAccordion.props = {
+ title: {
+ type: String
+ },
+ slots: {
+ type: Object,
+ optional: true,
+ },
+};
+
+AwesomeAccordion.template = "awesome_theme.accordion";
+AwesomeAccordion.components = {};
+
diff --git a/awesome_theme/static/src/components/accordion/awesome_accordion.scss b/awesome_theme/static/src/components/accordion/awesome_accordion.scss
new file mode 100644
index 000000000..ee22447e7
--- /dev/null
+++ b/awesome_theme/static/src/components/accordion/awesome_accordion.scss
@@ -0,0 +1,56 @@
+.awesome_accordion {
+
+ display: flex;
+ flex-direction: column;
+
+ .accordion_button {
+ position: relative;
+ display: flex;
+ align-items: center;
+ width: 100%;
+ padding: .75rem 1.25rem;
+ font-size: 1rem;
+ color: #212529;
+ text-align: left;
+ background-color: #fff;
+ border: 0;
+ border-radius: 0;
+ overflow-anchor: none;
+ transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease;
+
+ &::after {
+ flex-shrink: 0;
+ width: .75rem;
+ height: .75rem;
+ margin-left: auto;
+ content: "";
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
+ background-repeat: no-repeat;
+ background-size: .75rem;
+ transition: transform .2s ease-in-out;
+ }
+
+ &:focus {
+ outline: 1px dotted;
+ }
+ }
+
+ &.collapsed {
+ .accordion-body {
+ display: none !important;
+ }
+ }
+
+ &:not(.collapsed) {
+ .accordion_button {
+ color: #0c63e4;
+ background-color: #e7f1ff;
+ box-shadow: inset 0 -1px 0 #00000020;
+ &::after {
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
+ transform: rotate(-180deg);
+ }
+ }
+ }
+}
+
diff --git a/awesome_theme/static/src/components/accordion/awesome_accordion.xml b/awesome_theme/static/src/components/accordion/awesome_accordion.xml
new file mode 100644
index 000000000..8e17c0712
--- /dev/null
+++ b/awesome_theme/static/src/components/accordion/awesome_accordion.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/awesome_theme/static/src/components/action_menu/action_menu.js b/awesome_theme/static/src/components/action_menu/action_menu.js
new file mode 100644
index 000000000..72ccf9665
--- /dev/null
+++ b/awesome_theme/static/src/components/action_menu/action_menu.js
@@ -0,0 +1,27 @@
+/** @odoo-module alias="awesome_theme.ActionMenus" **/
+
+const ActionMenu = require('web.ActionMenus')
+// var config = require('web.config')
+
+const { hooks} = owl;
+const { useState } = hooks;
+const { patch } = require("web.utils");
+
+
+patch(ActionMenu.prototype, {
+ setup() {
+ super.setup(...arguments);
+
+ this.state = useState({
+ "isMobile": config.device.isMobile,
+ })
+
+ // config.device.bus.on('size_changed', this, () => {
+ // if (config.device.isMobile) {
+ // this.state.isMobile = true;
+ // } else {
+ // this.state.isMobile = false;
+ // }
+ // });
+ }
+})
\ No newline at end of file
diff --git a/awesome_theme/static/src/components/action_menu/action_menu.xml b/awesome_theme/static/src/components/action_menu/action_menu.xml
new file mode 100644
index 000000000..1420733e4
--- /dev/null
+++ b/awesome_theme/static/src/components/action_menu/action_menu.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
diff --git a/awesome_theme/static/src/components/app_center/app_center.js b/awesome_theme/static/src/components/app_center/app_center.js
new file mode 100644
index 000000000..24ffc2dc4
--- /dev/null
+++ b/awesome_theme/static/src/components/app_center/app_center.js
@@ -0,0 +1,582 @@
+/** @odoo-module alias=awesome_theme.appp_center **/
+
+import { useService } from "@web/core/utils/hooks";
+import { isIosApp } from "@web/core/browser/feature_detection";
+import { fuzzyLookup } from "@web/core/utils/search";
+import { computeAppsAndMenuItems } from "@web/webclient/menus/menu_helpers";
+
+import { Component, useState, useEffect, useRef, useExternalListener } from "@odoo/owl";
+
+
+export class AppCenter extends Component {
+
+ setup() {
+ super.setup();
+
+ this.menus = useService("menu");
+ this.ui = useService("ui");
+ this.action = useService("action");
+ this.orm = useService("orm");
+
+ this.inputRef = useRef("input");
+ this.rootRef = useRef("root");
+ this.appsRef = useRef("apps");
+ this.favoriteRef = useRef("favorites");
+
+ this.icon_policy = this.props.settings.icon_policy;
+
+ let { apps, menuItems } = computeAppsAndMenuItems(this.menus.getMenuAsTree("root"));
+ this.apps = apps;
+ this.menuItems = menuItems;
+
+ // rewrite the top code
+ let favorite_apps = [];
+ for (var index = 0; index < apps.length; index++) {
+ let app = apps[index];
+ if (app.is_favorite) {
+ favorite_apps.push(app);
+ }
+ }
+
+ this.state = useState({
+ visible: false,
+ focusedIndex: null,
+ isSearching: false,
+ query: "",
+ isIosApp: isIosApp(),
+ availableApps: apps,
+ displayedMenuItems: [],
+ show_footer: false,
+ indicators: [],
+ favorite_apps: favorite_apps,
+ show_favorite_apps: true,
+ });
+
+ this.props.bus.addEventListener('toggle', () => {
+ this.state.visible = !this.state.visible;
+ })
+
+ if (!this.env.isSmall) {
+ useExternalListener(window, "keydown", this._onKeydown);
+ }
+
+ // bind the composit
+ this.isComposing = false;
+ useEffect(() => {
+ this.inputRef.el.addEventListener('compositionstart', () => {
+ this.isComposing = true;
+ });
+ this.inputRef.el.addEventListener('compositionend', () => {
+ this.isComposing = false;
+ // update query
+ let text = this.inputRef.el.value
+ this._updateQuery(text)
+ });
+ }, () => []);
+
+ // init drag and drop
+ // if (this.props.settings.favorite_mode) {
+ // useEffect(() => {
+ // this._initDragDrop();
+ // }, () => [this.rootRef.el]);
+ // }
+
+ this.onResize = this._onResize.bind(this);
+
+ // init resize listener
+ // useEffect(() => {
+ // addResizeListener(this.appsRef.el, this.onResize);
+ // return () => {
+ // removeResizeListener(this.appsRef.el, this.onResize);
+ // };
+ // }, () => [this.appsRef.el]);
+
+ // if click outside the panel close it
+ useExternalListener(window, 'click', (event) => {
+
+ var $target = $(event.target);
+ if ($target.parents('.board_toggler').length > 0) {
+ return
+ }
+
+ if (this.rootRef.el.contains(event.target)) {
+ // ignore clicks inside the dropdown
+ return;
+ }
+
+ this.hide()
+ });
+ }
+
+ /**
+ * get indicators
+ */
+ _onResize() {
+ this._getIndicators();
+ }
+
+ _initDragDrop() {
+
+ var appBoard = this.rootRef.el.querySelector('.o_apps')
+ var sidebar = document.querySelector('.sidebar_menu .app_items')
+
+ dragula([appBoard, sidebar], {
+
+ copy: (el, source) => {
+ if (!this.state.visible) {
+ return false;
+ }
+ return source == appBoard
+ },
+
+ accepts: (el, target) => {
+ if (!this.state.visible) {
+ return false;
+ }
+ return target == sidebar
+ },
+
+ moves: (el, source, handle, sibling) => {
+
+ if (!this.state.visible) {
+ return false;
+ }
+
+ if (source == sidebar || source == appBoard) {
+ if (el.classList.contains('o_app') || el.classList.contains('app_item')) {
+ return true
+ } else {
+ return false
+ }
+ }
+
+ return false;
+ },
+
+ removeOnSpill: () => {
+ return false
+ }
+ }).on('cloned', (clone, original, type) => {
+ // remove class o_app_icon
+ let img = clone.querySelector('img')
+ img.classList.remove('o_app_icon')
+ img.classList.add('o_app_icon')
+ clone.classList.add('app_item')
+ }).on('drop', (el, target, source, sibling) => {
+ // add favorite app
+ if (source == appBoard && target == sidebar) {
+ let index = $(el).index()
+ let app_id = el.getAttribute('app-id')
+ el.remove()
+ this.env.bus.trigger('add-favorite-app', {
+ app_id, index
+ });
+ } else if (target == sidebar && source == sidebar) {
+ // reset sequence
+ this.env.bus.trigger('resequence-favorite-apps')
+ }
+ }).on('remove', (el, container, source) => {
+ if (source == sidebar) {
+ let app_id = el.getAttribute('app-id')
+ this.env.bus.trigger('remove-favorite-app', app_id)
+ }
+ });
+ }
+
+ _getAppById(app_id) {
+ let app = undefined
+ for (var index = 0; index < this.apps.length; index++) {
+ let item = this.apps[index]
+ if (item.id == app_id) {
+ app = item
+ break
+ }
+ }
+ return app
+ }
+
+ _onAddFavoriteApp(app_id) {
+ this.orm.call('ir.module.module', 'toggle_favorite', [app_id]).then((result) => {
+ if (result) {
+ let app = this.apps.find((app) => app.id == app_id);
+ app.is_favorite = true;
+ this.state.favorite_apps.push(app);
+ }
+ })
+ }
+
+ show() {
+ this.state.visible = true;
+ }
+
+ hide() {
+ this.state.visible = false;
+ }
+
+ toggle() {
+ this.state.visible = !this.state.visible;
+ }
+
+ async willUpdateProps() {
+ // State is reset on each remount
+ this.state.focusedIndex = null;
+ this.state.isSearching = false;
+ this.state.query = "";
+ this.inputRef.el.value = "";
+ }
+
+ patched() {
+ if (this.state.focusedIndex !== null && !this.env.isSmall) {
+ const selectedItem = document.querySelector(".awesome_app_board .o_menuitem.o_focused");
+ if (selectedItem) {
+ selectedItem.scrollIntoView({ block: "center" });
+ selectedItem.focus();
+ }
+ }
+ }
+
+ get appIndex() {
+ const appLength = this.displayedApps.length;
+ const focusedIndex = this.state.focusedIndex;
+ return focusedIndex < appLength ? focusedIndex : null;
+ }
+
+ get displayedApps() {
+ return this.state.availableApps;
+ }
+
+ _getIndicators() {
+
+ let app_container = this.rootRef.el.querySelector('.o_apps')
+ let app_items = app_container.querySelectorAll('.o_app > .scroller > .o_app')
+
+ if (app_items.length < 1) {
+ return
+ }
+ let container_rect = app_container.getBoundingClientRect()
+
+ // get item per row
+ let item_per_row = 0;
+ let first_item_top = app_items[0].getBoundingClientRect().top
+ for (var index = 0; index < app_items.length; index++) {
+ let item = app_items[index]
+ let item_rect = item.getBoundingClientRect()
+ if (item_rect.top == first_item_top) {
+ item_per_row += 1
+ } else {
+ break;
+ }
+ }
+
+ // find the first app item which is not visible, and get the index
+ let first_index = 0
+ for (var index = 0; index < app_items.length; index++) {
+ let rect = app_items[index].getBoundingClientRect()
+ if (rect.bottom > container_rect.bottom) {
+ first_index = index
+ break
+ }
+ }
+ let indicator_num = Math.ceil(app_items.length / this.maxIconNumber)
+ let indicators = []
+ for (var index = 0; index < indicator_num; index++) {
+ let item_index = index * this.item_per_row
+ let item = app_items[item_index]
+ let indicator = {
+ 'index': index,
+ 'item_index': index * item_per_row,
+ 'top': item.getBoundingClientRect().top
+ }
+ indicators.push(indicator)
+ }
+
+ this.state.indicators = indicators
+ }
+
+ get menuIndex() {
+ const appLength = this.displayedApps.length;
+ const focusedIndex = this.state.focusedIndex;
+ return focusedIndex >= appLength ? focusedIndex - appLength : null;
+ }
+
+ _filter(array) {
+ return fuzzyLookup(this.state.query, array, (el) =>
+ (el.parents + " / " + el.label).split("/").reverse().join("/")
+ );
+ }
+
+ _openMenu(menu) {
+ return this.menus.selectMenu(menu);
+ }
+
+ _updateFocusedIndex(cmd) {
+
+ if (!this.state.visible) {
+ return
+ }
+
+ const nbrApps = this.displayedApps.length;
+ const nbrMenuItems = this.state.displayedMenuItems.length;
+ const lastIndex = nbrApps + nbrMenuItems - 1;
+ let oldIndex = this.state.focusedIndex;
+ if (lastIndex < 0) {
+ return;
+ }
+ if (!this.state.isSearching) {
+ if (document.activeElement.classList.contains("o_menuitem")) {
+ oldIndex = [...this.el.getElementsByClassName("o_menuitem")].indexOf(
+ document.activeElement
+ );
+ } else {
+ this.el.getElementsByClassName("o_menuitem")[0].focus();
+ return;
+ }
+ }
+ const appIndex = this.state.isSearching ? this.appIndex : oldIn2dex;
+ const lastAppIndex = nbrApps - 1;
+ const appFocused = appIndex !== null;
+ const lineNumber = Math.ceil(nbrApps / this.maxIconNumber);
+ const currentLine = appFocused ? Math.ceil((appIndex + 1) / this.maxIconNumber) : null;
+ let newIndex;
+ switch (cmd) {
+ case "previousElem":
+ newIndex = oldIndex - 1;
+ break;
+ case "nextElem":
+ newIndex = oldIndex + 1;
+ break;
+ case "previousColumn":
+ if (!appFocused) {
+ newIndex = oldIndex;
+ } else if (oldIndex % this.maxIconNumber) {
+ // app is not the first one on its line
+ newIndex = oldIndex - 1;
+ } else {
+ newIndex = oldIndex + Math.min(lastAppIndex - oldIndex, this.maxIconNumber - 1);
+ }
+ break;
+ case "nextColumn":
+ if (!appFocused) {
+ newIndex = oldIndex;
+ } else if (oldIndex === lastAppIndex || (oldIndex + 1) % this.maxIconNumber === 0) {
+ // app is the last one on its line
+ newIndex = (currentLine - 1) * this.maxIconNumber;
+ } else {
+ newIndex = oldIndex + 1;
+ }
+ break;
+ case "previousLine":
+ if (!appFocused) {
+ if (oldIndex > lastAppIndex + 1) {
+ // there is a menu item 'above' -> select it
+ newIndex = oldIndex - 1;
+ } else {
+ // select first app of last line
+ newIndex = (lineNumber - 1) * this.maxIconNumber;
+ }
+ } else if (currentLine === 1) {
+ // app is in first line
+ if (nbrMenuItems > 0) {
+ // there is at least a menu item -> select the last one
+ newIndex = lastIndex;
+ } else {
+ // no menu item -> select the app in the closest column on last line
+ newIndex = oldIndex + (lineNumber - 1) * this.maxIconNumber;
+ if (newIndex > lastAppIndex) {
+ newIndex = lastAppIndex;
+ }
+ }
+ } else {
+ // we go to the previous line on same column
+ newIndex = oldIndex - this.maxIconNumber;
+ }
+ break;
+ case "nextLine":
+ if (!appFocused) {
+ newIndex = oldIndex + 1;
+ } else if (currentLine === lineNumber) {
+ // app is in last line
+ if (nbrMenuItems > 0) {
+ // there is at least a menu item -> select the first one
+ newIndex = lastAppIndex + 1;
+ } else {
+ // no menu item -> select the app in the same column on first line
+ newIndex = oldIndex % this.maxIconNumber;
+ }
+ } else {
+ // we go to the next line on the closest column
+ newIndex = oldIndex + Math.min(this.maxIconNumber, lastAppIndex - oldIndex);
+ }
+ break;
+ }
+
+ // if newIndex is out of bounds -> normalize it
+ if (newIndex < 0) {
+ newIndex = lastIndex;
+ } else if (newIndex > lastIndex) {
+ newIndex = 0;
+ }
+
+ if (this.state.isSearching) {
+ this.state.focusedIndex = newIndex;
+ } else {
+ const item = this.el.getElementsByClassName("o_menuitem")[newIndex];
+ item.focus();
+ }
+ }
+
+ _updateQuery(query) {
+
+ if (this.isComposing) {
+ return
+ }
+
+ // Update input and search state
+ this.state.query = query;
+ this.inputRef.el.value = this.state.query;
+ this.state.isSearching = true;
+
+ // Keep elements matching search query
+ if (query === "") {
+ this.state.availableApps = this.apps;
+ this.state.displayedMenuItems = [];
+ } else {
+ this.state.availableApps = this._filter(this.apps);
+ this.state.displayedMenuItems = this._filter(this.menuItems);
+ }
+ const total = this.displayedApps.length + this.state.displayedMenuItems.length;
+ this.state.focusedIndex = total ? 0 : null;
+ }
+
+ /**
+ * scroll to the first element
+ */
+ _onIndicatorClick(indicator) {
+ let appContainer = this.el.querySelector(".o_app_container .scroller");
+ appContainer.scrollTop = indicator.position;
+ }
+
+ /**
+ * toggler click
+ */
+ _onFooterTogglerClick() {
+ this.state.show_favorite_apps = !this.state.show_favorite_apps;
+ }
+
+ _onAppClick(app) {
+ this._openMenu(app);
+ this.hide();
+ }
+
+ _onInputSearch(ev) {
+ this._updateQuery(ev.target.value);
+ }
+
+ _onKeydown(ev) {
+
+ const isEditable =
+ ev.target.tagName === "INPUT" ||
+ ev.target.tagName === "TEXTAREA" ||
+ ev.target.isContentEditable;
+
+ const input = this.inputRef.el;
+ if (isEditable && ev.target !== input) {
+ return;
+ }
+
+ if (this.ui.activeElement !== document) {
+ return;
+ }
+
+ switch (ev.key) {
+ case "ArrowDown":
+ this._updateFocusedIndex("nextLine");
+ ev.preventDefault();
+ break;
+ case "ArrowRight":
+ if (
+ input === document.activeElement &&
+ input.selectionEnd < this.state.query.length
+ ) {
+ return;
+ }
+ this._updateFocusedIndex("nextColumn");
+ ev.preventDefault();
+ break;
+ case "ArrowUp":
+ this._updateFocusedIndex("previousLine");
+ ev.preventDefault();
+ break;
+ case "ArrowLeft":
+ if (input === document.activeElement && input.selectionStart > 0) {
+ return;
+ }
+ this._updateFocusedIndex("previousColumn");
+ ev.preventDefault();
+ break;
+ case "Tab":
+ if (!this.state.isSearching) {
+ return;
+ }
+ ev.preventDefault();
+ this._updateFocusedIndex(ev.shiftKey ? "previousElem" : "nextElem");
+ break;
+ case "Enter":
+ if (this.state.focusedIndex !== null) {
+ const isApp = this.appIndex !== null;
+ const menu = isApp
+ ? this.displayedApps[this.appIndex]
+ : this.state.displayedMenuItems[this.menuIndex];
+ this._openMenu(menu);
+ this.hide();
+ ev.preventDefault();
+ }
+ return;
+ case "Alt":
+ case "AltGraph":
+ case "Control":
+ case "Meta":
+ case "PageDown":
+ case "PageUp":
+ case "Shift":
+ break;
+
+ case "Escape": {
+ const currentQuery = this.state.query;
+ if (currentQuery) {
+ this._updateQuery("");
+ } else {
+ this.hide();
+ }
+ break;
+ }
+
+ case "c":
+ case "x":
+ if (ev.ctrlKey || ev.metaKey) {
+ break;
+ }
+
+ default:
+ if (document.activeElement !== input) {
+ input.focus();
+ }
+ }
+ }
+
+ _onMenuitemClick(menu) {
+ this._openMenu(menu);
+ }
+};
+
+AppCenter.components = {};
+AppCenter.props = {
+ bus: {
+ type: Object
+ },
+ settings: {
+ type: Object
+ },
+};
+
+AppCenter.template = "awesome_theme.app_center";
diff --git a/awesome_theme/static/src/components/app_center/app_center.scss b/awesome_theme/static/src/components/app_center/app_center.scss
new file mode 100644
index 000000000..207502aa4
--- /dev/null
+++ b/awesome_theme/static/src/components/app_center/app_center.scss
@@ -0,0 +1,232 @@
+.app_center {
+
+ font-size: $o-font-size-base-touch;
+ -webkit-overflow-scrolling: touch;
+ z-index: $zindex-modal - 1;
+
+ position: fixed;
+ right: 0px;
+ top: 0px;
+ right: 0px;
+ bottom: 0px;
+ left: 63px;
+ z-index: 999;
+ display: flex;
+ flex-flow: column nowrap;
+ align-items: center;
+ flex: 1 0 auto;
+ width: calc(100% - 65px);
+
+ background: radial-gradient(#dee2e6, #fff);
+ padding: 15px;
+
+ .o_menu_search {
+
+ align-items: center;
+ border-radius: 4px;
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(black, 0.1);
+ display: flex;
+ flex: 0 0 auto;
+ margin: 0 auto;
+ max-width: $o-home-menu-container-size;
+ padding: 10px 15px;
+ text-shadow: 0 1px 0 rgba(black, 0.5);
+ width: 100%;
+
+ @include media-breakpoint-up(md) {
+ margin: 22px auto;
+ }
+
+ .o_menu_search_icon {
+ flex: 0 0 auto;
+ font-size: 20px;
+ margin-right: 15px;
+ }
+
+ .o_menu_search_input {
+
+ background-color: rgba(0, 0, 0, 0);
+ border: none;
+ flex: 1 1 auto;
+ text-shadow: inherit;
+
+ &:focus {
+ outline: none;
+ }
+
+ @mixin o-placeholder {
+ opacity: 0.5;
+ }
+
+ &::-webkit-input-placeholder {
+ @include o-placeholder;
+ }
+
+ &::-moz-placeholder {
+ @include o-placeholder;
+ }
+ }
+ }
+
+ .container {
+
+ position: relative;
+ max-width: $o-home-menu-container-size;
+
+ .scroller {
+ display: flex;
+ flex-flow: column nowrap;
+ overflow: auto;
+ margin-right: -16px;
+ padding-right: 16px;
+ width: 100%;
+ margin-bottom: 80px;
+
+ .o_apps {
+
+ display: flex;
+ flex: 0 0 auto;
+ flex-flow: row wrap;
+
+ width: 100%;
+ }
+
+ .o_menuitems {
+
+ flex: 1 0 auto;
+ max-width: $o-home-menu-container-size;
+ width: 100%;
+
+ .o_menuitem {
+ margin-bottom: 3px;
+ padding: 2px;
+ width: 100%;
+
+ @include media-breakpoint-down(sm) {
+ padding: 6px;
+ }
+
+ &:focus,
+ &.o_focused {
+ background-color: rgba(#888a9f, 0.5);
+ border-radius: 4px;
+ }
+ }
+ }
+
+ .o_no_results {
+ flex: 1 0 auto;
+ margin-top: 10px;
+ }
+ }
+ }
+
+ .o_app {
+
+ background: transparent;
+ border: 1px solid transparent;
+ border-radius: 3%;
+ outline: none;
+ text-decoration: none;
+ transition: all 0.3s ease 0s;
+
+ padding: 10px 0;
+ text-align: center;
+ width: percentage(1/3);
+
+ @include media-breakpoint-up(sm) {
+ width: percentage(1/4);
+ }
+
+ @include media-breakpoint-up(md) {
+ width: percentage(1/6);
+ }
+
+ .o_app_icon {
+
+ background: {
+ repeat: no-repeat;
+ position: center;
+ size: cover;
+ }
+
+ margin: auto;
+ max-width: $o-home-menu-app-icon-max-width;
+ overflow: hidden;
+ position: relative;
+ width: 80%;
+
+ &:before {
+ content: "";
+ display: block;
+ padding-top: 100%;
+ }
+ }
+
+ .o_caption {
+ margin: 4px 0;
+ text-overflow: ellipsis;
+ }
+
+ &.o_menuitem {
+ margin-left: 0;
+ }
+
+ &:focus,
+ &.o_focused,
+ &:hover {
+ .o_app_icon {
+ box-shadow: 0 8px 15px -10px black;
+ transform: translateY(-1px);
+ }
+ }
+ }
+
+ .o_menuitems {
+ margin-bottom: 40px;
+
+ .o_menuitem {
+ outline: none;
+ text-shadow: 0 1px 0 rgba(#000, .3);
+ @include o-text-overflow;
+
+ @include media-breakpoint-up(md) {
+ font-size: 20px;
+ }
+
+ .o_menuitem_parents {
+ font-weight: $font-weight-light;
+ }
+
+ &:hover,
+ &:focus,
+ &.o_focused {
+ .o_menuitem_parents {
+ color: #000;
+ }
+ }
+
+ &:focus,
+ &.o_focused {
+ background-color: rgba(white, 0.05);
+ }
+ }
+ }
+
+ .o_no_result {
+ color: $o-brand-lightsecondary;
+ font-size: 22px;
+ }
+
+ &.o_search_hidden .o_menu_search {
+ margin: 0;
+ max-height: 0;
+ opacity: 0;
+ padding: 0;
+ user-select: none;
+
+ >.o_menu_search_input {
+ cursor: default;
+ }
+ }
+}
\ No newline at end of file
diff --git a/awesome_theme/static/src/components/app_center/app_center.xml b/awesome_theme/static/src/components/app_center/app_center.xml
new file mode 100644
index 000000000..bbea71c77
--- /dev/null
+++ b/awesome_theme/static/src/components/app_center/app_center.xml
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
diff --git a/awesome_theme/static/src/components/app_center/app_center_service.js b/awesome_theme/static/src/components/app_center/app_center_service.js
new file mode 100644
index 000000000..82d6dbfdc
--- /dev/null
+++ b/awesome_theme/static/src/components/app_center/app_center_service.js
@@ -0,0 +1,34 @@
+/** @odoo-module **/
+
+import { registry } from "@web/core/registry";
+import { AppCenter } from "./app_center";
+
+import { EventBus } from "@odoo/owl";
+
+import theme_setting from "anita_theme_setting.theme_setting";
+const settings = theme_setting.settings
+
+export const AppCenterService = {
+
+ dependencies: ["menu"],
+
+ start() {
+ const bus = new EventBus();
+
+ registry.category("main_components").add("app_center", {
+ Component: AppCenter,
+ props: {
+ bus: bus,
+ settings: settings,
+ },
+ });
+
+ return {
+ toggle: () => {
+ bus.trigger("toggle");
+ }
+ }
+ }
+};
+
+registry.category("services").add("app_center", AppCenterService);
diff --git a/awesome_theme/static/src/components/auto_complete/auto_complete.scss b/awesome_theme/static/src/components/auto_complete/auto_complete.scss
new file mode 100644
index 000000000..0e4dc9bd3
--- /dev/null
+++ b/awesome_theme/static/src/components/auto_complete/auto_complete.scss
@@ -0,0 +1,38 @@
+.dropdown_arrow {
+ position: absolute;
+ line-height: 34px;
+
+ top: 0px !important;
+ bottom: 0px !important;
+ left: auto !important;
+ bottom: auto !important;
+ right: 8px !important;
+
+ color: #c0c4cc;
+ font-size: 14px;
+ cursor: pointer;
+
+ pointer-events: none;
+
+ -webkit-transition: -webkit-transform .3s;
+ transition: -webkit-transform .3s;
+ transition: transform .3s;
+ transition: transform .3s, -webkit-transform .3s;
+
+ &:after {
+ display: inline-block;
+ font: normal normal normal 14px/1 Fontloss;
+ font-size: inherit;
+ text-rendering: auto;
+ -webkit-font-smoothing: antialiased;
+ content: "\f107" !important;
+ border: none !important;
+ width: auto !important;
+ height: auto !important;
+ }
+
+ &.dropdown_reverse {
+ -webkit-transform: rotateZ(180deg);
+ transform: rotateZ(180deg);
+ }
+}
diff --git a/awesome_theme/static/src/components/auto_complete/auto_complete.xml b/awesome_theme/static/src/components/auto_complete/auto_complete.xml
new file mode 100644
index 000000000..67299e997
--- /dev/null
+++ b/awesome_theme/static/src/components/auto_complete/auto_complete.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/awesome_theme/static/src/components/autocomplete/autocomplete.scss b/awesome_theme/static/src/components/autocomplete/autocomplete.scss
new file mode 100644
index 000000000..0e4dc9bd3
--- /dev/null
+++ b/awesome_theme/static/src/components/autocomplete/autocomplete.scss
@@ -0,0 +1,38 @@
+.dropdown_arrow {
+ position: absolute;
+ line-height: 34px;
+
+ top: 0px !important;
+ bottom: 0px !important;
+ left: auto !important;
+ bottom: auto !important;
+ right: 8px !important;
+
+ color: #c0c4cc;
+ font-size: 14px;
+ cursor: pointer;
+
+ pointer-events: none;
+
+ -webkit-transition: -webkit-transform .3s;
+ transition: -webkit-transform .3s;
+ transition: transform .3s;
+ transition: transform .3s, -webkit-transform .3s;
+
+ &:after {
+ display: inline-block;
+ font: normal normal normal 14px/1 Fontloss;
+ font-size: inherit;
+ text-rendering: auto;
+ -webkit-font-smoothing: antialiased;
+ content: "\f107" !important;
+ border: none !important;
+ width: auto !important;
+ height: auto !important;
+ }
+
+ &.dropdown_reverse {
+ -webkit-transform: rotateZ(180deg);
+ transform: rotateZ(180deg);
+ }
+}
diff --git a/awesome_theme/static/src/components/autocomplete/autocomplete.xml b/awesome_theme/static/src/components/autocomplete/autocomplete.xml
new file mode 100644
index 000000000..baf1fe6f2
--- /dev/null
+++ b/awesome_theme/static/src/components/autocomplete/autocomplete.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/awesome_theme/static/src/components/awesome_nav_bar/awesome_nav_bar.js b/awesome_theme/static/src/components/awesome_nav_bar/awesome_nav_bar.js
new file mode 100644
index 000000000..c8b7bd2b5
--- /dev/null
+++ b/awesome_theme/static/src/components/awesome_nav_bar/awesome_nav_bar.js
@@ -0,0 +1,11 @@
+/** @odoo-module alias=awesome_theme.header **/
+
+import { NavBar } from "@web/webclient/navbar/navbar";
+
+
+export class AwesomeNavBar extends NavBar {}
+
+AwesomeNavBar.template = "awesome_theme.awesome_nav_bar";
+AwesomeNavBar.components = {
+ ...NavBar.components,
+};
diff --git a/awesome_theme/static/src/components/awesome_nav_bar/awesome_nav_bar.xml b/awesome_theme/static/src/components/awesome_nav_bar/awesome_nav_bar.xml
new file mode 100644
index 000000000..419854e87
--- /dev/null
+++ b/awesome_theme/static/src/components/awesome_nav_bar/awesome_nav_bar.xml
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/awesome_theme/static/src/components/awesome_nav_bar/nav_bar.xml b/awesome_theme/static/src/components/awesome_nav_bar/nav_bar.xml
new file mode 100644
index 000000000..e69de29bb
diff --git a/awesome_theme/static/src/components/control_panel/awesome_control_panel.js b/awesome_theme/static/src/components/control_panel/awesome_control_panel.js
new file mode 100644
index 000000000..9cc63ce18
--- /dev/null
+++ b/awesome_theme/static/src/components/control_panel/awesome_control_panel.js
@@ -0,0 +1,90 @@
+/** @odoo-module **/
+
+import { patch } from "@web/core/utils/patch";
+
+import {
+ AwesomeComparisonMenu,
+ AwesomeFavoriteMenu,
+ AwesomeFilterMenu,
+ AwesomeGroupByMenu,
+} from "../search_options/awesome_search_option";
+
+import theme_setting from "anita_theme_setting.theme_setting";
+
+import config from "web.config";
+
+import { ControlPanel } from "@web/search/control_panel/control_panel";
+
+const ADMIN_MAPPING = {
+ filter: AwesomeFilterMenu,
+ groupBy: AwesomeGroupByMenu,
+ comparison: AwesomeComparisonMenu,
+ favorite: AwesomeFavoriteMenu,
+};
+
+patch(ControlPanel.prototype, "awesome_theme_control_panel", {
+
+ setup() {
+ this._super.apply(this, arguments);
+
+ // add new key to the state
+ if (config.device.isMobile) {
+ this.state.isMobile = true;
+ } else {
+ this.state.isMobile = false;
+ }
+
+ // set the control panel mode
+ // this.state.control_panel_mode = settings.control_panel_mode;
+ this.state.control_panel_mode = 'mode1'
+
+ // get the active option key
+ // let searchMenu = _.first(this.searchMenus)
+ // let active_option_key = searchMenu? searchMenu[0].key : null
+ // this.state.active_option_key = active_option_key;
+ this.state.active_index = 0;
+
+ // listen to the setting change
+ this.env.bus.addEventListener("setting_change", this._on_setting_change.bind(this));
+
+ config.device.bus.on('size_changed', this, () => {
+ if (config.device.isMobile) {
+ this.state.isMobile = true;
+ } else {
+ this.state.isMobile = false;
+ }
+ });
+ },
+
+ _on_setting_change(setting) {
+ this.state.control_panel_mode = setting.control_panel_mode;
+ },
+
+ /**
+ * @returns {Component[]}
+ */
+ get searchMenus() {
+ const searchMenus = [];
+ for (const key of this.env.searchModel.searchMenuTypes) {
+ // look in display instead?
+ if (
+ key === "comparison" &&
+ this.env.searchModel.getSearchItems((i) => i.type === "comparison").length === 0
+ ) {
+ continue;
+ }
+ searchMenus.push({ Component: ADMIN_MAPPING[key], key });
+ }
+ return searchMenus;
+ }
+});
+
+ControlPanel.components = {
+ ...ControlPanel.components,
+ AwesomeComparisonMenu,
+ AwesomeFavoriteMenu,
+ AwesomeFilterMenu,
+ AwesomeGroupByMenu,
+}
+
+ControlPanel.template = "awesome_theme.control_panel";
diff --git a/awesome_theme/static/src/components/control_panel/awesome_control_panel.scss b/awesome_theme/static/src/components/control_panel/awesome_control_panel.scss
new file mode 100644
index 000000000..cc43b40ae
--- /dev/null
+++ b/awesome_theme/static/src/components/control_panel/awesome_control_panel.scss
@@ -0,0 +1,213 @@
+.x_searchview {
+
+ padding-left: 26px;
+ padding: 3px 10px 6px 10px;
+ border: 1px solid #dee2e6;
+ border-radius: 50px;
+ display: flex;
+ align-items: center;
+
+ .o_searchview_icon {
+ color: #006fe6;
+ }
+
+ .o-dropdown {
+
+ .dropdown-toggle {
+ border: none;
+ background: transparent;
+ padding: 0;
+ margin-right: 5px;
+
+ &:focus {
+ outline: none;
+ }
+ }
+
+ .dropdown-menu {
+ margin-top: 10px;
+ padding: 10px 10px 0px 10px;
+ min-width: 330px;
+ overflow: visible;
+
+ .search_option_tab_items {
+ display: flex;
+ margin: 10px 5px;
+
+ .nav-link {
+ display: block;
+ padding: 0.5rem 1rem;
+ border-radius: 50px;
+ border: none !important;
+ background: transparent;
+ min-width: 80px;
+ border-radius: 50px;
+ text-align: center;
+
+ &.active{
+ background-color: #007bff;
+ color: #fff;
+ }
+ }
+ }
+
+ .tab-pane {
+ padding: 10px;
+ > div {
+ display: flex;
+ flex-direction: column;
+ }
+
+ .o_filter_menu {
+ i.fa-filter {
+ display: none !important;
+ }
+
+ .o_add_condition {
+ i {
+ margin-right: 5px;
+ }
+ }
+ }
+ }
+
+ &::after {
+ content: '';
+ width: 13px;
+ height: 13px;
+ background: #ffffff;
+ position: absolute;
+ top: -7px;
+ left: 12px;
+ transform: rotate(45deg);
+ border-top: 1px solid #ddd;
+ border-left: 1px solid #ddd;
+ }
+ }
+ }
+
+ .o_cp_searchview {
+ flex: 1 1 auto;
+
+ .o_searchview {
+ border: none !important;
+ box-shadow: none !important;
+ padding-bottom: 0px !important;
+
+ .o_searchview_icon {
+ position: absolute;
+ bottom: auto;
+ top: 5px;
+ right: 0px;
+ left: auto;
+
+ &:after {
+ display: none
+ }
+ }
+
+ .o_searchview_facet .o_facet_values {
+ border: none !important;
+ }
+ }
+ }
+
+ .search_option_dropdown_toggler {
+ right: auto;
+
+ &:hover {
+ color: #1c1c1c;
+ cursor: pointer;
+ }
+ }
+
+ .search_option_dropdown {
+ padding: 1rem;
+
+ .dropdown-item:focus {
+ outline: none;
+ }
+
+ .nav-pills .nav-link.active,
+ .nav-pills .show>.nav-link {
+ background-color: #007bff;
+ border-radius: 50px;
+ min-width: 80px;
+ text-align: center;
+ }
+ }
+}
+
+.o_searchview {
+
+ padding-right: 25px;
+ min-width: 300px;
+
+ .o_searchview_facet {
+ .o_searchview_facet_label {
+ background-color: #868e96;
+ }
+ }
+
+ .o_searchview_input_container {
+ .o_searchview_autocomplete {
+ li {
+ line-height: 24px;
+
+ &.o_selection_focus {
+ background-color: #9e9db7;
+ }
+
+ a {
+ word-break: break-all;
+ }
+ }
+ }
+ }
+
+ .o_searchview_more {
+ position: absolute;
+ top: 7px;
+ left: auto;
+ bottom: auto;
+ right: 6px;
+ }
+}
+
+@include media-breakpoint-down(md) {
+ .o_searchview {
+ min-width: 300px;
+ }
+}
+
+.favorite-container {
+ .dropdown-item {
+ &.selected:before {
+ left: 0px;
+ }
+ }
+
+ .o_trash_button {
+ right: 0;
+ }
+}
+
+.o_searchview_extended_delete_prop {
+ position: absolute;
+ top: 14px;
+}
+
+.o_searchview_extended_prop_field,
+.o_searchview_extended_prop_op {
+ margin: 0px 5px;
+}
+
+.o_search_options {
+ .o_dropdown_toggler_btn:first-child {
+ margin-right: 0px !important;
+ }
+}
+
+.o_control_panel .breadcrumb {
+ font-size: 14px !important;
+}
\ No newline at end of file
diff --git a/awesome_theme/static/src/components/control_panel/awesome_control_panel.xml b/awesome_theme/static/src/components/control_panel/awesome_control_panel.xml
new file mode 100644
index 000000000..9c179b8f3
--- /dev/null
+++ b/awesome_theme/static/src/components/control_panel/awesome_control_panel.xml
@@ -0,0 +1,158 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/awesome_theme/static/src/components/control_panel/awesome_dropdown_patch.js b/awesome_theme/static/src/components/control_panel/awesome_dropdown_patch.js
new file mode 100644
index 000000000..508dd4b38
--- /dev/null
+++ b/awesome_theme/static/src/components/control_panel/awesome_dropdown_patch.js
@@ -0,0 +1,14 @@
+/** @odoo-module **/
+
+import { ComparisonMenu } from "@web/search/comparison_menu/comparison_menu";
+import { FavoriteMenu } from "@web/search/favorite_menu/favorite_menu";
+import { FilterMenu } from "@web/search/filter_menu/filter_menu";
+import { GroupByMenu } from "@web/search/group_by_menu/group_by_menu";
+
+import { AwesomeOptionDropdown } from "./awesome_option_dropdown";
+
+// just change the dropdown to a custom dropdown
+ComparisonMenu.components.Dropdown = AwesomeOptionDropdown;
+FavoriteMenu.components.Dropdown = AwesomeOptionDropdown;
+FilterMenu.components.Dropdown = AwesomeOptionDropdown;
+GroupByMenu.components.Dropdown = AwesomeOptionDropdown;
diff --git a/awesome_theme/static/src/components/control_panel/awesome_option_dropdown.js b/awesome_theme/static/src/components/control_panel/awesome_option_dropdown.js
new file mode 100644
index 000000000..80da702a8
--- /dev/null
+++ b/awesome_theme/static/src/components/control_panel/awesome_option_dropdown.js
@@ -0,0 +1,32 @@
+/** @odoo-module **/
+
+import { Dropdown } from "@web/core/dropdown/dropdown";
+
+
+export class AwesomeOptionDropdown extends Dropdown {
+ setup() {
+ super.setup();
+ this.state.open = true;
+ this.props.manualOnly = true;
+ }
+
+ close() {
+ return;
+ }
+
+ open() {
+ return
+ }
+
+ onTogglerClick() {
+ return;
+ }
+
+ onWindowClicked(ev) {
+ return;
+ }
+}
+
+// template
+AwesomeOptionDropdown.template = "awesome_theme.options_dropdown";
+
diff --git a/awesome_theme/static/src/components/control_panel/awesome_option_dropdown.xml b/awesome_theme/static/src/components/control_panel/awesome_option_dropdown.xml
new file mode 100644
index 000000000..b5cc4e063
--- /dev/null
+++ b/awesome_theme/static/src/components/control_panel/awesome_option_dropdown.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/awesome_theme/static/src/components/datepicker/datepicker.js b/awesome_theme/static/src/components/datepicker/datepicker.js
new file mode 100644
index 000000000..c5a8dfeb7
--- /dev/null
+++ b/awesome_theme/static/src/components/datepicker/datepicker.js
@@ -0,0 +1,29 @@
+/** @odoo-module **/
+
+import { patch } from "@web/core/utils/patch";
+import { DateTimePicker } from "@web/core/datepicker/datepicker";
+
+/**
+ * patch settings app
+ */
+ patch(DateTimePicker.prototype, "awesome_theme.datepicker_patch", {
+
+ onMounted() {
+ this.bootstrapDateTimePicker(this.props);
+ this.updateInput();
+
+ window.$(this.rootRef.el).on("show.datetimepicker", () => {
+ this.datePickerShown = true;
+ this.inputRef.el.select();
+ this.rootRef.el.classList.add("dropdown_reverse");
+ });
+
+ window.$(this.rootRef.el).on("hide.datetimepicker", () => {
+ this.datePickerShown = false;
+ this.onDateChange({ useStatic: true });
+ this.rootRef.el.classList.remove("dropdown_reverse");
+ });
+
+ window.$(this.rootRef.el).on("error.datetimepicker", () => false);
+ }
+ })
diff --git a/awesome_theme/static/src/components/datepicker/datepicker.scss b/awesome_theme/static/src/components/datepicker/datepicker.scss
new file mode 100644
index 000000000..695027766
--- /dev/null
+++ b/awesome_theme/static/src/components/datepicker/datepicker.scss
@@ -0,0 +1,38 @@
+.o_datepicker_button {
+ position: absolute;
+ line-height: 34px;
+
+ top: 0px !important;
+ bottom: 0px !important;
+ left: auto !important;
+ bottom: auto !important;
+ right: 8px !important;
+
+ color: #c0c4cc;
+ font-size: 14px;
+ cursor: pointer;
+
+ pointer-events: none;
+
+ -webkit-transition: -webkit-transform .3s;
+ transition: -webkit-transform .3s;
+ transition: transform .3s;
+ transition: transform .3s, -webkit-transform .3s;
+
+ &:after {
+ display: inline-block;
+ font: normal normal normal 14px/1 Fontloss;
+ font-size: inherit;
+ text-rendering: auto;
+ -webkit-font-smoothing: antialiased;
+ content: "\f107" !important;
+ border: none !important;
+ width: auto !important;
+ height: auto !important;
+ }
+
+ &.dropdown_reverse {
+ -webkit-transform: rotateZ(180deg);
+ transform: rotateZ(180deg);
+ }
+}
diff --git a/awesome_theme/static/src/components/datepicker/datepicker.xml b/awesome_theme/static/src/components/datepicker/datepicker.xml
new file mode 100644
index 000000000..ea7a1a480
--- /dev/null
+++ b/awesome_theme/static/src/components/datepicker/datepicker.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
diff --git a/awesome_theme/static/src/components/footer/awesome_footer.js b/awesome_theme/static/src/components/footer/awesome_footer.js
new file mode 100644
index 000000000..4e6c94cf0
--- /dev/null
+++ b/awesome_theme/static/src/components/footer/awesome_footer.js
@@ -0,0 +1,30 @@
+/** @odoo-module alias=awesome_theme.foooter **/
+
+import { AwesomeFullScreen } from '../full_screen/awesome_full_screen';
+import config from 'web.config';
+
+import { Component, useState} from "@odoo/owl";
+
+
+export class AwesomeFooter extends Component {
+
+ setup() {
+ super.setup();
+ this.state = useState({
+ isMobile: config.device.isMobile? true : false
+ });
+ config.device.bus.on('size_changed', this, this._onDeviceSizeChanged);
+ }
+
+ _onDeviceSizeChanged() {
+ this.state.isMobile = config.device.isMobile? true : false
+ }
+};
+
+AwesomeFooter.components = {
+ AwesomeFullScreen: AwesomeFullScreen
+};
+
+AwesomeFooter.defaultProps = {};
+AwesomeFooter.props = {};
+AwesomeFooter.template = 'awesome_theme.footer';
diff --git a/awesome_theme/static/src/components/footer/awesome_footer.scss b/awesome_theme/static/src/components/footer/awesome_footer.scss
new file mode 100644
index 000000000..bf493c898
--- /dev/null
+++ b/awesome_theme/static/src/components/footer/awesome_footer.scss
@@ -0,0 +1,59 @@
+.awesome_footer {
+
+ margin-left: $sidebar_width;
+ z-index: 2;
+
+ height: 45px;
+ flex-shrink: 0;
+
+ align-items: center;
+ display: flex;
+ overflow: visible;
+ transition: margin-left 0.3s ease-in-out 0s;
+
+ .awesome_footer_container {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ width: 100%;
+ height: 100%;
+
+ .o_pager {
+ padding-left: 5px;
+ text-align: center;
+ user-select: none;
+ margin-right: 5px;
+ align-items: center;
+ justify-content: center;
+
+ .o_pager_counter {
+ margin: 5px;
+ padding: 5px;
+ }
+
+ input {
+ line-height: 24px;
+ height: 24px;
+ }
+
+ button {
+ height: 30px;
+ width: 30px;
+ }
+ }
+
+ .awesome_view_type_drowdown {
+ padding: 3px;
+ min-width: 0px;
+ button {
+ margin: 3px;
+ }
+ }
+ }
+}
+
+@media (max-width: 1200px) {
+ .awesome_footer {
+ margin-left: 0px;
+ }
+}
diff --git a/awesome_theme/static/src/components/footer/awesome_footer.xml b/awesome_theme/static/src/components/footer/awesome_footer.xml
new file mode 100644
index 000000000..c482df15d
--- /dev/null
+++ b/awesome_theme/static/src/components/footer/awesome_footer.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/awesome_theme/static/src/components/full_screen/awesome_full_screen.js b/awesome_theme/static/src/components/full_screen/awesome_full_screen.js
new file mode 100644
index 000000000..48889bc2e
--- /dev/null
+++ b/awesome_theme/static/src/components/full_screen/awesome_full_screen.js
@@ -0,0 +1,30 @@
+/** @odoo-module **/
+
+import { Component, useState} from "@odoo/owl";
+
+export class AwesomeFullScreen extends Component {
+
+ constructor() {
+ super(...arguments);
+
+ this.state = useState({
+ maxized: false,
+ });
+
+ $(document).bind("fullscreenchange", () => {
+ this.state.maxized = $(document).fullScreen();
+ });
+ }
+
+ _toggle_full_screen() {
+ if (!this.state.maxized) {
+ this.state.maxized = true;
+ $(document).fullScreen(true);
+ } else {
+ this.state.maxized = false;
+ $(document).fullScreen(false);
+ }
+ }
+};
+
+AwesomeFullScreen.template = 'awesome_theme.full_screen';
diff --git a/awesome_theme/static/src/components/full_screen/awesome_full_screen.xml b/awesome_theme/static/src/components/full_screen/awesome_full_screen.xml
new file mode 100644
index 000000000..0765f417f
--- /dev/null
+++ b/awesome_theme/static/src/components/full_screen/awesome_full_screen.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/awesome_theme/static/src/components/header/awesome_header.js b/awesome_theme/static/src/components/header/awesome_header.js
new file mode 100644
index 000000000..3cf234273
--- /dev/null
+++ b/awesome_theme/static/src/components/header/awesome_header.js
@@ -0,0 +1,147 @@
+/** @odoo-module **/
+
+import { registry } from "@web/core/registry";
+import { ErrorHandler } from "@web/core/utils/components";
+import { session } from '@web/session'
+import { Component, useState, useExternalListener } from "@odoo/owl";
+
+const systrayRegistry = registry.category("systray");
+import { useService, useBus } from "@web/core/utils/hooks";
+
+
+export class AwesomeHeader extends Component {
+
+ setup() {
+ this.userService = useService('user')
+ this.overlay = useService("awesome_overlay");
+ this.orm = useService("orm");
+ this.action = useService("action");
+
+ let company = session.company_id;
+
+ // config.device.bus.on('size_changed', this, () => {
+ // if (config.device.isMobile) {
+ // if ($('body').hasClass('navigation-show')) {
+ // this.overlay.show()
+ // }
+ // } else {
+ // this.overlay.hide()
+ // }
+ // });
+
+ // if click outside the panel close it
+ useExternalListener(window, 'click', (event) => {
+ if ($('body').hasClass("navigation-show")) {
+ if (!$(event.target).is($(".sidebar_menu, .sidebar_menu *, .navigation-toggler *"))) {
+ this.overlay.hide()
+ $('body').removeClass("navigation-show");
+ }
+ }
+ });
+
+ this.state = useState({
+ logo_url: '/web/binary/company_logo' + '?db=' + session.db + (
+ company ? '&company=' + company : ''),
+ })
+
+ useBus(this.env.bus, "ACTION_MANAGER:UI-UPDATED", ({ detail: mode }) => {
+ if (mode !== "new") {
+ this.state.fullscreen = mode === "fullscreen";
+ }
+ });
+
+ }
+
+ handleItemError(error, item) {
+ // remove the faulty component
+ item.isDisplayed = () => false;
+ Promise.resolve().then(() => {
+ throw error;
+ });
+ }
+
+ get systrayItems() {
+ return systrayRegistry
+ .getEntries()
+ .map(([key, value]) => ({ key, ...value }))
+ .filter((item) => ("isDisplayed" in item ? item.isDisplayed(this.env) : true))
+ .reverse();
+ }
+
+ // This dummy setter is only here to prevent conflicts between the
+ // Enterprise NavBar extension and the Website NavBar patch.
+ set systrayItems(_) {}
+
+ async on_logo_click() {
+ // this.action.doAction({
+ // type: 'ir.actions.act_window',
+ // res_model: 'res.company',
+ // views: [[false, 'form']],
+ // context: {
+ // 'form_view_ref': 'base.action_res_company_form',
+ // },
+ // res_id: session.user_context.current_company,
+ // target: 'new',
+ // }, {
+ // onClosed: () => {
+ // this.update_logo(true)
+ // }
+ // });
+ }
+
+ get logo_url() {
+ return '/web/binary/company_logo' + '?db=' + session.db + (company ? '&company=' + session.user_context.current_company : '')
+ }
+
+ update_logo(reload) {
+ let company = session.company_id
+ this.state.logo_url = '/web/binary/company_logo' + '?db=' + session.db + (company ?
+ '&company=' + session.user_context.current_company : '') + moment().format('x')
+ }
+
+ on_toggler_click() {
+
+ let $body = $('body');
+
+ if (this.env.isSmall) {
+ $body.addClass("navigation-show");
+ this.overlay.show()
+ } else {
+ this.overlay.hide()
+ if ($body.hasClass("navigation-toggle-one")) {
+ $body.removeClass("navigation-toggle-one");
+ $body.removeClass("navigation-show");
+ $body.addClass("navigation-toggle-none");
+ localStorage.setItem('awesome_menu_mode', 'navigation-toggle-none')
+ } else if ($body.hasClass("navigation-toggle-two")) {
+ // jump one to none
+ if (!$body.hasClass('not_have_child')) {
+ $body.removeClass("navigation-toggle-two");
+ $body.removeClass("navigation-show");
+ $body.addClass("navigation-toggle-one");
+ localStorage.setItem('awesome_menu_mode', 'navigation-toggle-one')
+ } else {
+ $body.removeClass("navigation-toggle-two");
+ $body.removeClass("navigation-show");
+ $body.addClass("navigation-toggle-none");
+ localStorage.setItem('awesome_menu_mode', 'navigation-toggle-one')
+ }
+ } else if ($body.hasClass("navigation-toggle-none")) {
+ $body.removeClass("navigation-toggle-none");
+ $body.removeClass("navigation-show");
+ $body.addClass("navigation-toggle-two");
+ localStorage.setItem('awesome_menu_mode', 'navigation-toggle-two')
+ } else {
+ // if nothing
+ $body.removeClass("navigation-toggle-two");
+ $body.removeClass("navigation-show");
+ $body.addClass("navigation-toggle-one");
+ localStorage.setItem('awesome_menu_mode', 'navigation-toggle-one')
+ }
+ }
+ }
+};
+
+AwesomeHeader.props = {};
+AwesomeHeader.template = "awesome_theme.header";
+AwesomeHeader.components = { ErrorHandler };
diff --git a/awesome_theme/static/src/components/header/awesome_header.scss b/awesome_theme/static/src/components/header/awesome_header.scss
new file mode 100644
index 000000000..081deab6e
--- /dev/null
+++ b/awesome_theme/static/src/components/header/awesome_header.scss
@@ -0,0 +1,303 @@
+.awesome_header {
+
+ position: fixed;
+
+ top: 0;
+ right: 0;
+ left: 0;
+
+ z-index: 100;
+
+ transition: left 0.3s ease-in-out 0s, margin-left 0.3s ease-in-out 0s, right 0.3s ease-in-out 0s, margin-right 0.3s ease-in-out 0s;
+
+ display: flex;
+ justify-content:center;
+
+ height: $header_height;
+ border-bottom: 1px solid #dcdfe6;
+ padding: 0 0 0 1.8rem;
+ margin-left: $sidebar_width;
+
+ .navigation-toggler {
+
+ @include border-radius(0.5rem);
+
+ margin-right: 1rem;
+ border: 1px solid #dfdfdf;
+ transition: all 0.3s ease-in-out 0s;
+
+ &.mobile-toggler {
+ display: none;
+ }
+
+ a {
+ color: #000;
+ padding: 8px 12px;
+ }
+
+ &:hover {
+ background: #f3f3f0;
+ }
+ }
+
+ .navigation-logo {
+ .logo {
+ display: flex;
+ max-height: 36px;
+ }
+ }
+
+ .navbar-nav {
+ a {
+ color: #828282;
+ }
+ }
+
+ ul {
+ &.navbar-nav {
+
+ flex-direction: row;
+ align-items: center;
+
+ li.nav-item {
+ a.nav-link {
+ line-height: 100%;
+ padding: 8px 12px;
+
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ svg{
+ width: 18px;
+ height: 18px
+ }
+
+ &:focus, &:hover {
+ outline: 0;
+ }
+ }
+ }
+
+ .dropdown-menu {
+ position: absolute;
+ }
+ }
+ }
+
+ .dropdown-item-text {
+ button {
+ margin: 0px 5px 5px 0px;
+ }
+ }
+
+ .o_filter_menu, .o_favorite_menu, .o_group_by_menu {
+ margin-left: 5px;
+ & > button {
+ & > span {
+ display: none
+ }
+
+ & > .fa-chevron-right, & > .fa-chevron-down {
+ display: none;
+ }
+ }
+ }
+
+ .o_menu_systray {
+
+ display: flex;
+ position: relative;
+ align-items: center;
+
+ .dropdown {
+
+ height: 100%;
+
+ .dropdown-toggle {
+ height: 100%;
+ vertical-align: initial;
+ background: 0 0!important;
+ border-radius: 50px;
+ outline: initial!important;
+ box-shadow: none!important;
+ box-shadow: initial!important;
+ transition: background-color box-shadow .1s linear;
+ border: 1px solid transparent;
+ display: flex;
+ align-items: center;
+ border-radius: 0px;
+
+ &:hover {
+ background: #f7f7f71c !important;
+ }
+ }
+
+ &.show {
+ .dropdown-toggle {
+ border-radius: 0px;
+ background: #f7f7f71c !important;
+ }
+ }
+
+ .dropdown-menu {
+ margin-top: 7px;
+ overflow: visible;
+ &::after {
+ content: '';
+ width: 13px;
+ height: 13px;
+ background: #ffffff;
+ position: absolute;
+ top: -7px;
+ right: 12px;
+ transform: rotate(45deg);
+ border-top: 1px solid #ddd;
+ border-left: 1px solid #ddd;
+ }
+ }
+
+ .customizer-toggle {
+ padding-left: .6rem;
+ padding-right: .6rem;
+ }
+
+ @include media-breakpoint-down(sm) {
+ .dropdown-menu {
+ top: 52px !important;
+ left: 0px !important;
+ right: 0px !important;
+ bottom: 0px !important;
+ overflow: auto;
+ max-height: inherit;
+ }
+ }
+ }
+
+ .o_user_menu {
+ .o_user_avatar {
+ height: 36px;
+ width: 36px;
+ }
+ }
+ }
+
+ .o_MessagingMenu {
+ .o_MessagingMenu_counter {
+ position: relative;
+ transform: inherit;
+ margin-right: -10px;
+ margin-top: -0.8rem;
+ margin-right: 0;
+ margin-left: -0.6rem;
+ background: #f10909;
+ color: white;
+ vertical-align: super;
+ font-size: 0.7em;
+ }
+ }
+
+ .full-search-bar {
+ display: flex;
+ align-items: center;
+ width: auto;
+ position: absolute;
+ left: 0;
+ right: 0;
+ z-index: 100;
+ background: #ffffff;
+ border-bottom: 1px solid #e4e4e400;
+ background-clip: border-box;
+ height: 61px;
+ padding: 0rem 1.4rem;
+ top: 0px;
+
+ .nav-link {
+ padding-right: 0px;
+ padding-left: 0.5rem;
+ }
+ }
+}
+
+
+@include media-breakpoint-down(sm) {
+
+ .awesome_header {
+ .awesome_hook_hide {
+ display: flex !important;
+ }
+ }
+
+ .o_debug_manager {
+ .o_debug_dropdown {
+ &.show {
+ max-height: 500px;
+ overflow-y: scroll;
+ }
+ }
+ }
+}
+
+$o-navbar-height: 11px;
+@mixin full-screen-dropdown {
+ border: none;
+ box-shadow: none;
+ display: flex;
+ flex-direction: column;
+ height: calc(100vh - #{$o-navbar-height});
+ position: fixed;
+ margin: 0;
+ width: 100vw;
+ z-index: 100;
+ // Inline style will override our `top`, so we need !important here
+ top: $o-navbar-height !important;
+ transform: none !important;
+}
+
+@include media-breakpoint-down(sm) {
+
+ .awesome_header {
+ .header_right_part {
+ width: calc(100% + 2rem);
+ padding: 10px 0px;
+ border-top: 1px solid #e7e7e7;
+ margin-top: 5px;
+ margin: 3px -1rem 0px -1rem;
+
+ // just let the left part fixed, if is full screen
+ .dropdown-menu {
+ position: fixed !important;
+ }
+ }
+
+ .navigation-logo {
+ .logo {
+ display: none;
+ }
+ }
+ }
+
+ // Custom fullscreen layout for systray items
+ .o_mail_systray_dropdown {
+ margin-top: 11px;
+
+ &.show {
+ position: fixed;
+ left: 0px;
+
+ @include full-screen-dropdown();
+
+ // Fix stretchy images
+ .o_mail_preview_image {
+ align-items: center;
+ display: flex;
+ flex-direction: row;
+
+ img {
+ display: block;
+ height: auto;
+ }
+ }
+ }
+ }
+}
diff --git a/awesome_theme/static/src/components/header/awesome_header.xml b/awesome_theme/static/src/components/header/awesome_header.xml
new file mode 100644
index 000000000..26e93c6be
--- /dev/null
+++ b/awesome_theme/static/src/components/header/awesome_header.xml
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
diff --git a/awesome_theme/static/src/components/many2one/many2one.scss b/awesome_theme/static/src/components/many2one/many2one.scss
new file mode 100644
index 000000000..292bc1624
--- /dev/null
+++ b/awesome_theme/static/src/components/many2one/many2one.scss
@@ -0,0 +1,26 @@
+.o_input_dropdown {
+ .o_dropdown_arrow {
+ position: absolute;
+ line-height: 34px;
+ top: 0px;
+ bottom: 0px;
+ left: auto;
+ bottom: auto;
+ right: 8px;
+ color: #c0c4cc;
+ font-size: 14px;
+ cursor: pointer;
+ pointer-events: none;
+ -webkit-transition: -webkit-transform .3s;
+ transition: -webkit-transform .3s;
+ transition: transform .3s;
+ transition: transform .3s, -webkit-transform .3s;
+ -webkit-transform: rotateZ(180deg);
+ transform: rotateZ(180deg);
+
+ &.awesome_reverse {
+ -webkit-transform: rotateZ(0);
+ transform: rotateZ(0)
+ }
+ }
+}
\ No newline at end of file
diff --git a/awesome_theme/static/src/components/many2one/many2one.xml b/awesome_theme/static/src/components/many2one/many2one.xml
new file mode 100644
index 000000000..a3ff88603
--- /dev/null
+++ b/awesome_theme/static/src/components/many2one/many2one.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/awesome_theme/static/src/components/overlay/awesome_overlay.js b/awesome_theme/static/src/components/overlay/awesome_overlay.js
new file mode 100644
index 000000000..b4f6fe9ba
--- /dev/null
+++ b/awesome_theme/static/src/components/overlay/awesome_overlay.js
@@ -0,0 +1,36 @@
+/** @odoo-module **/
+
+import { Component, useState, useEffect, xml, onWillUpdateProps, useComponent } from "@odoo/owl";
+
+
+export class AwesomeOverlay extends Component {
+
+ setup() {
+
+ this.state = useState({
+ active: false,
+ zIndex: 100
+ })
+
+ // this.props.bus.on("Show", this, (zIndex) => {
+ // this.state.active = true
+ // if (zIndex) {
+ // this.state.zIndex = zIndex
+ // }
+ // });
+
+ // this.props.bus.on("Hide", this, () => {
+ // this.state.active = false
+ // });
+ }
+};
+
+AwesomeOverlay.props = {
+ bus: {
+ type: Object,
+ optional: true,
+ }
+};
+
+AwesomeOverlay.components = {};
+AwesomeOverlay.template = xml`
`;
diff --git a/awesome_theme/static/src/components/overlay/awesome_overlay.scss b/awesome_theme/static/src/components/overlay/awesome_overlay.scss
new file mode 100644
index 000000000..74145de3a
--- /dev/null
+++ b/awesome_theme/static/src/components/overlay/awesome_overlay.scss
@@ -0,0 +1,14 @@
+
+.awesome_overlay {
+ position: fixed;
+ top: 0;
+ left: 0;
+ bottom: 0;
+ right: 0;
+ z-index: 990;
+ background: rgba(0, 0, 0, .3);
+ -webkit-transition: opacity .5s;
+ -o-transition: opacity .5s;
+ -moz-transition: opacity .5s;
+ transition: opacity .5s;
+}
diff --git a/awesome_theme/static/src/components/overlay/awesome_overlay_service.js b/awesome_theme/static/src/components/overlay/awesome_overlay_service.js
new file mode 100644
index 000000000..797efb300
--- /dev/null
+++ b/awesome_theme/static/src/components/overlay/awesome_overlay_service.js
@@ -0,0 +1,36 @@
+/** @odoo-module **/
+
+import { registry } from "@web/core/registry";
+import { AwesomeOverlay } from "./awesome_overlay";
+
+import { EventBus } from "@odoo/owl";
+
+
+export const AwesomeOverlayService = {
+
+ start() {
+ const bus = new EventBus();
+
+ registry.category("main_components").add("Overlay", {
+ Component: AwesomeOverlay,
+ props: { bus },
+ });
+
+ function show(zIndex) {
+ bus.trigger("Show", {
+ zIndex: zIndex
+ });
+ }
+
+ function hide() {
+ bus.trigger("Hide");
+ }
+
+ return {
+ show,
+ hide
+ }
+ }
+};
+
+registry.category("services").add("awesome_overlay", AwesomeOverlayService);
diff --git a/awesome_theme/static/src/components/panel_toggler/panel_toggler.js b/awesome_theme/static/src/components/panel_toggler/panel_toggler.js
new file mode 100644
index 000000000..0faa8c428
--- /dev/null
+++ b/awesome_theme/static/src/components/panel_toggler/panel_toggler.js
@@ -0,0 +1,31 @@
+/** @odoo-module **/
+
+import { Component, useState } from "@odoo/owl";
+
+
+export class PanelToggler extends Component {
+
+ setup() {
+ super.setup();
+ this.state = useState({ open: this.props.open });
+ }
+
+ _on_toggler_click() {
+ this.state.open = !this.state.open;
+ this.togglerClick(this.state.open);
+ }
+};
+
+// props
+PanelToggler.props = {
+ open: {
+ type: Boolean,
+ optional: true,
+ },
+ togglerClick: {
+ type: Function,
+ optional: true,
+ },
+};
+
+PanelToggler.template = 'awesome_theme.panel_toggler';
diff --git a/awesome_theme/static/src/components/panel_toggler/panel_toggler.scss b/awesome_theme/static/src/components/panel_toggler/panel_toggler.scss
new file mode 100644
index 000000000..b4d876a66
--- /dev/null
+++ b/awesome_theme/static/src/components/panel_toggler/panel_toggler.scss
@@ -0,0 +1,10 @@
+
+.panel_toggler {
+ position: absolute;
+ top: calc(50% - 1.5rem);
+ right: 0;
+ margin-right: 1rem;
+ width: 3rem;
+ height: 3rem;
+ border-radius: 50%;
+}
\ No newline at end of file
diff --git a/awesome_theme/static/src/components/panel_toggler/panel_toggler.xml b/awesome_theme/static/src/components/panel_toggler/panel_toggler.xml
new file mode 100644
index 000000000..5f7f9967f
--- /dev/null
+++ b/awesome_theme/static/src/components/panel_toggler/panel_toggler.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/awesome_theme/static/src/components/resize_manager.js b/awesome_theme/static/src/components/resize_manager.js
new file mode 100644
index 000000000..84128ec48
--- /dev/null
+++ b/awesome_theme/static/src/components/resize_manager.js
@@ -0,0 +1,34 @@
+/** @odoo-module **/
+
+const resizeHandler = function (entries) {
+ for (let entry of entries) {
+ const listeners = entry.target.__resizeListeners__ || [];
+ if (listeners.length) {
+ listeners.forEach((fn) => {
+ fn(entry.contentRect);
+ });
+ }
+ }
+};
+
+export const addResizeListener = function (element, fn) {
+ if (!element.__resizeListeners__) {
+ element.__resizeListeners__ = [];
+ element.__ro__ = new ResizeObserver(resizeHandler);
+ element.__ro__.observe(element);
+ }
+ element.__resizeListeners__.push(fn);
+};
+
+export const removeResizeListener = function (element, fn) {
+ if (!element || !element.__resizeListeners__) return;
+ if (fn) {
+ element.__resizeListeners__.splice(
+ element.__resizeListeners__.indexOf(fn), 1);
+ } else {
+ element.__resizeListeners__ = [];
+ }
+ if (!element.__resizeListeners__.length) {
+ element.__ro__.disconnect();
+ }
+};
\ No newline at end of file
diff --git a/awesome_theme/static/src/components/search_options/awesome_comparision_menu.xml b/awesome_theme/static/src/components/search_options/awesome_comparision_menu.xml
new file mode 100644
index 000000000..f0fc27ff0
--- /dev/null
+++ b/awesome_theme/static/src/components/search_options/awesome_comparision_menu.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
diff --git a/awesome_theme/static/src/components/search_options/awesome_custom_favorite_item.xml b/awesome_theme/static/src/components/search_options/awesome_custom_favorite_item.xml
new file mode 100644
index 000000000..598cbe9be
--- /dev/null
+++ b/awesome_theme/static/src/components/search_options/awesome_custom_favorite_item.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+ Use by default
+
+
+ Share with all users
+
+
+
+
+ Save
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/awesome_theme/static/src/components/search_options/awesome_custom_filter_item.xml b/awesome_theme/static/src/components/search_options/awesome_custom_filter_item.xml
new file mode 100644
index 000000000..47b3c2cd9
--- /dev/null
+++ b/awesome_theme/static/src/components/search_options/awesome_custom_filter_item.xml
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/awesome_theme/static/src/components/search_options/awesome_custom_group_by_item.xml b/awesome_theme/static/src/components/search_options/awesome_custom_group_by_item.xml
new file mode 100644
index 000000000..766424aa7
--- /dev/null
+++ b/awesome_theme/static/src/components/search_options/awesome_custom_group_by_item.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
diff --git a/awesome_theme/static/src/components/search_options/awesome_favorite_menu.xml b/awesome_theme/static/src/components/search_options/awesome_favorite_menu.xml
new file mode 100644
index 000000000..f7cab8f67
--- /dev/null
+++ b/awesome_theme/static/src/components/search_options/awesome_favorite_menu.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
diff --git a/awesome_theme/static/src/components/search_options/awesome_filter_menu.xml b/awesome_theme/static/src/components/search_options/awesome_filter_menu.xml
new file mode 100644
index 000000000..fa4764520
--- /dev/null
+++ b/awesome_theme/static/src/components/search_options/awesome_filter_menu.xml
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
diff --git a/awesome_theme/static/src/components/search_options/awesome_groupby_menu.xml b/awesome_theme/static/src/components/search_options/awesome_groupby_menu.xml
new file mode 100644
index 000000000..97eb7b787
--- /dev/null
+++ b/awesome_theme/static/src/components/search_options/awesome_groupby_menu.xml
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
diff --git a/awesome_theme/static/src/components/search_options/awesome_search_option.js b/awesome_theme/static/src/components/search_options/awesome_search_option.js
new file mode 100644
index 000000000..00e297408
--- /dev/null
+++ b/awesome_theme/static/src/components/search_options/awesome_search_option.js
@@ -0,0 +1,33 @@
+/** @odoo-module **/
+
+import { ComparisonMenu } from "@web/search/comparison_menu/comparison_menu";
+
+import { FavoriteMenu } from "@web/search/favorite_menu/favorite_menu";
+import { CustomFavoriteItem } from "@web/search/favorite_menu/custom_favorite_item";
+
+import { FilterMenu } from "@web/search/filter_menu/filter_menu";
+import { CustomFilterItem } from "@web/search/filter_menu/custom_filter_item";
+
+import { GroupByMenu } from "@web/search/group_by_menu/group_by_menu";
+import { CustomGroupByItem } from "@web/search/group_by_menu/custom_group_by_item";
+
+import { AwesomeAccordion } from "../accordion/awesome_accordion";
+
+export class AwesomeFilterMenu extends FilterMenu {}
+AwesomeFilterMenu.template = "awesome_theme.FilterMenu"
+AwesomeFilterMenu.components = {...FilterMenu.components, AwesomeAccordion}
+CustomFilterItem.components = {...CustomFilterItem.components, AwesomeAccordion}
+
+export class AwesomeGroupByMenu extends GroupByMenu {}
+AwesomeGroupByMenu.template = "awesome_theme.GroupByMenu"
+AwesomeGroupByMenu.components = {...GroupByMenu.components, AwesomeAccordion}
+CustomGroupByItem.components = {...CustomGroupByItem.components, AwesomeAccordion}
+
+export class AwesomeFavoriteMenu extends FavoriteMenu {}
+AwesomeFavoriteMenu.template = "awesome_theme.FavoriteMenu"
+AwesomeFavoriteMenu.components = {...FavoriteMenu.components, AwesomeAccordion}
+CustomFavoriteItem.components = {...CustomFavoriteItem.components, AwesomeAccordion}
+
+export class AwesomeComparisonMenu extends ComparisonMenu {}
+AwesomeComparisonMenu.template = "awesome_theme.ComparisonMenu"
+AwesomeComparisonMenu.components = {...ComparisonMenu.components, AwesomeAccordion}
diff --git a/awesome_theme/static/src/components/search_panel/search_panel.js b/awesome_theme/static/src/components/search_panel/search_panel.js
new file mode 100644
index 000000000..52c5a0752
--- /dev/null
+++ b/awesome_theme/static/src/components/search_panel/search_panel.js
@@ -0,0 +1,27 @@
+/** @odoo-module **/
+
+import { SearchPanel } from "@web/search/search_panel/search_panel";
+import { patch } from "@web/core/utils/patch";
+import { PanelToggler } from "../panel_toggler/panel_toggler";
+
+/**
+ * patch search panel
+ */
+patch(SearchPanel.prototype, "awesome_theme/static/src/components/search_panel/search_panel.js", {
+
+ setup() {
+ this._super(...arguments);
+ this.state.isPanelOpen = config.device.isMobile ? false : true;
+
+ // listen to the device size change
+ // config.device.bus.on("size_changed", this, () => {
+ // this.state.isPanelOpen = config.device.isMobile ? false : true;
+ // });
+ },
+
+ _on_toggler_click(open) {
+ this.state.isPanelOpen = open;
+ }
+});
+
+SearchPanel.components = {...SearchPanel.components, PanelToggler};
\ No newline at end of file
diff --git a/awesome_theme/static/src/components/search_panel/search_panel.scss b/awesome_theme/static/src/components/search_panel/search_panel.scss
new file mode 100644
index 000000000..e07e17702
--- /dev/null
+++ b/awesome_theme/static/src/components/search_panel/search_panel.scss
@@ -0,0 +1,11 @@
+
+.o_search_panel {
+ position: absolute;
+ left: calc(-100% - 1px);
+ transition: left 0.3s ease-in-out;
+
+ &.expand {
+ left: 0;
+ }
+}
+
diff --git a/awesome_theme/static/src/components/search_panel/search_panel.xml b/awesome_theme/static/src/components/search_panel/search_panel.xml
new file mode 100644
index 000000000..9a738146b
--- /dev/null
+++ b/awesome_theme/static/src/components/search_panel/search_panel.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {"expand": state.isPanelOpen}
+
+
+
+
+
+
diff --git a/awesome_theme/static/src/components/selection/selection.js b/awesome_theme/static/src/components/selection/selection.js
new file mode 100644
index 000000000..5fcf6aefd
--- /dev/null
+++ b/awesome_theme/static/src/components/selection/selection.js
@@ -0,0 +1,36 @@
+/** @odoo-module **/
+
+import { _lt } from "@web/core/l10n/translation";
+
+import { patch } from "@web/core/utils/patch";
+import { SelectionField } from "@web/views/fields/selection/selection_field";
+import { useEffect, useRef, onWillUnmount } from "@odoo/owl";
+
+patch(SelectionField.prototype, {
+ setup() {
+ // this._super(...arguments);
+ super.setup(...arguments);
+
+ let selectRef = useRef("select");
+ useEffect(() => {
+ // if (!this.props.readonly) {
+ // if (selectRef.el) {
+ // $(selectRef.el).select2({});
+ // }
+ // }
+ // return () => {
+ // if (selectRef.el) {
+ // $(selectRef.el).select2("destroy");
+ // }
+ // };
+ }, () => [this.props.readonly, selectRef.el]);
+
+ onWillUnmount(() => {
+ // if (selectRef.el) {
+ // $(selectRef.el).select2("destroy");
+ // }
+ });
+ }
+});
+
+SelectionField.template = "awesome_theme.SelectionField";
diff --git a/awesome_theme/static/src/components/selection/selection.scss b/awesome_theme/static/src/components/selection/selection.scss
new file mode 100644
index 000000000..6d0392c23
--- /dev/null
+++ b/awesome_theme/static/src/components/selection/selection.scss
@@ -0,0 +1,218 @@
+/*--- SELECT2 ---*/
+
+.select2-container {
+ min-width: 120px;
+}
+
+.select2-results__option {
+ border-radius: 0;
+ margin-bottom: 1px;
+ font-size: 13px;
+}
+
+.select2-container .select2-choice {
+ width: 100%;
+ background-color: #fff;
+ // border: 1px solid #dcdfe6;
+ border: none !important ;
+ // border-radius: 4px;
+ // height: 34px;
+ outline: none;
+ margin-bottom: 5px;
+ background-image: none;
+}
+
+.select2-container .select2-choice .select2-arrow {
+
+ width: 20px;
+ height: 30px;
+
+ position: absolute;
+ right: 0px;
+ line-height: calc(1.5em + 0.75rem + 2px);
+ top: 0px;
+ bottom: 0px;
+ background: none !important;
+ background-image: none !important;
+ border: none !important;
+
+ -webkit-transition: all .3s ease-out;
+ -o-transition: all .3s ease-out;
+ transition: all .3s ease-out
+}
+
+.select2-container .select2-choice .select2-arrow b {
+ position: absolute;
+
+ width: 6px;
+ height: 6px;
+
+ border-width: 1px 0 0 1px;
+ border-style: solid;
+ border-color: #c2c3c4;
+
+ -webkit-transform: rotate(-135deg) ;
+ -ms-transform: rotate(-135deg);
+ -o-transform: rotate(-135deg);
+ transform: rotate(-135deg);
+
+ top: 50%;
+ margin-top: -4px;
+ left: 50%;
+ margin-left: -4px;
+}
+
+.select2-container.select2-dropdown-open {
+ z-index: 1124;
+
+ -webkit-transition: all .3s ease-out;
+ -o-transition: all .3s ease-out;
+ transition: all .3s ease-out;
+}
+
+.select2-container.select2-dropdown-open .select2-choice .select2-arrow b {
+
+ border-width: 1px 0 0 1px;
+ border-color: #c2c3c4;
+ margin-top: 0px;
+
+ -webkit-transform: rotate(45deg);
+ -ms-transform: rotate(45deg);
+ -o-transform: rotate(45deg);
+ transform: rotate(45deg);
+}
+
+.select2-container .select2-selection--multiple {
+ background-color: #fff;
+ border-color: #e9edf4;
+ border-radius: 0;
+ min-height: 34px;
+ outline: none;
+}
+
+.select2-container .select2-search .select2-input {
+ border-color: #e9edf4;
+ border-radius: 0;
+}
+
+.select2-container .select2-results__option[aria-selected="true"] {
+ background-color: #ddd;
+ color: #22252f;
+}
+
+.select2-container .select2-results>.select2-results__options {
+ margin: 4px;
+}
+
+.select2-container .select2-search--inline .select2-input {
+ margin-top: 7px;
+ line-height: 34px;
+ padding-left: 7px;
+ opacity: 1;
+}
+
+.select2-container.select2-container--disabled .select2-selection__choice {
+ padding-left: 10px;
+ background-color: #737688;
+}
+
+.select2-container.select2-container--disabled .select2-selection__choice .select2-selection__choice__remove {
+ display: none;
+}
+
+.select2-dropdown-open .select2-choice,
+.select2-dropdown-open .select2-selection--multiple {
+ z-index: 1100;
+ background-color: #fff;
+ border-color: #e9edf4;
+}
+
+.select2-dropdown-open .select2-dropdown--above {
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+}
+
+.select2-dropdown-open .select2-dropdown--below {
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0;
+ top: -5px;
+}
+
+.select2-dropdown {
+ border-color: #e9edf4;
+ z-index: 1000;
+}
+
+.select2-search {
+ padding-bottom: 0;
+}
+
+.select2-container.o_field_widget {
+ .select2-search {
+ display: none;
+ }
+}
+
+.select2-results__option {
+ padding: 6px 10px;
+ font-size: 0.875rem;
+ min-height: 30px;
+}
+
+.select2-xs+.select2-container {
+ font-size: 12px;
+}
+
+.select2-dropdown-xs .select2-results__option {
+ font-size: 12px;
+}
+
+.select2-sm+.select2-container {
+ font-size: 14px;
+}
+
+.select2-dropdown-sm .select2-results__option {
+ font-size: 14px;
+}
+
+.select2-bd-0+.select2-container .select2-choice {
+ border-width: 0;
+}
+
+.select2-container .select2-search .select2-input {
+ outline: none;
+}
+
+.select2-container .select2-choice > .select2-chosen {
+ line-height: 30px;
+}
+
+.select2-drop {
+ width: 100%;
+ margin-top: -1px;
+ position: absolute;
+ z-index: 9999;
+ top: 100%;
+
+ min-width: 10rem;
+ padding: .5rem 0;
+ margin: 0 0 0;
+ font-size: 1rem;
+ color: #5a6169;
+ background-color: #fff;
+ // border: 1px solid rgba(0,0,0,.05);
+ border-radius: .375rem;
+}
+
+.select2-container-active .select2-choice,
+.select2-container-active .select2-choices {
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+
+/*--- SELECT2 ---*/
+.o_input {
+ input {
+ border: none !important;
+ }
+}
diff --git a/awesome_theme/static/src/components/selection/selection.xml b/awesome_theme/static/src/components/selection/selection.xml
new file mode 100644
index 000000000..70c144ed6
--- /dev/null
+++ b/awesome_theme/static/src/components/selection/selection.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/awesome_theme/static/src/components/settings/setting_app.xml b/awesome_theme/static/src/components/settings/setting_app.xml
new file mode 100644
index 000000000..fdbfb20e8
--- /dev/null
+++ b/awesome_theme/static/src/components/settings/setting_app.xml
@@ -0,0 +1,17 @@
+
+
+
+ // extend the SettingsApp template
+
+
+
+
+
+
+
+ "{'expand': this.state.isPanelOpen}"
+
+
+
+
+
diff --git a/awesome_theme/static/src/components/settings/settings_app.js b/awesome_theme/static/src/components/settings/settings_app.js
new file mode 100644
index 000000000..79a8cbbd7
--- /dev/null
+++ b/awesome_theme/static/src/components/settings/settings_app.js
@@ -0,0 +1,30 @@
+/** @odoo-module **/
+
+import { useState } from "@odoo/owl";
+import { patch } from "@web/core/utils/patch";
+import { SettingsApp } from "@web/webclient/settings_form_view/settings/settings_app";
+
+import { PanelToggler } from "../panel_toggler/panel_toggler";
+
+/**
+ * patch settings app
+ */
+ patch(SettingsApp.prototype, {
+
+ setup() {
+ // this._super(...arguments);
+ super.setup(...arguments);
+ // this.state.isPanelOpen = config.device.isMobile;
+
+ // listen to the device size change
+ // config.device.bus.on("size_changed", this, () => {
+ // this.state.isPanelOpen = config.device.isMobile ? false : true;
+ // });
+ },
+
+ _on_toggler_click(open) {
+ this.state.isPanelOpen = open;
+ }
+});
+
+SettingsApp.components = {...SettingsApp.components, PanelToggler};
\ No newline at end of file
diff --git a/awesome_theme/static/src/components/sidebar/awesome_sidebar.scss b/awesome_theme/static/src/components/sidebar/awesome_sidebar.scss
new file mode 100644
index 000000000..6bba2fa64
--- /dev/null
+++ b/awesome_theme/static/src/components/sidebar/awesome_sidebar.scss
@@ -0,0 +1,594 @@
+
+.sidebar_menu {
+
+ display: flex;
+ flex-direction: row;
+
+ background: #fff;
+ z-index: 101;
+ width: $sidebar_width;
+ position: fixed;
+ top: 0px;
+ bottom: 0px;
+
+ border-right: 1px solid #dcdfe6;
+
+ transition: width 0.3s ease-in-out 0s, left 0.3s ease-in-out 0s, margin-left 0.3s ease-in-out 0s, right 0.3s ease-in-out 0s, margin-right 0.3s ease-in-out 0s;
+ overflow: hidden;
+
+ .app_container {
+
+ display: flex;
+ flex-direction: column;
+ flex-shrink: 0;
+ font-size: 12px !important;
+ background: #282c34;
+
+ width: $sidebar_toggle_one_width;
+ overflow: hidden;
+ z-index: 5;
+
+ .collapse {
+ height: 0px;
+ }
+
+ .app_header {
+
+ height: 70px;
+ margin-top: 10px;
+
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ .dropdown-toggle {
+
+ vertical-align: initial;
+ background: 0 0 !important;
+ border-radius: 50px;
+ outline: initial !important;
+ box-shadow: none !important;
+ box-shadow: initial !important;
+ font-size: 0.1 0.4rem;
+ transition: background-color box-shadow .1s linear;
+ border: 1px solid transparent;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ padding: 0px !important;
+
+ .o_user_avatar {
+ height: 48px;
+ width: 48px;
+
+ object-fit: cover;
+ transform: translateY(-2px);
+ }
+
+ .oe_topbar_name {
+ display: none !important;
+ }
+ }
+
+ .dropdown {
+ .dropdown-menu {
+ background: #f6f6f6 !important;
+ border-radius: 5px;
+ margin-left: 75px;
+ margin-top: -50px;
+ padding: 10px;
+ overflow: visible;
+
+ &:before {
+ content: '';
+ width: 16px;
+ height: 16px;
+ background: #f6f6f6;
+ position: absolute;
+ top: 20px;
+ left: -8px;
+ transform: rotate(315deg);
+ border-top: 1px solid #dee2e6;
+ border-left: 1px solid #dee2e6;
+ }
+ }
+ }
+ }
+
+ a {
+ &.active {
+ position: relative;
+
+ &:after {
+ position: absolute;
+ content: '';
+ right: 0px;
+ left: 0px;
+ top: 0px;
+ bottom: 0px;
+ display: block;
+ background: #714b67;
+ z-index: -1;
+ }
+ }
+ }
+
+ ul {
+ margin: 0;
+ padding: 0;
+
+ li {
+ a:hover {
+ color: #6c757d
+ }
+ }
+ }
+
+ .scroll_container {
+ width: $sidebar_toggle_one_width;
+ overflow: hidden;
+
+ .app_items_wrapper {
+ width: 100px;
+ height: 100%;
+
+ overflow-y: scroll;
+ overflow-x: hidden;
+
+ .app_items {
+ width: $sidebar_toggle_one_width;
+ }
+ }
+ }
+ }
+
+ .sidebar_footer {
+ height: 45px;
+
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ flex: 0 0 auto;
+
+ .board_toggler {
+ transition: 0.70s;
+
+ -webkit-transition: 0.70s;
+ -moz-transition: 0.70s;
+ -ms-transition: 0.70s;
+ -o-transition: 0.70s;
+
+ &:hover {
+ transition: 0.70s;
+
+ -webkit-transition: 0.70s;
+ -moz-transition: 0.70s;
+ -ms-transition: 0.70s;
+ -o-transition: 0.70s;
+
+ -webkit-transform: rotate(180deg);
+ -moz-transform: rotate(180deg);
+ -o-transform: rotate(180deg);
+ -ms-transform: rotate(180deg);
+ transform: rotate(180deg);
+ }
+ }
+ }
+
+ .app_tab_pane_box {
+
+ flex: 1 1 auto;
+ display: flex;
+
+ .app_tab_pane {
+
+ .tab_pane_scroll_box {
+
+ overflow: hidden;
+ position: relative;
+
+ display: flex;
+ flex-direction: column;
+
+ width: 100%;
+ height: 100%;
+
+ .active_app_name {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ height: $header_height;
+ padding: 5px;
+ border-bottom: 1px solid #dcdfe6;
+
+ >p {
+ font-size: 16px;
+ max-width: 180px;
+ // font-weight: bold;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ line-height: 30px;
+ margin: 0px;
+ padding: 0px;
+ }
+ }
+
+ .menu_container {
+ overflow-y: auto;
+ flex: 1 1 auto;
+ position: relative;
+ color: #333B60;
+
+ ul {
+ padding: 0px;
+
+ >li {
+ list-style: none;
+
+ >a {
+ display: flex;
+ align-items: center;
+ justify-content: flex-start;
+
+ padding: 10px 20px;
+ color: #505050;
+
+ -webkit-transition: background .3s;
+ -o-transition: background .3s;
+ -moz-transition: background .3s;
+ transition: background .3s;
+
+ white-space: nowrap;
+
+ &:hover {
+ background-color: rgba(33, 37, 41, 0.06);
+ }
+
+ &.active {
+ position: relative;
+ background: #eee;
+
+ &:after {
+ content: '';
+ position: absolute;
+ display: block;
+ width: 3px;
+ -webkit-border-top-left-radius: 5px;
+ -moz-border-radius-topleft: 5px;
+ border-top-left-radius: 5px;
+ -webkit-border-bottom-left-radius: 5px;
+ -moz-border-radius-bottomleft: 5px;
+ border-bottom-left-radius: 5px;
+ top: 0;
+ bottom: 0;
+ right: 0;
+ // background-color: $awesome-primary
+ }
+ }
+
+ .sub-menu-arrow {
+
+ margin-left: auto;
+ font-size: 1rem;
+
+ -webkit-transition: -webkit-transform .5s;
+ transition: -webkit-transform .5s;
+ -o-transition: -o-transform .5s;
+ -moz-transition: transform .5s, -moz-transform .5s;
+ -moz-transition: transform .5s, -moz-transform .5s;
+
+ transition: transform .5s;
+ transition: transform .5s, -webkit-transform .5s, -moz-transform .5s, -o-transform .5s;
+ transition: transform .5s, -webkit-transform .5s, -moz-transform .5s, -o-transform .5s;
+
+ &.rotate-in {
+ -webkit-transform: rotate(360deg);
+ -moz-transform: rotate(360deg);
+ -ms-transform: rotate(360deg);
+ -o-transform: rotate(360deg);
+ transform: rotate(360deg)
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+.o_action_manager {
+ transition: width 0.3s ease-in-out 0s, left 0.3s ease-in-out 0s, margin-left 0.3s ease-in-out 0s, right 0.3s ease-in-out 0s, margin-right 0.3s ease-in-out 0s;
+}
+
+// because we need to drag app items, it is standlone, so we put it here
+.app_item {
+
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ flex-direction: column;
+ height: 75px;
+ padding: 5px;
+
+ .app_name {
+ max-width: 95%;
+ text-align: center;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ padding: 3px 0px 0px 0px;
+ color: #fff;
+ }
+
+ .o_app_icon {
+ > i {
+ font-size: 24px;
+ }
+ > svg, > img {
+ width: 32px;
+ height: 32px;
+ path {
+ fill: #fff;
+ }
+ }
+ > div {
+ width: 100%;
+ height: 100%;
+ > i {
+ font-size: 24px;
+ }
+ }
+ }
+}
+
+
+body.hide_app_name {
+
+ .anita_app_name {
+ display: none !important;
+ }
+
+ .anita_sidebar {
+ .anita_sidebar_app_items {
+ a {
+ &.active {
+ &:after {
+ top: 15px;
+ bottom: 10px;
+ }
+ }
+ }
+ }
+ }
+}
+
+
+body {
+
+ &.not_have_child {
+
+ .sidebar_menu {
+ width: $sidebar_toggle_one_width !important;
+ }
+
+ .o_action_manager,
+ .awesome_footer {
+ margin-left: $sidebar_toggle_one_width !important;
+ }
+
+ .awesome_header {
+ margin-left: $sidebar_toggle_one_width !important;
+ }
+ }
+
+ &.navigation-toggle-one {
+
+ .sidebar_menu {
+ width: $sidebar_toggle_one_width !important;
+ }
+
+ .awesome_header {
+ margin-left: $sidebar_toggle_one_width;
+ }
+
+ .awesome_footer {
+ margin-left: $sidebar_toggle_one_width;
+ }
+
+ .o_action_manager {
+ height: 100%;
+ margin-left: $sidebar_toggle_one_width;
+ display: flex;
+ }
+
+ &.not_have_child {
+
+ .sidebar_menu {
+ width: $sidebar_toggle_one_width !important;
+ }
+
+ .o_action_manager,
+ .awesome_footer {
+ margin-left: $sidebar_toggle_one_width !important;
+
+ @include media-breakpoint-down(sm) {
+ margin-left: 0 !important;
+ }
+ }
+ }
+ }
+
+ &.navigation-toggle-two {
+
+ .sidebar_menu {
+ display: flex;
+ }
+
+ .awesome_header {
+ margin-left: $sidebar_toggle_two_width;
+
+ .navigation-toggler {
+ display: block !important
+ }
+
+ .navigation-toggler.mobile-toggler {
+ display: none !important
+ }
+ }
+
+ .awesome_footer,
+ .o_action_manager {
+ margin-left: $sidebar_toggle_two_width;
+ }
+
+ .o_action_manager {
+ display: flex;
+ }
+
+ &.not_have_child {
+
+ .sidebar_menu {
+ width: $sidebar_toggle_one_width;
+ }
+
+ .o_action_manager {
+ margin-left: $sidebar_toggle_one_width;
+
+ @include media-breakpoint-down(sm) {
+ margin-left: 0 !important;
+ }
+ }
+
+ .awesome_footer {
+ margin-left: $sidebar_toggle_one_width;
+
+ @include media-breakpoint-down(sm) {
+ margin-left: 0 !important;
+ }
+ }
+ }
+ }
+
+ &.navigation-toggle-none {
+
+ .sidebar_menu {
+ margin-left: -$sidebar_toggle_one_width !important;
+ width: $sidebar_toggle_one_width;
+ }
+
+ .awesome_header {
+ margin-left: 0px;
+ .navigation-toggler {
+ transform: rotate(180deg);
+ }
+ }
+
+
+ .awesome_footer {
+ margin-left: 0px
+ }
+
+ .o_action_manager {
+ margin-left: 0px;
+ display: flex;
+ }
+
+ &.navigation-show {
+ .sidebar_menu {
+ left: 0;
+ opacity: 1;
+ display: flex;
+ z-index: 1000;
+ }
+ }
+ }
+}
+
+
+@include media-breakpoint-down(sm) {
+
+ .sidebar_menu {
+ z-index: 1000;
+ left: -300px !important;
+ top: 0;
+ bottom: 0;
+ position: fixed !important;
+ transition: left 0.3s ease-in-out 0s;
+
+ &.open {
+ left: 0;
+ }
+
+ header {
+ &.navigation-header {
+ padding-top: 20px
+ }
+ }
+
+ .navigation-logo {
+ height: 45px;
+ }
+ }
+
+ body {
+ &.navigation-show {
+
+ .sidebar_menu {
+ left: 0 !important;
+ width: $sidebar_toggle_two_width !important;
+ }
+
+ &.not_have_child {
+ .sidebar_menu {
+ width: $sidebar_toggle_one_width !important;
+ }
+ }
+ }
+
+ &.navigation-toggle-one,
+ &.navigation-toggle-two {
+
+ .o_action_manager,
+ .awesome_footer {
+ margin-left: 0px !important;
+ }
+ }
+ }
+
+ .awesome_header {
+
+ margin-left: 0 !important;
+ padding: 0 1rem;
+
+ .navigation-toggler {
+ display: none !important
+ }
+
+ .navigation-toggler.mobile-toggler {
+ display: block !important
+ }
+ }
+
+ .o_action_manager {
+ margin-left: 0px !important;
+ }
+}
+
+body.white {
+ .app_item:hover, .app_item.active {
+
+ svg {
+ path {
+ fill: #fff !important;
+ }
+ }
+
+ .app_name {
+ color: #fff !important;
+ }
+ }
+}
+
diff --git a/awesome_theme/static/src/components/sidebar/awesome_sidebar_app_item.js b/awesome_theme/static/src/components/sidebar/awesome_sidebar_app_item.js
new file mode 100644
index 000000000..6847002d3
--- /dev/null
+++ b/awesome_theme/static/src/components/sidebar/awesome_sidebar_app_item.js
@@ -0,0 +1,79 @@
+/** @odoo-module **/
+
+import { useService } from "@web/core/utils/hooks";
+import { Component, useState, onMounted, onWillUnmount, markup } from "@odoo/owl";
+
+import theme_setting from "anita_theme_setting.theme_setting";
+const settings = theme_setting.settings
+
+
+export class SideBarAppItem extends Component {
+
+ setup() {
+ super.setup();
+ this.menuService = useService("menu");
+ this.state = useState({
+ active: false
+ })
+
+ this.icon_policy = settings.icon_policy;
+ if (this.app.svg_icon) {
+ this.app.svg_icon = markup(this.app.svg_icon)
+ }
+
+ onMounted(() => {
+ this.env.bus.addEventListener("MENUS:APP-CHANGED", this.on_app_changed.bind(this));
+ });
+
+ onWillUnmount(() => {
+ this.env.bus.off("MENUS:APP-CHANGED", this);
+ });
+ }
+
+ on_app_changed() {
+
+ // current app
+ var current_app = this.menuService.getCurrentApp();
+
+ // get the first app
+ var first_app = current_app;
+ while (first_app.parent) {
+ first_app = first_app.parent;
+ first_app.open = true
+ }
+
+ if (first_app.id == this.app.id) {
+ this.state.active = true;
+ } else {
+ this.state.active = false;
+ }
+ }
+
+ getMenuItemHref() {
+ const parts = [`menu_id=${this.app.id}`];
+ if (this.app.action) {
+ parts.push(`action=${this.app.action.split(",")[1]}`);
+ }
+ return "#" + parts.join("&");
+ }
+
+ get app() {
+ return this.props.app;
+ }
+
+ click_app_item(event) {
+ this.state.active = true;
+ let $target = $(event.currentTarget);
+ let $slibings = $target.siblings();
+ $slibings.removeClass('active');
+ this.menuService.selectMenu(this.app);
+ }
+};
+
+SideBarAppItem.props = {
+ app: {
+ type: Object
+ }
+};
+
+SideBarAppItem.template = "awesome_theme.sidebar_app_item";
diff --git a/awesome_theme/static/src/components/sidebar/awesome_sidebar_app_item.xml b/awesome_theme/static/src/components/sidebar/awesome_sidebar_app_item.xml
new file mode 100644
index 000000000..38bd4dd54
--- /dev/null
+++ b/awesome_theme/static/src/components/sidebar/awesome_sidebar_app_item.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/awesome_theme/static/src/components/sidebar/awesome_sidebar_menu.js b/awesome_theme/static/src/components/sidebar/awesome_sidebar_menu.js
new file mode 100644
index 000000000..da9f25a4b
--- /dev/null
+++ b/awesome_theme/static/src/components/sidebar/awesome_sidebar_menu.js
@@ -0,0 +1,254 @@
+/** @odoo-module **/
+
+import { Component, onWillUnmount, useState, useRef, onWillStart } from "@odoo/owl";
+
+import { SideBarAppItem } from "./awesome_sidebar_app_item";
+import { AppTabPane } from "./awesome_sidebar_tab_pane";
+import { UserProfile } from "../user_profile/user_profile";
+import { session } from '@web/session'
+
+import { useService, useBus } from "@web/core/utils/hooks";
+import { _t } from "@web/core/l10n/translation";
+
+import theme_setting from "anita_theme_setting.theme_setting";
+const settings = theme_setting.settings
+
+
+export class SideBarMenu extends Component {
+
+ setup() {
+ this.currentAppSectionsExtra = [];
+
+ this.actionService = useService("action");
+ this.menuService = useService("menu");
+ this.appCenter = useService("app_center");
+ this.orm = useService("orm");
+
+ this.menu_root = this.menuService.getMenu('root');
+ this.icon_policy = settings.icon_policy;
+
+ // refs
+ this.appsRef = useRef("apps");
+ this.settings = settings;
+
+ function post_deal_app_data(app) {
+ if (app.childrenTree) {
+
+ for (let index = 0; index < app.childrenTree.length; index++) {
+ let child = app.childrenTree[index];
+ child.is_open = false;
+ child.parent = app;
+ if (child.childrenTree) {
+ post_deal_app_data(child)
+ }
+ }
+
+ }
+ }
+
+ // add favorite app
+ this.env.bus.addEventListener("add-favorite-app", this._onAddFavoriteApp.bind(this));
+ // remove favorite app
+ this.env.bus.addEventListener("remove-favorite-app", this._onRemoveFavoriteApp.bind(this));
+
+ // add the active app
+ var apps = this.menuService.getApps();
+ apps.map((app) => {
+ let imgtype = 'png'
+
+ // rewrite up code
+ if (app.webIcon && app.webIcon.endsWith('.svg')) {
+ imgtype = 'svg+xml'
+ }
+
+ app['webIconData'] = `data:image/${imgtype};base64,${app['webIconData']}`
+ app.active = false;
+ app.childrenTree = this.menuService.getMenuAsTree(app.id).childrenTree
+ post_deal_app_data(app)
+ })
+
+ // get all menus
+ this.state = useState({
+ apps: [],
+ fullscreen: false,
+ });
+
+ useBus(this.env.bus, "ACTION_MANAGER:UI-UPDATED", ({ detail: mode }) => {
+ if (mode !== "new") {
+ this.state.fullscreen = mode === "fullscreen";
+ }
+ });
+
+ // load the favorite apps
+ onWillStart(async () => {
+ if (this.settings.favorite_mode) {
+ let favorites = await this.orm.searchRead(
+ "anita_theme_setting.favorite_menu", [['uid', '=', session.uid]], []);
+ if (favorites.length > 0) {
+ let favorite_apps = []
+ favorites.forEach((favorite) => {
+ let app = this._getAppByID(favorite.menu_id[0])
+ if (app) {
+ app['sequence'] = favorite.sequence
+ favorite_apps.push(app)
+ }
+ })
+ // unique the favorite apps
+ let app_map = {};
+ favorite_apps.forEach((app, index) => {
+ let imgtype = 'png'
+ if (app.webIcon && _.str.endsWith(app.webIcon, '.svg')) {
+ imgtype = 'svg+xml'
+ }
+ app['webIconData'] = `data:image/${imgtype};base64,${app['webIconData']}`
+ app_map[app.id] = app;
+ })
+ favorite_apps = Object.values(app_map);
+ favorite_apps.sort((a, b) => a.sequence - b.sequence)
+ this.state.apps = favorite_apps
+ } else {
+ this.state.apps = [];
+ }
+ } else {
+ this.state.apps = apps;
+ }
+ });
+
+ onWillUnmount(() => {
+ this.env.bus.off("MENUS:APP-CHANGED", this);
+ });
+ }
+
+ /**
+ * on app droped
+ * @param {*} app_id
+ */
+ async _onAddFavoriteApp(info) {
+
+ let { app_id, index } = info;
+ app_id = parseInt(app_id)
+ let app = this._getAppByID(app_id);
+ if (!app) {
+ return;
+ }
+
+ this.state.apps.splice(index, 0, app);
+
+ // update the sequence
+ for (let i = 0; i < this.state.apps.length; i++) {
+ this.state.apps[i].sequence = i;
+ }
+
+ // remove the duplicate app
+ let app_map = {};
+ this.state.apps.forEach((app, index) => {
+ app_map[app.id] = app;
+ });
+ this.state.apps = Object.values(app_map);
+
+ // update the favorite
+ let datas = [];
+ this.state.apps.forEach((app, index) => {
+ datas.push({
+ menu_id: app.id,
+ sequence: app.sequence
+ })
+ })
+
+ await this._updateFavorites(datas);
+ this.render();
+ }
+
+ /**
+ * remove app from favorite
+ * @param {*} app_id
+ */
+ async _onRemoveFavoriteApp(app_id) {
+ this._updateFavorites();
+ }
+
+ /**
+ * get from state first adn then from menuService
+ * @param {*} id
+ * @returns
+ */
+ _getAppByID(id) {
+ // keep the state
+ let app = this.state.apps.find((app) => app.id === id);
+ if (!app) {
+ var apps = this.menuService.getApps();
+ return apps.find((app) => app.id === id);
+ } else {
+ return app;
+ }
+ }
+
+ _onAppChanged(app) {
+ var self = this;
+ function post_deal_app_data(app) {
+ self.menu_data[app.id] = app
+ if (app.childrenTree) {
+ for (let index = 0; index < app.childrenTree.length; index++) {
+ let child = app.childrenTree[index];
+ child.is_open = false;
+ child.parent = app;
+ if (child.childrenTree) {
+ post_deal_app_data(child)
+ } else {
+ self.menu_data[child.id] = child
+ }
+ }
+ }
+ }
+ // add the active app
+ var apps = this.menuService.getApps();
+ apps.map((app) => {
+ app.active = false;
+ app.childrenTree = this.menuService.getMenuAsTree(app.id).childrenTree
+ post_deal_app_data(app)
+ })
+ this.state.apps = apps;
+ }
+
+ _board_toggler_click() {
+ this.appCenter.toggle();
+ }
+
+ async _updateFavorites(datas) {
+ if (!datas) {
+ datas = []
+ let favorites = this.appsRef.el.querySelectorAll('.app_item')
+ for (let index = 0; index < favorites.length; index++) {
+ let favorite = $(favorites[index]);
+ datas.push({
+ 'sequence': parseInt(favorite.index()),
+ 'menu_id': parseInt(favorite.attr('app-id'))
+ })
+ }
+ }
+
+ if (datas.length > 0) {
+ let favorites = await this.orm.call(
+ 'anita_theme_setting.favorite_menu', 'update_favorite_menu', [datas])
+ // update favorite apps
+ if (favorites.length > 0) {
+ let favorite_apps = []
+ favorites.forEach((favorite) => {
+ let app = this._getAppByID(favorite.menu_id[0])
+ if (app) {
+ app['sequence'] = favorite.sequence
+ favorite_apps.push(app)
+ }
+ })
+ favorite_apps.sort((a, b) => a.sequence - b.sequence)
+ this.state.apps = favorite_apps
+ } else {
+ this.state.apps = [];
+ }
+ }
+ }
+};
+
+SideBarMenu.components = { SideBarAppItem, AppTabPane, UserProfile };
+SideBarMenu.props = {};
+SideBarMenu.template = 'awesome_theme.sidebar_menu';
diff --git a/awesome_theme/static/src/components/sidebar/awesome_sidebar_menu.xml b/awesome_theme/static/src/components/sidebar/awesome_sidebar_menu.xml
new file mode 100644
index 000000000..7deae14db
--- /dev/null
+++ b/awesome_theme/static/src/components/sidebar/awesome_sidebar_menu.xml
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/awesome_theme/static/src/components/sidebar/awesome_sidebar_tab_pane.js b/awesome_theme/static/src/components/sidebar/awesome_sidebar_tab_pane.js
new file mode 100644
index 000000000..50d266e41
--- /dev/null
+++ b/awesome_theme/static/src/components/sidebar/awesome_sidebar_tab_pane.js
@@ -0,0 +1,165 @@
+/** @odoo-module **/
+
+import { useService } from "@web/core/utils/hooks";
+import { Component, useRef, useState, useEffect, onMounted, onWillUnmount } from "@odoo/owl";
+
+
+export class AppTabPane extends Component {
+
+ setup() {
+ super.setup();
+
+ this.menuService = useService("menu");
+ this.router = useService("router");
+ this.state = useState({ active: false, current_menu_id: false });
+ this.action_data = {}
+ this.menu_data = {}
+
+ this.rootRef = useRef("root");
+
+ useEffect(
+ () => {
+ // let menu_container = this.rootRef.el.querySelector('.menu_container')
+ // let ps = new PerfectScrollbar(menu_container);
+ // return () => {
+ // ps.destroy();
+ // ps = null;
+ // }
+ },
+ () => [this.rootRef.el]
+ );
+
+
+ let self = this;
+ function post_deal_app_data(app) {
+ if (app.actionID) {
+ self.action_data[app.actionID] = app
+ self.menu_data[app.id] = app
+ }
+ if (app.childrenTree) {
+ for (let index = 0; index < app.childrenTree.length; index++) {
+ let child = app.childrenTree[index];
+ if (child.childrenTree) {
+ post_deal_app_data(child)
+ } else {
+ self.menu_data[child.id] = child
+ if (child.actionID) {
+ self.action_data[child.actionID] = child
+ }
+ }
+ }
+ }
+ }
+ post_deal_app_data(this.props.app);
+
+ onMounted(() => {
+ this.env.bus.addEventListener("MENUS:APP-CHANGED", this.on_app_changed.bind(this));
+ });
+
+ onWillUnmount(() => {
+ this.env.bus.off("MENUS:APP-CHANGED", this);
+ });
+ }
+
+ get app() {
+ return this.props.app;
+ }
+
+ on_app_changed() {
+
+ // current app
+ var current_app = this.menuService.getCurrentApp();
+
+ if (!current_app.childrenTree
+ || current_app.childrenTree.length == 0)
+ {
+ $('body').addClass('not_have_child');
+ return
+ } else {
+ $('body').removeClass('not_have_child');
+ }
+
+ // get the first app
+ var first_app = current_app;
+ while (first_app.parent) {
+ first_app = first_app.parent;
+ first_app.open = true;
+ }
+
+ if (first_app.id == this.app.id) {
+ this.state.active = true;
+ } else {
+ this.state.active = false;
+ }
+
+ // select the sub menu
+ let actionId = Number(this.router.current.hash.action || undefined);
+ // let menu_id = Number(this.router.current.hash.menu_id || undefined);
+ let menu_id = undefined;
+
+ let menu_data = undefined;
+ if (menu_id) {
+ this.state.current_menu_id = menu_id;
+ menu_data = this.menu_data[menu_id];
+ } else if (this.action_data[actionId]) {
+ menu_data = this.action_data[actionId];
+ this.state.current_menu_id = menu_data.id;
+ } else {
+ this.state.current_menu_id = false;
+ }
+
+ if (menu_data) {
+ let parent = menu_data.parent
+ while (parent) {
+ parent.open = true;
+ parent = parent.parent;
+ }
+ }
+ }
+
+ get app() {
+ return this.props.app;
+ }
+
+ get children() {
+ return this.app.childrenTree;
+ }
+
+ getMenuItemHref(app) {
+ const parts = [`menu_id=${app.id}`];
+ if (app.action) {
+ parts.push(`action=${app.action.split(",")[1]}`);
+ }
+ return "#" + parts.join("&");
+ }
+
+ click_menu_item(menu) {
+ if (!menu.childrenTree || menu.childrenTree.length == 0) {
+ this.state.current_menu_id = menu.id;
+ }
+ this.menuService.selectMenu(menu);
+ }
+
+ toggle_sub_menu(menu, event) {
+ // inverse the state
+ let $target = $(event.currentTarget)
+ let $ul = $target.next("ul").toggle(200)
+ if ($ul.length) {
+ let $arrow = $target.find('.sub-menu-arrow')
+ if (menu.open) {
+ $arrow.addClass('rotate-in')
+ } else {
+ $arrow.removeClass('rotate-in')
+ }
+ }
+ menu.open = !menu.open
+ }
+};
+
+AppTabPane.props = {
+ app: {
+ type: Object
+ }
+};
+
+AppTabPane.template = "awesome_theme.app_tab_pane";
diff --git a/awesome_theme/static/src/components/sidebar/awesome_sidebar_tab_pane.xml b/awesome_theme/static/src/components/sidebar/awesome_sidebar_tab_pane.xml
new file mode 100644
index 000000000..e9ce4797e
--- /dev/null
+++ b/awesome_theme/static/src/components/sidebar/awesome_sidebar_tab_pane.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/awesome_theme/static/src/components/user_profile/user_profile.js b/awesome_theme/static/src/components/user_profile/user_profile.js
new file mode 100644
index 000000000..6587805d3
--- /dev/null
+++ b/awesome_theme/static/src/components/user_profile/user_profile.js
@@ -0,0 +1,5 @@
+/** @odoo-module **/
+
+import { UserMenu } from "@web/webclient/user_menu/user_menu";
+
+export class UserProfile extends UserMenu {};
diff --git a/awesome_theme/static/src/components/webclient/webclient.js b/awesome_theme/static/src/components/webclient/webclient.js
new file mode 100644
index 000000000..f251112b4
--- /dev/null
+++ b/awesome_theme/static/src/components/webclient/webclient.js
@@ -0,0 +1,25 @@
+/** @odoo-module **/
+
+import { SideBarMenu } from "../sidebar/awesome_sidebar_menu";
+import { AwesomeHeader } from "../header/awesome_header";
+import { AnitaWebClient } from "@anita_theme_setting/components/webclient/webclient";
+// import { AwesomeFooter } from "../footer/awesome_footer";
+
+import { patch } from "@web/core/utils/patch";
+
+import theme_setting from "anita_theme_setting.theme_setting";
+const settings = theme_setting.settings
+
+patch(AnitaWebClient.prototype, {
+ setup() {
+ super.setup(...arguments);
+ }
+});
+
+AnitaWebClient.template = "awesome_theme.web_client";
+AnitaWebClient.components = {
+ ...AnitaWebClient.components,
+ AwesomeHeader,
+ SideBarMenu,
+ // AwesomeFooter
+};
\ No newline at end of file
diff --git a/awesome_theme/static/src/components/webclient/webclient.xml b/awesome_theme/static/src/components/webclient/webclient.xml
new file mode 100644
index 000000000..c7fe41be1
--- /dev/null
+++ b/awesome_theme/static/src/components/webclient/webclient.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/awesome_theme/static/xml/misc.xml b/awesome_theme/static/xml/misc.xml
new file mode 100644
index 000000000..c3edb5b56
--- /dev/null
+++ b/awesome_theme/static/xml/misc.xml
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ Create
+
+
+
+
+
+
+ Save
+
+
+
+
+
+
+ Discard
+
+
+
+
+
+
+ Action
+
+ Toggle Dropdown
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ actions
+
+
+
+
+
+
diff --git a/awesome_theme/static/xml/webclient.xml b/awesome_theme/static/xml/webclient.xml
new file mode 100644
index 000000000..a6771bd2a
--- /dev/null
+++ b/awesome_theme/static/xml/webclient.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/awesome_theme/views/awesome_res_setting.xml b/awesome_theme/views/awesome_res_setting.xml
new file mode 100644
index 000000000..8b460d36c
--- /dev/null
+++ b/awesome_theme/views/awesome_res_setting.xml
@@ -0,0 +1,317 @@
+
+
+
+
+
+ Theme Settings
+ res.config.settings
+
+
+
+
+
+
+
+
Theme settings
+
+
+
+
+
+
+
+
+ Theme Setting Mode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Theme Mode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Theme Style
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ layout mode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Select A Button Style
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Select Dialog Pop Animation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Login Style
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tab Style
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Select Table Style
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Input Style
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Select Font Name
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Form Control Style
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Default title
+
+
+
+
+
+
+
+
+
+
+
+
+ Allow Debug
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Powered By
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Menu Icon Policy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Settings
+ ir.actions.act_window
+ res.config.settings
+
+ form
+ inline
+
+
+
+