Commit d327191f authored by wanli's avatar wanli

update

parent 4c7657f8
......@@ -54,11 +54,11 @@ class SignalManager(object):
actionUpdateAnnex = PySignal()
# 系统框架模块
actionAddFramework = PySignal()
actionDeleteFramework = PySignal()
actionGetFramework = PySignal()
actionGetFrameworkList = PySignal()
actionUpdateFramework = PySignal()
actionAddDevice = PySignal()
actionDeleteDevice = PySignal()
actionGetDevice = PySignal()
actionGetDeviceList = PySignal()
actionUpdateDevice = PySignal()
# 应用下载统计模块
actionAddDownload = PySignal()
......
......@@ -4,14 +4,15 @@ import os
import json
import logging
from app import signalManager
from .api_manager import apiManager
from .user_manager import userManager
from .login_manager import loginManager
from .annex_manager import annexManager
from .upload_manager import uploadManager
from .apps_manager import appsManager
from .menu_manager import menuManager
from .device_manager import deviceManager
from .download_manager import downloadManager
from .framework_manager import frameworkManager
from .build_logs_manager import buildLogsManager
logger = logging.getLogger("controller")
......@@ -19,6 +20,7 @@ logger = logging.getLogger("controller")
def initConnect():
# 系统模块
signalManager.actionUploadFile.connect(uploadManager.upload)
signalManager.actionUpdatePassword.connect(apiManager.update_user_password)
# 登录模块
signalManager.actionLogin.connect(loginManager.login)
......@@ -32,6 +34,13 @@ def initConnect():
signalManager.actionGetAppList.connect(appsManager.getList)
signalManager.actionUpdateApp.connect(appsManager.update)
# 设备管理
signalManager.actionAddDevice.connect(deviceManager.add)
signalManager.actionDeleteDevice.connect(deviceManager.delete)
signalManager.actionGetDevice.connect(deviceManager.get)
signalManager.actionGetDeviceList.connect(deviceManager.getList)
signalManager.actionUpdateDevice.connect(deviceManager.update)
# 打包记录
signalManager.actionAddBuildLog.connect(buildLogsManager.add)
signalManager.actionDeleteBuildLog.connect(buildLogsManager.delete)
......@@ -53,13 +62,6 @@ def initConnect():
signalManager.actionGetAnnexList.connect(annexManager.getList)
signalManager.actionUpdateAnnex.connect(annexManager.update)
# 系统框架模块
signalManager.actionAddFramework.connect(frameworkManager.add)
signalManager.actionDeleteFramework.connect(frameworkManager.delete)
signalManager.actionGetFramework.connect(frameworkManager.get)
signalManager.actionGetFrameworkList.connect(frameworkManager.getList)
signalManager.actionUpdateFramework.connect(frameworkManager.update)
# 应用下载统计模块
signalManager.actionAddDownload.connect(downloadManager.add)
signalManager.actionDeleteDownload.connect(downloadManager.delete)
......
#!/usr/bin/env python
# -*- coding: utf_8 -*-
import time
import json
import logging
import traceback
import uuid
from datetime import datetime
from pony.orm import *
from flask import request
from model import fullStackDB
from model.user import User
from utils import md5_salt
logger = logging.getLogger("ApiManager")
class ApiManager(object):
def __init__(self):
super(ApiManager, self).__init__()
def update_user_password(self, data):
with db_session:
editor = User.get(id=request.current_user.get("id"))
if not editor:
return False, "current user is not exists"
result = User.get(uuid=data.get("uuid"), password=md5_salt(data['password']))
if not result:
return None, "user does not exists"
data.pop("uuid")
data['password'] = md5_salt(data['newPassword'])
data.pop('newPassword')
data.update({
"create_by": editor.id,
"create_at": datetime.now(),
"update_by": editor.id,
"update_at": datetime.now()
})
result = result.set(**data)
commit()
return True, "success"
apiManager = ApiManager()
......@@ -2,6 +2,7 @@
# -*- coding: utf_8 -*-
import os
import re
import shutil
import copy
import time
......@@ -43,14 +44,11 @@ class AppsManager(object):
'update_at': datetime.now(),
})
icon = Annex(title=data.get("app_icon").get("filename"), path=data.get("app_icon").get("filepath"), size=data.get("app_icon").get("filesize"), create_by=editor, create_at=datetime.now(), update_by=editor, update_at=datetime.now())
commit()
app_files = []
if data.get("app_files"):
app_files = data.get("app_files")
data.pop("app_files")
data.update({ "app_icon": icon })
data.update({ "app_icon": data.get("app_icon").get("filepath") })
app = Apps(**data)
commit()
......@@ -68,7 +66,11 @@ class AppsManager(object):
for f in app_files:
filename = os.path.basename(f.get("filepath"))
target_f = copy.deepcopy(f)
target_filepath = os.sep.join([target_path, filename])
name, suffix = os.path.splitext(filename)
name = re.sub(r"_\d{14}$", "", name)
target_filepath = os.sep.join([target_path, name + suffix])
target_f['filepath'] = target_filepath
target_files.append(target_f)
shutil.copy(f.get("filepath"), target_f['filepath'])
......@@ -102,7 +104,6 @@ class AppsManager(object):
result = Apps.get(uuid=uuid)
if result:
result.app_icon.delete()
result.delete()
return result, "delete app {}.".format("success" if result else "fail")
......@@ -124,9 +125,17 @@ class AppsManager(object):
temp.pop('pagesize')
if 'scope_type' in temp:
temp.pop('scope_type')
temp.setdefault("is_delete", False)
with db_session:
editor = User.get(id=user)
if not editor:
return False, "current user is not exists"
if editor.role == "ADMIN":
temp.update({"is_delete": False})
else:
temp.update({ "create_by": editor, "is_delete": False })
if "scope_type" in data and data.get("scope_type") == "list":
result = Apps.select().where(**temp).order_by(desc(Apps.create_at))
temp = []
......@@ -140,9 +149,9 @@ class AppsManager(object):
if result and len(result):
temp = []
for item in result:
t = item.to_dict(with_collections=True, related_objects=True, exclude=["app_annex", "app_download", "app_icon", "is_delete", "delete_by", "delete_at"])
t = item.to_dict(with_collections=True, related_objects=True, exclude=["app_annex", "app_download", "is_delete", "delete_by", "delete_at"])
t.update({
"app_build_log": item.app_build_log.to_dict(exclude=["is_delete", "delete_by", "delete_at", "create_by", "update_by"]),
"app_build_log": item.app_build_log.to_dict(exclude=["is_delete", "delete_by", "delete_at", "create_by", "update_by"]) if item.app_build_log else None,
"create_by": item.create_by.to_dict(only=["uuid", "username"]),
"update_by": item.update_by.to_dict(only=["uuid", "username"]),
"create_at": item.create_at.strftime("%Y-%m-%d %H:%M:%S") if item.create_at else None,
......
......@@ -123,33 +123,42 @@ class BuildLogsManager(object):
temp.pop('pagesize')
if 'scope_type' in temp:
temp.pop('scope_type')
temp.setdefault("is_delete", False)
if "scope_type" in data and data.get("scope_type") == "list":
result = BuildLogs.select().where(**temp).order_by(desc(BuildLogs.create_at))
temp = []
for item in result:
temp.append(item.to_dict(only=["uuid"]))
return temp, len(temp), "get build_logs {}.".format("success" if temp else "fail")
result = fullStackDB.pagination(BuildLogs, BuildLogs.create_at, pagenum=data.get("pagenum", 1), pagesize=data.get("pagesize", 10), **temp)
count = fullStackDB.count(BuildLogs, **temp)
if result and len(result):
temp = []
for item in result:
t = item.to_dict(with_collections=True, related_objects=True, exclude=["is_delete", "delete_by", "delete_at"])
t.update({
"app": item.app.to_dict(exclude=["is_delete", "delete_by", "delete_at"]),
"create_by": item.create_by.to_dict(only=["uuid", "username"]),
"update_by": item.update_by.to_dict(only=["uuid", "username"]),
"create_at": item.create_at.strftime("%Y-%m-%d %H:%M:%S") if item.create_at else None,
"update_at": item.update_at.strftime("%Y-%m-%d %H:%M:%S") if item.update_at else None,
})
temp.append(t)
result = temp
return result, count, "get build_logs {}.".format("success" if result else "no data")
with db_session:
editor = User.get(id=user)
if not editor:
return False, "current user is not exists"
if editor.role == "USER":
temp.update({"create_by": editor, "is_delete": False})
else:
temp.update({"is_delete": False})
if "scope_type" in data and data.get("scope_type") == "list":
result = BuildLogs.select().where(**temp).order_by(desc(BuildLogs.create_at))
temp = []
for item in result:
temp.append({ "name": item.app.app_name, "uuid": str(item.uuid) })
return temp, len(temp), "get build_logs {}.".format("success" if temp else "fail")
result = BuildLogs.select().where(**temp).order_by(desc(BuildLogs.create_at)).page(data.get("pagenum", 1), pagesize=data.get("pagesize", 10))
count = BuildLogs.select().where(**temp).count()
if result and len(result):
temp = []
for item in result:
t = item.to_dict(with_collections=True, related_objects=True, exclude=["is_delete", "delete_by", "delete_at"])
t.update({
"app": item.app.to_dict(exclude=["is_delete", "delete_by", "delete_at"]),
"create_by": item.create_by.to_dict(only=["uuid", "username"]),
"update_by": item.update_by.to_dict(only=["uuid", "username"]),
"create_at": item.create_at.strftime("%Y-%m-%d %H:%M:%S") if item.create_at else None,
"update_at": item.update_at.strftime("%Y-%m-%d %H:%M:%S") if item.update_at else None,
})
temp.append(t)
result = temp
return result, count, "get build_logs {}.".format("success" if result else "no data")
def update(self, user, uuid, data):
# 当参数为空时,直接返回错误
......@@ -162,6 +171,6 @@ class BuildLogsManager(object):
return False, "current user is not exists"
result = fullStackDB.update(BuildLogs, { 'uuid': uuid }, update_at=datetime.now(), update_by=editor, **data)
return result, "update permission {}.".format("success" if result else "fail")
return result, "update build log {}.".format("success" if result else "fail")
buildLogsManager = BuildLogsManager()
#!/usr/bin/env python
# -*- coding: utf_8 -*-
import copy
import time
import types
import json
import logging
import traceback
from datetime import datetime
from pony.orm import *
from model import fullStackDB
from model.device import Device
from model.user import User
from utils import sql_filter
logger = logging.getLogger("DeviceManager")
class DeviceManager(object):
def __init__(self):
super(DeviceManager, self).__init__()
def add(self, user, data):
with db_session:
editor = User.get(id=user)
if not editor:
return False, "current user is not exists"
device = Device.select().where(imei=data.get("imei")).first()
if device:
return False, "device has been exists"
data.update({
'create_by': editor,
'create_at': datetime.now(),
'update_by': editor,
'update_at': datetime.now(),
})
result = Device(**data)
commit()
return result, "add Device {}.".format("success" if result else "fail")
def delete(self, user, uuid):
editor = User.get(id=user)
if not editor:
return False, "current user is not exists"
result = fullStackDB.update(Device, { 'uuid': uuid }, is_delete=True, delete_at=datetime.now(), delete_by=editor)
return result, "delete Device {}.".format("success" if result else "fail")
def get(self, user, data):
result = Device.get(**data)
if result:
result = result.to_dict(with_collections=True, related_objects=True, only=["uuid", "create_at", "update_at", "delete_at"])
return result, "get Device {}.".format("success" if result else "fail")
def getList(self, user, data):
if not data or len(data) <= 0:
return False, 0, "parameters can not be null."
temp = copy.deepcopy(data)
if 'pagenum' in temp:
temp.pop('pagenum')
if 'pagesize' in temp:
temp.pop('pagesize')
if 'scope_type' in temp:
temp.pop('scope_type')
with db_session:
editor = User.get(id=user)
if not editor:
return False, "current user is not exists"
if editor.role == "ADMIN":
temp.update({ "is_delete": False })
else:
temp.update({"create_by": editor, "is_delete": False})
if "scope_type" in data and data.get("scope_type") == "list":
result = Device.select().where(**temp).order_by(desc(Device.create_at))
temp = []
for item in result:
temp.append(item.to_dict(only=["uuid", "name"]))
return temp, len(temp), "get select {}.".format("success" if temp else "no data")
result = Device.select().where(**temp).order_by(desc(Device.create_at)).page(data.get("pagenum", 1), data.get("pagesize", 10))
count = Device.select().where(**temp).count()
if result and len(result):
temp = []
for item in result:
t = item.to_dict(with_collections=True, related_objects=True, exclude=["is_delete", "delete_at", "delete_by"])
t.update({
"create_at": item.create_at.strftime("%Y-%m-%d %H:%M:%S"),
"update_at": item.update_at.strftime("%Y-%m-%d %H:%M:%S"),
"create_by": item.create_by.to_dict(only=["uuid", "username"]),
"update_by": item.update_by.to_dict(only=["uuid", "username"])
})
temp.append(t)
result = temp
return result, count, "get Device {}.".format("success" if result else "no data")
def update(self, user, uuid, data):
# 当参数为空时,直接返回错误
if len(data) <= 0 or (len(data.keys()) == 1 and "id" in data):
return False, "parameters can not be null."
with db_session:
# 查询请求者是否存在
editor = User.get(id=user)
if not editor:
return False, "current user is not exists"
if data.get("imei"):
device = Device.select().where(imei=data.get("imei")).first()
if device:
return False, "device has been exists"
result = Device.get(uuid=uuid)
if result:
result.set(update_at=datetime.now(), update_by=editor, **data)
commit()
return result, "update role {}.".format("success" if result else "fail")
deviceManager = DeviceManager()
......@@ -18,7 +18,7 @@ from flask import request
from app.setting import config, conf
from model import fullStackDB
from model.download import AppDownload
from model.framework import Framework
from model.device import Device
from model.apps import Apps
from model.user import User
from utils import sql_filter
......@@ -91,26 +91,33 @@ class DownloadManager(object):
# 此次下载将生成一次下载记录
# 当前还没有校验前端传来的IMEI是否是合法的
epk_path = ""
# 根据IMEI查找设备,根据设备查找用户,根据用户查找应用
app = None
with db_session:
# 根据应用UUID查找相关应用
app = Apps.select(app_name=data.get("id")).order_by(desc(Apps.create_at)).first()
# 根据IMEI查找设备
device = Device.select().where(imei=data.get("imei")).first()
if not device:
return False, "device not found"
if not app:
return False, "app not found"
if not device.create_by:
return False, "create user is null"
tmp = app.to_dict(with_collections=True, related_objects=True)
if app.app_build_log:
epk_path = os.sep.join([os.getcwd(), app.app_build_log.app_path])
if not os.path.exists(epk_path):
return False, "epk file not found"
app = Apps.select(app_name=data.get("id"), create_by=device.create_by).order_by(desc(Apps.create_at)).first()
if not app:
return False, "app not found"
epk_path = ""
if app.app_build_log:
epk_path = os.sep.join([os.getcwd(), app.app_build_log.app_path])
if not os.path.exists(epk_path):
return False, "epk file not found"
if app:
AppDownload(app=app, imei=data.get("imei"))
commit()
if app:
AppDownload(app=app, imei=data.get("imei"))
commit()
return epk_path, "get dictionary {}.".format("success" if epk_path else "no data")
return epk_path, "get dictionary {}.".format("success" if epk_path else "no data")
def getList(self, data):
if not data or len(data) <= 0:
......
#!/usr/bin/env python
# -*- coding: utf_8 -*-
import copy
import time
import types
import json
import logging
import traceback
from datetime import datetime
from pony.orm import *
from flask import request
from model import fullStackDB
from model.framework import Framework
from model.user import User
from utils import sql_filter
logger = logging.getLogger("FrameworkManager")
class FrameworkManager(object):
def __init__(self):
super(FrameworkManager, self).__init__()
def add(self, data):
editor = User.get(id=request.current_user.get("id"))
if not editor:
return False, "current user is not exists"
data.update({
'create_by': editor,
'create_at': datetime.now(),
'update_by': editor,
'update_at': datetime.now(),
})
result = fullStackDB.add(Framework, **data)
return result, "add framework {}.".format("success" if result else "fail")
def delete(self, uuid):
editor = User.get(id=request.current_user.get("id"))
if not editor:
return False, "current user is not exists"
result = fullStackDB.update(Framework, { 'uuid': uuid }, is_delete=True, delete_at=datetime.now(), delete_by=editor)
return result, "delete framework {}.".format("success" if result else "fail")
def get(self, data):
result = Framework.get(**data)
if result:
result = result.to_dict(with_collections=True, related_objects=True, only=["uuid", "create_at", "update_at", "delete_at"])
return result, "get framework {}.".format("success" if result else "fail")
def getList(self, data):
if not data or len(data) <= 0:
return False, 0, "parameters can not be null."
temp = copy.deepcopy(data)
if 'pagenum' in temp:
temp.pop('pagenum')
if 'pagesize' in temp:
temp.pop('pagesize')
if 'scope_type' in temp:
temp.pop('scope_type')
temp.setdefault("is_delete", False)
if "scope_type" in data and data.get("scope_type") == "list":
result = Framework.select().where(**temp).order_by(desc(Framework.create_at))
temp = []
for item in result:
temp.append(item.to_dict(only=["uuid", "name"]))
return temp, len(temp), "get select {}.".format("success" if temp else "no data")
result = fullStackDB.pagination(Framework, Framework.create_at, pagenum=data.get("pagenum", 1), pagesize=data.get("pagesize", 10), **temp)
count = fullStackDB.count(Framework, **temp)
if result and len(result):
temp = []
for item in result:
t = item.to_dict(with_collections=True, related_objects=True, exclude=["is_delete", "delete_at", "delete_by"])
t.update({
"create_at": item.create_at.strftime("%Y-%m-%d %H:%M:%S"),
"update_at": item.update_at.strftime("%Y-%m-%d %H:%M:%S"),
"create_by": item.create_by.to_dict(only=["uuid", "username"]),
"update_by": item.update_by.to_dict(only=["uuid", "username"])
})
temp.append(t)
result = temp
return result, count, "get framework {}.".format("success" if result else "no data")
def update(self, uuid, data):
# 当参数为空时,直接返回错误
if len(data) <= 0 or (len(data.keys()) == 1 and "id" in data):
return False, "parameters can not be null."
# 查询请求者是否存在
editor = User.get(id=request.current_user.get("id"))
if not editor:
return False, "current user is not exists"
result = None
with db_session:
result = Framework.get(uuid=uuid)
if result:
result.set(update_at=datetime.now(), update_by=editor, **data)
commit()
# result = fullStackDB.update(Role, { 'uuid': uuid }, update_at=datetime.now(), update_by=editor, **data)
return result, "update role {}.".format("success" if result else "fail")
frameworkManager = FrameworkManager()
......@@ -7,9 +7,10 @@ import types
import json
import logging
import traceback
from datetime import datetime
from threading import Thread
from werkzeug.security import check_password_hash
from pony.orm import *
from model import fullStackDB
from model.user import User
from fullstack.login import Auth
......@@ -35,7 +36,7 @@ class LoginManager(object):
:return ret: dict类型的登录相关信息
'''
try:
with db_session:
# 判断用户名是否存在
result = User.get(account=data.get("account"))
if not result:
......@@ -54,38 +55,36 @@ class LoginManager(object):
token = Auth.encode_auth_token(result.id, result.username) # 生成 token
# setattr(result, 'token', token)
return { 'token': token, 'id': result.id, 'username': result.username }, ResponseCode.OK
except Exception as e:
traceback.print_exc()
logger.error(str(e))
return False, str(e)
def logout(self):
'''
用户登出
'''
try:
return True, "User logout success."
except Exception as e:
traceback.print_exc()
logger.error(str(e))
return False, str(e)
return True, "user logout success."
def register(self, data):
'''
用户注册
'''
try:
with db_session:
# 判断账号是否存在
result = User.get(account=data.get("account"))
if result:
return False, "User already exists"
result = fullStackDB.add(User, **data)
return result, "User registration is {}.".format("success" if result else "fail")
except Exception as e:
traceback.print_exc()
logger.error(str(e))
return False, str(e)
editor = User.get(account=data.get("account"))
if editor:
return False, "user already exists"
data.update({
"password": md5_salt(data['password']),
"create_by": 0,
"create_at": datetime.now(),
"update_by": 0,
"update_at": datetime.now()
})
result = User(**data)
commit()
result.create_by = result.id
result.update_by = result.id
commit()
return result, "user register {}.".format("success" if result else "fail")
loginManager = LoginManager()
......@@ -125,8 +125,8 @@ class UploadManager(object):
obj['content'] = binfile.stream.read()
# 目录结构:模块类型/年/月/项目名/文件名_时间日期.文件后缀
# 模块类型:项目管理模块、资质管理模块
# filename = random_string() + os.path.splitext(obj['filename'])[-1]
# 模块类型:项目管理模块、资质管理模块
filename = os.path.splitext(obj['filename'])[0] + "_{}".format(datetime.now().strftime("%Y%m%d%H%M%S")) + os.path.splitext(obj['filename'])[-1]
# 获取相对路径
relative_path = config.get("UPLOAD_DIR")
......@@ -134,7 +134,7 @@ class UploadManager(object):
# 获取最终存储的绝对路径
savePath = os.path.normpath(os.sep.join([config.get("UPLOAD_PATH"), relative_path]))
# 获取最终存储的文件路径
saveFile = os.path.normpath(os.sep.join([savePath, obj['filename']]))
saveFile = os.path.normpath(os.sep.join([savePath, filename]))
if not os.path.exists(savePath):
os.makedirs(savePath)
......@@ -146,7 +146,7 @@ class UploadManager(object):
"uuid": str(uuid.uuid4()), # 附件唯一编号
"filename": obj['filename'], # 附件名称
"filesize": os.path.getsize(saveFile), # 附件大小
"filepath": os.sep.join([relative_path, obj['filename']]).replace("\\", "/"), # 附件存储路径
"filepath": os.sep.join([relative_path, filename]).replace("\\", "/"), # 附件存储路径
}, "upload file [%s] successfully!" % obj['filename']
except Exception as e: # repr(e)
traceback.print_exc()
......
......@@ -42,8 +42,6 @@ class UserManager(object):
if "username" not in data or not data.get("username"):
data.update({ "username": data.get("account") })
print(data)
# 密码加密
data['password'] = md5_salt(data['password'])
data.update({
......@@ -108,25 +106,6 @@ class UserManager(object):
result = User.get(id=request.current_user.get("id"), is_delete=False)
if result:
# 根据用户账号类型,返回不同的菜单
menus = [
{'id': 1, 'path': '/', 'name': None, 'redirect': '/home', 'component': 'Layout', 'title': None, 'icon': None, 'parent_id': 0},
{'id': 2, 'path': 'home', 'name': 'AppIndex', 'redirect': None, 'component': 'Home', 'title': '应用管理', 'icon': 'gongzuotai', 'parent_id': 1},
{'id': 3, 'path': '/', 'name': None, 'redirect': '/build', 'component': 'Layout', 'title': None, 'icon': None, 'parent_id': 0},
{'id': 4, 'path': 'build', 'name': 'AppBuild', 'redirect': None, 'component': 'Build', 'title': '打包日志', 'icon': 'gongzuotai', 'parent_id': 3},
{'id': 5, 'path': '/', 'name': None, 'redirect': '/profile', 'component': 'Layout', 'title': None, 'icon': None, 'parent_id': 0},
{'id': 6, 'path': 'profile', 'name': 'Profile', 'redirect': None, 'component': 'Profile', 'title': '个人中心', 'icon': 'shangcheng', 'parent_id': 5},
]
if result.role == "ADMIN":
menus = menus + [
{'id': 7, 'path': '/', 'name': None, 'redirect': '/download', 'component': 'Layout', 'title': None, 'icon': None, 'parent_id': 0},
{'id': 8, 'path': 'download', 'name': 'Download', 'redirect': None, 'component': 'Download', 'title': '下载记录', 'icon': 'gongzuotai', 'parent_id': 7},
{'id': 9, 'path': '/', 'name': None, 'redirect': '/framework', 'component': 'Layout', 'title': None, 'icon': None, 'parent_id': 0},
{'id': 10, 'path': 'framework', 'name': 'Framework', 'redirect': None, 'component': 'Framework', 'title': '系统页面', 'icon': 'gongzuotai', 'parent_id': 9},
{'id': 11, 'path': '/', 'name': None, 'redirect': '/users', 'component': 'Layout', 'title': None, 'icon': None, 'parent_id': 0},
{'id': 12, 'path': 'users', 'name': 'User', 'redirect': None, 'component': 'User', 'title': '用户管理', 'icon': 'user', 'parent_id': 11},
]
temp = result.to_dict(with_collections=True, related_objects=True, only=["uuid", "username", "account", "role", "phone", "email", "gender", "create_at", "update_at"])
temp.update({
"create_at": result.create_at.strftime("%Y-%m-%d %H:%M:%S") if result.create_at else None,
......
......@@ -14,7 +14,6 @@ class Annex(db.Entity):
id = PrimaryKey(int, auto=True)
uuid = Required(uuid.UUID, unique=True, default=uuid.uuid1, index=True)
app = Optional("Apps", reverse="app_annex")
app_icon = Optional("Apps", reverse="app_icon")
title = Required(str, max_len=200) # 文件名
path = Required(LongStr) # 文件路径
type = Required(int, default=0) # 文件类型 PNG/JPG/GIF/MP3/MP4/DOCX/XLSX/PPT/PDF...
......
......@@ -15,7 +15,7 @@ class AppUser(db.Entity):
id = PrimaryKey(int, auto=True)
uuid = Required(uuid.UUID, unique=True, default=uuid.uuid1, index=True)
app = Required("Apps", reverse="app_user")
imei = Optional(str)
device = Required("Device", reverse="app_user")
create_at = Required(datetime, default=datetime.now)
create_by = Required("User", reverse='app_users_creator')
update_at = Required(datetime, default=datetime.now)
......
......@@ -21,7 +21,7 @@ class Apps(db.Entity):
app_version = Optional(str, default="")
app_url = Optional(str, default="")
category = Optional(str, default="")
app_icon = Optional("Annex", reverse="app_icon")
app_icon = Optional(str)
app_desc = Optional(str, default="")
app_annex = Set("Annex", reverse="app", cascade_delete=True)
app_user = Optional("AppUser", reverse="app", cascade_delete=True)
......
......@@ -9,21 +9,21 @@ from . import fullStackDB
db = fullStackDB.db
class Framework(db.Entity):
_table_ = "{}".format(config['TABLE_PREFIX']) + "framework"
class Device(db.Entity):
_table_ = "{}".format(config['TABLE_PREFIX']) + "device"
id = PrimaryKey(int, auto=True)
uuid = Required(uuid.UUID, unique=True, default=uuid.uuid1, index=True)
name = Required(str) # 名称
url = Required(str) # 路径
imei = Required(str) # IMEI
desc = Required(str) # 描述信息
type = Required(str) # 模板类型
assets = Optional(Json, default={}) # 静态资源文件
type = Required(str) # 设备类型
app_user = Set("AppUser", reverse="device")
create_at = Required(datetime, default=datetime.now)
create_by = Required("User", reverse='framework_creator')
create_by = Required("User", reverse='device_creator')
update_at = Required(datetime, default=datetime.now)
update_by = Required("User", reverse='framework_updater')
update_by = Required("User", reverse='device_updater')
delete_at = Optional(datetime)
delete_by = Optional("User", reverse='framework_deleter')
delete_by = Optional("User", reverse='device_deleter')
is_delete = Required(bool, default=False)
sort = Optional(int, size=32, default=0)
remarks = Optional(str, max_len=255, default="", nullable=True)
\ No newline at end of file
......@@ -13,14 +13,14 @@ class User(db.Entity):
_table_ = "{}".format(config['TABLE_PREFIX']) + "user"
id = PrimaryKey(int, auto=True)
uuid = Required(uuid.UUID, unique=True, default=uuid.uuid1, index=True)
role = Required(str, default="User") # 角色
role = Required(str, default="USER") # 角色
account = Required(str, unique=True) # 账号
username = Required(str, max_len=100) # 用户名
password = Required(str, max_len=64)
gender = Optional(int, size=8) # 性别,未知0 男1 女2
password = Required(str, max_len=64) # 密码
gender = Optional(int, size=8, default=1) # 性别,未知0 男1 女2
birthday = Optional(date, default=date.today()) # 使用age会带来age无法随时间变化问题
phone = Optional(str, max_len=11) # 联系方式
email = Optional(str, max_len=100) # 邮箱
phone = Optional(str, max_len=11, default="") # 联系方式
email = Optional(str, max_len=100, default="") # 邮箱
create_at = Required(datetime, default=datetime.now)
create_by = Required(int)
update_at = Required(datetime, default=datetime.now)
......@@ -42,9 +42,9 @@ class User(db.Entity):
build_logs_creator = Set('BuildLogs', reverse='create_by')
build_logs_updater = Set('BuildLogs', reverse='update_by')
build_logs_deleter = Set('BuildLogs', reverse='delete_by')
framework_creator = Set('Framework', reverse='create_by')
framework_updater = Set('Framework', reverse='update_by')
framework_deleter = Set('Framework', reverse='delete_by')
device_creator = Set('Device', reverse='create_by')
device_updater = Set('Device', reverse='update_by')
device_deleter = Set('Device', reverse='delete_by')
menu_creator = Set('Menu', reverse='create_by')
menu_updater = Set('Menu', reverse='update_by')
menu_deleter = Set('Menu', reverse='delete_by')
......@@ -16,7 +16,6 @@ class DeleteSchema(BaseSchema):
class QuerySchema(BaseSchema):
uuid = fields.UUID(required=False)
app_name = fields.String(required=False)
scope_type = fields.String(required=False)
pagenum = fields.Int(required=False)
pagesize = fields.Int(required=False, max=50) # 防止用户传特别大的数,导致数据库查询阻塞
......
......@@ -4,12 +4,11 @@ from marshmallow import fields, validate, RAISE, INCLUDE, EXCLUDE
class AddSchema(BaseSchema):
name = fields.String(required=True)
url = fields.String(required=True)
imei = fields.String(required=True)
desc = fields.String(required=True)
type = fields.String(required=True)
assets = fields.Dict(required=False)
sort = fields.Integer(required=False, default=0, allow_none=True)
remarks = fields.String(required=False, default=" ", allow_none=True)
remarks = fields.String(required=False, default="", allow_none=True)
is_system = fields.Boolean(required=False, default=False, allow_none=True)
class Meta:
......@@ -17,10 +16,9 @@ class AddSchema(BaseSchema):
class UpdateSchema(BaseSchema):
name = fields.String(required=False)
url = fields.String(required=False)
imei = fields.String(required=False)
desc = fields.String(required=False)
type = fields.String(required=False)
assets = fields.Dict(required=False)
sort = fields.Integer(required=False)
remarks = fields.String(required=False)
......
......@@ -2,24 +2,15 @@ from . import BaseSchema
from marshmallow import fields, validate, RAISE, INCLUDE, EXCLUDE
class LoginSchema(BaseSchema):
account = fields.String(required=True, validate=validate.Length(min=3, max=64))
password = fields.String(required=True, validate=validate.Length(min=3, max=64))
account = fields.String(required=True)
password = fields.String(required=True)
class Meta:
unknown = EXCLUDE
class RegisterSchema(BaseSchema):
account = fields.String(required=True, validate=validate.Length(min=3, max=20))
username = fields.String(required=True, validate=validate.Length(min=3, max=20))
password = fields.String(required=True, validate=validate.Length(min=3, max=18))
email = fields.Email(required=False, missing="user@example.com")
phone = fields.String(required=True, validate=validate.Length(min=11, max=11))
gender = fields.Int(required=True,)
birthday = fields.DateTime(missing=None)
hometown = fields.String(missing="")
role = fields.Int(required=True)
depot = fields.Int(required=True)
entry_time = fields.DateTime(required=True)
expire_date = fields.DateTime(required=True)
account = fields.String(required=True)
username = fields.String(required=True)
password = fields.String(required=True)
class Meta:
unknown = EXCLUDE
\ No newline at end of file
......@@ -12,7 +12,7 @@ from .login import login_api
from .user import user_api
from .annex import annex_api
from .apps import apps_api
from .framework import framework_api
from .device import device_api
from .download import download_api
from .ws import NotifyHandler, ThreadNotifyHandler
from model import fullStackDB
......@@ -44,8 +44,8 @@ def create_app():
app.register_blueprint(user_api)
app.register_blueprint(annex_api)
app.register_blueprint(apps_api)
app.register_blueprint(framework_api)
app.register_blueprint(download_api)
app.register_blueprint(device_api)
@app.errorhandler(InternalServerError)
def handle_500(e):
......
......@@ -10,18 +10,19 @@ from app import config, signalManager
from fullstack.login import Auth
from fullstack.validation import validate_schema
from fullstack.response import ResponseCode, response_result
from schema.framework import AddSchema, DeleteSchema, QuerySchema, UpdateSchema
from schema.device import AddSchema, DeleteSchema, QuerySchema, UpdateSchema
logger = logging.getLogger("frameworkApi")
logger = logging.getLogger("deviceApi")
framework_api = Blueprint("framework_api", __name__, url_prefix="/api/v1/%s/framework" % config['NAME'])
device_api = Blueprint("device_api", __name__, url_prefix="/api/v1/%s/device" % config['NAME'])
@framework_api.route("/add", methods=['POST'])
@device_api.route("/add", methods=['POST'])
@validate_schema(AddSchema)
@Auth.auth_required
def add():
try:
isSuccess, message = signalManager.actionAddFramework.emit(request.schema_data)
user = request.current_user.get("id")
isSuccess, message = signalManager.actionAddDevice.emit(user, request.schema_data)
if isSuccess:
return response_result(ResponseCode.OK, msg=message)
else:
......@@ -32,12 +33,13 @@ def add():
return response_result(ResponseCode.SERVER_ERROR, msg=str(e))
@framework_api.route("/delete/<uuid:id>", methods=['POST'])
@device_api.route("/delete/<uuid:id>", methods=['POST'])
@validate_schema(DeleteSchema)
@Auth.auth_required
def delete(id):
try:
isSuccess, message = signalManager.actionDeleteFramework.emit(id)
user = request.current_user.get("id")
isSuccess, message = signalManager.actionDeleteDevice.emit(user, id)
if isSuccess:
return response_result(ResponseCode.OK, msg=message)
else:
......@@ -48,12 +50,13 @@ def delete(id):
return response_result(ResponseCode.SERVER_ERROR)
@framework_api.route("/get", methods=["POST"])
@device_api.route("/get", methods=["POST"])
@validate_schema(QuerySchema)
@Auth.auth_required
def get():
try:
result, message = signalManager.actionGetFramework.emit(request.schema_data)
user = request.current_user.get("id")
result, message = signalManager.actionGetDevice.emit(user, request.schema_data)
if result:
return response_result(ResponseCode.OK, data=result, msg=message)
else:
......@@ -64,12 +67,13 @@ def get():
return response_result(ResponseCode.SERVER_ERROR, msg=str(e))
@framework_api.route("/list", methods=['POST'])
@device_api.route("/list", methods=['POST'])
@validate_schema(QuerySchema)
@Auth.auth_required
def get_list():
try:
result, count, message = signalManager.actionGetFrameworkList.emit(request.schema_data)
user = request.current_user.get("id")
result, count, message = signalManager.actionGetDeviceList.emit(user, request.schema_data)
if result:
return response_result(ResponseCode.OK, data=result, msg=message, count=count)
else:
......@@ -80,12 +84,13 @@ def get_list():
return response_result(ResponseCode.SERVER_ERROR)
@framework_api.route("/update/<uuid:id>", methods=['POST'])
@device_api.route("/update/<uuid:id>", methods=['POST'])
@validate_schema(UpdateSchema)
@Auth.auth_required
def update(id):
try:
isSuccess, message = signalManager.actionUpdateFramework.emit(id, request.schema_data)
user = request.current_user.get("id")
isSuccess, message = signalManager.actionUpdateDevice.emit(user, id, request.schema_data)
if isSuccess:
return response_result(ResponseCode.OK, msg=message)
else:
......
......@@ -3,7 +3,6 @@
import logging
from flask import json
# import websocket
from tornado.websocket import WebSocketHandler, WebSocketClosedError
from utils import ObjectDict
from app import config
......@@ -35,6 +34,7 @@ def pushmessage(func):
else:
self.write_message(repr(msg), binary)
except WebSocketClosedError as e:
print(e)
self.on_close()
return send
......
{
"name": "FullStack",
"name": "web-creator-pro",
"version": "2.0.0",
"lockfileVersion": 1,
"requires": true,
......@@ -1966,14 +1966,6 @@
"esutils": "^2.0.2"
}
},
"@babel/runtime": {
"version": "7.7.6",
"resolved": "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.7.6.tgz",
"integrity": "sha1-0YxRESGv8bTyzR1FLxuslgHdgw8=",
"requires": {
"regenerator-runtime": "^0.13.2"
}
},
"@babel/template": {
"version": "7.7.4",
"resolved": "https://registry.npm.taobao.org/@babel/template/download/@babel/template-7.7.4.tgz",
......@@ -2153,21 +2145,6 @@
"integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==",
"dev": true
},
"@riophae/vue-treeselect": {
"version": "0.4.0",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/@riophae/vue-treeselect/-/vue-treeselect-0.4.0.tgz",
"integrity": "sha512-J4atYmBqXQmiPFK/0B5sXKjtnGc21mBJEiyKIDZwk0Q9XuynVFX6IJ4EpaLmUgL5Tve7HAS7wkiGGSti6Uaxcg==",
"requires": {
"@babel/runtime": "^7.3.1",
"babel-helper-vue-jsx-merge-props": "^2.0.3",
"easings-css": "^1.0.0",
"fuzzysearch": "^1.0.3",
"is-promise": "^2.1.0",
"lodash": "^4.0.0",
"material-colors": "^1.2.6",
"watch-size": "^2.0.0"
}
},
"@soda/friendly-errors-webpack-plugin": {
"version": "1.8.0",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.0.tgz",
......@@ -2761,6 +2738,16 @@
"integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
"dev": true
},
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"optional": true,
"requires": {
"color-convert": "^2.0.1"
}
},
"cacache": {
"version": "13.0.1",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/cacache/-/cacache-13.0.1.tgz",
......@@ -2798,6 +2785,51 @@
"wrap-ansi": "^6.2.0"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"optional": true,
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true,
"optional": true
},
"css-loader": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz",
"integrity": "sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==",
"dev": true,
"requires": {
"camelcase": "^5.3.1",
"cssesc": "^3.0.0",
"icss-utils": "^4.1.1",
"loader-utils": "^1.2.3",
"normalize-path": "^3.0.0",
"postcss": "^7.0.32",
"postcss-modules-extract-imports": "^2.0.0",
"postcss-modules-local-by-default": "^3.0.2",
"postcss-modules-scope": "^2.2.0",
"postcss-modules-values": "^3.0.0",
"postcss-value-parser": "^4.1.0",
"schema-utils": "^2.7.0",
"semver": "^6.3.0"
}
},
"emojis-list": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
"integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
"dev": true,
"optional": true
},
"fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
......@@ -2819,6 +2851,17 @@
"p-try": "^2.0.0"
}
},
"postcss": {
"version": "7.0.35",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
"integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
"dev": true,
"requires": {
"chalk": "^2.4.2",
"source-map": "^0.6.1",
"supports-color": "^6.1.0"
}
},
"schema-utils": {
"version": "2.7.1",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/schema-utils/-/schema-utils-2.7.1.tgz",
......@@ -2830,6 +2873,12 @@
"ajv-keywords": "^3.5.2"
}
},
"semver": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
"dev": true
},
"source-map": {
"version": "0.6.1",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/source-map/-/source-map-0.6.1.tgz",
......@@ -2857,6 +2906,15 @@
"strip-ansi": "^6.0.0"
}
},
"supports-color": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
"integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
"dev": true,
"requires": {
"has-flag": "^3.0.0"
}
},
"terser-webpack-plugin": {
"version": "2.3.8",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/terser-webpack-plugin/-/terser-webpack-plugin-2.3.8.tgz",
......@@ -2873,6 +2931,60 @@
"terser": "^4.6.12",
"webpack-sources": "^1.4.3"
}
},
"vue-loader-v16": {
"version": "npm:vue-loader@16.1.2",
"resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.1.2.tgz",
"integrity": "sha512-8QTxh+Fd+HB6fiL52iEVLKqE9N1JSlMXLR92Ijm6g8PZrwIxckgpqjPDWRP5TWxdiPaHR+alUWsnu1ShQOwt+Q==",
"dev": true,
"optional": true,
"requires": {
"chalk": "^4.1.0",
"hash-sum": "^2.0.0",
"loader-utils": "^2.0.0"
},
"dependencies": {
"chalk": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
"integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
"dev": true,
"optional": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true,
"optional": true
},
"loader-utils": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
"integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
"dev": true,
"optional": true,
"requires": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
"json5": "^2.1.2"
}
},
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"optional": true,
"requires": {
"has-flag": "^4.0.0"
}
}
}
}
}
},
......@@ -3864,6 +3976,16 @@
"dev": true,
"optional": true
},
"bindings": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
"integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
"dev": true,
"optional": true,
"requires": {
"file-uri-to-path": "1.0.0"
}
},
"block-stream": {
"version": "0.0.9",
"resolved": "http://registry.npm.taobao.org/block-stream/download/block-stream-0.0.9.tgz",
......@@ -4545,6 +4667,16 @@
"integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==",
"dev": true
},
"clipboard": {
"version": "2.0.8",
"resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.8.tgz",
"integrity": "sha512-Y6WO0unAIQp5bLmk1zdThRhgJt/x3ks6f30s3oE3H1mgIEU33XyQjEf8gsf6DxC7NPX8Y1SsNWjUjL/ywLnnbQ==",
"requires": {
"good-listener": "^1.2.2",
"select": "^1.1.2",
"tiny-emitter": "^2.0.0"
}
},
"clipboardy": {
"version": "2.3.0",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/clipboardy/-/clipboardy-2.3.0.tgz",
......@@ -5011,9 +5143,9 @@
}
},
"core-js": {
"version": "3.8.1",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/core-js/-/core-js-3.8.1.tgz",
"integrity": "sha512-9Id2xHY1W7m8hCl8NkhQn5CufmF/WuR30BTRewvCXc1aZd3kMECwNZ69ndLbekKfakw9Rf2Xyc+QR6E7Gg+obg=="
"version": "3.9.1",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.9.1.tgz",
"integrity": "sha512-gSjRvzkxQc1zjM/5paAmL4idJBFzuJoo+jDjF1tStYFMV2ERfD02HhahhCGXUyHxQRG4yFKVSdO6g62eoRMcDg=="
},
"core-js-compat": {
"version": "3.8.1",
......@@ -5156,29 +5288,28 @@
}
},
"css-loader": {
"version": "3.6.0",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/css-loader/-/css-loader-3.6.0.tgz",
"integrity": "sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==",
"version": "5.1.3",
"resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.1.3.tgz",
"integrity": "sha512-CoPZvyh8sLiGARK3gqczpfdedbM74klGWurF2CsNZ2lhNaXdLIUks+3Mfax3WBeRuHoglU+m7KG/+7gY6G4aag==",
"dev": true,
"requires": {
"camelcase": "^5.3.1",
"camelcase": "^6.2.0",
"cssesc": "^3.0.0",
"icss-utils": "^4.1.1",
"loader-utils": "^1.2.3",
"normalize-path": "^3.0.0",
"postcss": "^7.0.32",
"postcss-modules-extract-imports": "^2.0.0",
"postcss-modules-local-by-default": "^3.0.2",
"postcss-modules-scope": "^2.2.0",
"postcss-modules-values": "^3.0.0",
"icss-utils": "^5.1.0",
"loader-utils": "^2.0.0",
"postcss": "^8.2.8",
"postcss-modules-extract-imports": "^3.0.0",
"postcss-modules-local-by-default": "^4.0.0",
"postcss-modules-scope": "^3.0.0",
"postcss-modules-values": "^4.0.0",
"postcss-value-parser": "^4.1.0",
"schema-utils": "^2.7.0",
"semver": "^6.3.0"
"schema-utils": "^3.0.0",
"semver": "^7.3.4"
},
"dependencies": {
"ajv": {
"version": "6.12.6",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/ajv/-/ajv-6.12.6.tgz",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
"dev": true,
"requires": {
......@@ -5190,58 +5321,137 @@
},
"ajv-keywords": {
"version": "3.5.2",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
"integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
"dev": true
},
"camelcase": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz",
"integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==",
"dev": true
},
"colorette": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz",
"integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==",
"dev": true
},
"emojis-list": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
"integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
"dev": true
},
"fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
"dev": true
},
"icss-utils": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz",
"integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==",
"dev": true
},
"loader-utils": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
"integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
"dev": true,
"requires": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
"json5": "^2.1.2"
}
},
"lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"requires": {
"yallist": "^4.0.0"
}
},
"postcss": {
"version": "7.0.35",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/postcss/-/postcss-7.0.35.tgz",
"integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
"version": "8.2.8",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.8.tgz",
"integrity": "sha512-1F0Xb2T21xET7oQV9eKuctbM9S7BC0fetoHCc4H13z0PT6haiRLP4T0ZY4XWh7iLP0usgqykT6p9B2RtOf4FPw==",
"dev": true,
"requires": {
"chalk": "^2.4.2",
"source-map": "^0.6.1",
"supports-color": "^6.1.0"
"colorette": "^1.2.2",
"nanoid": "^3.1.20",
"source-map": "^0.6.1"
}
},
"postcss-modules-extract-imports": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz",
"integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==",
"dev": true
},
"postcss-modules-local-by-default": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz",
"integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==",
"dev": true,
"requires": {
"icss-utils": "^5.0.0",
"postcss-selector-parser": "^6.0.2",
"postcss-value-parser": "^4.1.0"
}
},
"postcss-modules-scope": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz",
"integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==",
"dev": true,
"requires": {
"postcss-selector-parser": "^6.0.4"
}
},
"postcss-modules-values": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz",
"integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==",
"dev": true,
"requires": {
"icss-utils": "^5.0.0"
}
},
"schema-utils": {
"version": "2.7.1",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/schema-utils/-/schema-utils-2.7.1.tgz",
"integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==",
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz",
"integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==",
"dev": true,
"requires": {
"@types/json-schema": "^7.0.5",
"ajv": "^6.12.4",
"@types/json-schema": "^7.0.6",
"ajv": "^6.12.5",
"ajv-keywords": "^3.5.2"
}
},
"semver": {
"version": "6.3.0",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/semver/-/semver-6.3.0.tgz",
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
"dev": true
"version": "7.3.4",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
"integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
"dev": true,
"requires": {
"lru-cache": "^6.0.0"
}
},
"source-map": {
"version": "0.6.1",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/source-map/-/source-map-0.6.1.tgz",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
},
"supports-color": {
"version": "6.1.0",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/supports-color/-/supports-color-6.1.0.tgz",
"integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
"dev": true,
"requires": {
"has-flag": "^3.0.0"
}
"yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
}
}
},
......@@ -5397,6 +5607,11 @@
"array-find-index": "^1.0.1"
}
},
"custom-event-polyfill": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/custom-event-polyfill/-/custom-event-polyfill-1.0.7.tgz",
"integrity": "sha512-TDDkd5DkaZxZFM8p+1I3yAlvM3rSr1wbrOliG4yJiwinMZN8z/iGL7BTlDkrJcYTmgUSb4ywVCc3ZaUtOtC76w=="
},
"cyclist": {
"version": "1.0.1",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/cyclist/-/cyclist-1.0.1.tgz",
......@@ -5690,6 +5905,11 @@
"resolved": "http://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz",
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
},
"delegate": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz",
"integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw=="
},
"delegates": {
"version": "1.0.0",
"resolved": "http://registry.npm.taobao.org/delegates/download/delegates-1.0.0.tgz",
......@@ -5893,11 +6113,6 @@
"stream-shift": "^1.0.0"
}
},
"easings-css": {
"version": "1.0.0",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/easings-css/-/easings-css-1.0.0.tgz",
"integrity": "sha512-7Uq7NdazNfVtr0RNmPAys8it0zKCuaqxJStYKEl72D3j4gbvXhhaM7iWNbqhA4C94ygCye6VuyhzBRQC4szeBg=="
},
"easy-stack": {
"version": "1.0.1",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/easy-stack/-/easy-stack-1.0.1.tgz",
......@@ -5933,6 +6148,23 @@
"integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==",
"dev": true
},
"el-table-infinite-scroll": {
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/el-table-infinite-scroll/-/el-table-infinite-scroll-1.0.10.tgz",
"integrity": "sha512-O7gcfcF9wOec/weeygMlJKQ8626jF5hIY6zABYKYqY96yxXZRrvPqEZW65Vb+C0D5d+8B8EgU9ax7mlA4K1x4A==",
"requires": {
"core-js": "^2.6.5",
"element-ui": "^2.12.0",
"vue": "^2.6.10"
},
"dependencies": {
"core-js": {
"version": "2.6.12",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz",
"integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ=="
}
}
},
"electron-to-chromium": {
"version": "1.3.633",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/electron-to-chromium/-/electron-to-chromium-1.3.633.tgz",
......@@ -6899,6 +7131,18 @@
"schema-utils": "^2.5.0"
}
},
"file-saver": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz",
"integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA=="
},
"file-uri-to-path": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
"integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
"dev": true,
"optional": true
},
"filesize": {
"version": "3.6.1",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/filesize/-/filesize-3.6.1.tgz",
......@@ -7141,11 +7385,6 @@
"integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
"dev": true
},
"fuzzysearch": {
"version": "1.0.3",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/fuzzysearch/-/fuzzysearch-1.0.3.tgz",
"integrity": "sha1-3/yA9tawQiPyImqnndGUIxCW0Ag="
},
"gauge": {
"version": "2.7.4",
"resolved": "http://registry.npm.taobao.org/gauge/download/gauge-2.7.4.tgz",
......@@ -7312,6 +7551,14 @@
"minimatch": "~3.0.2"
}
},
"good-listener": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz",
"integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=",
"requires": {
"delegate": "^3.1.2"
}
},
"graceful-fs": {
"version": "4.2.3",
"resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.3.tgz",
......@@ -7478,11 +7725,6 @@
"integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==",
"dev": true
},
"hey-utils": {
"version": "1.0.2",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/hey-utils/-/hey-utils-1.0.2.tgz",
"integrity": "sha512-KAkboKKwrmgskb4IZBN4VyWvbUSZn/IkXCa1yP+tzxhGaStJlzCyPWWVRLTnuLEfzqli1T71au1VddYTVPJbCQ=="
},
"highlight.js": {
"version": "10.5.0",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/highlight.js/-/highlight.js-10.5.0.tgz",
......@@ -7757,7 +7999,7 @@
},
"icss-utils": {
"version": "4.1.1",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/icss-utils/-/icss-utils-4.1.1.tgz",
"resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz",
"integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==",
"dev": true,
"requires": {
......@@ -7788,6 +8030,11 @@
"integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=",
"dev": true
},
"immediate": {
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
"integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps="
},
"import-cwd": {
"version": "2.1.0",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/import-cwd/-/import-cwd-2.1.0.tgz",
......@@ -8284,11 +8531,6 @@
"isobject": "^3.0.1"
}
},
"is-promise": {
"version": "2.1.0",
"resolved": "http://registry.npm.taobao.org/is-promise/download/is-promise-2.1.0.tgz",
"integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o="
},
"is-regex": {
"version": "1.0.4",
"resolved": "http://registry.npm.taobao.org/is-regex/download/is-regex-1.0.4.tgz",
......@@ -8529,6 +8771,17 @@
"verror": "1.10.0"
}
},
"jszip": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/jszip/-/jszip-3.6.0.tgz",
"integrity": "sha512-jgnQoG9LKnWO3mnVNBnfhkh0QknICd1FGSrXcgrl67zioyJ4wgx25o9ZqwNtrROSflGBCGYnJfjrIyRIby1OoQ==",
"requires": {
"lie": "~3.3.0",
"pako": "~1.0.2",
"readable-stream": "~2.3.6",
"set-immediate-shim": "~1.0.1"
}
},
"killable": {
"version": "1.0.1",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/killable/-/killable-1.0.1.tgz",
......@@ -8684,6 +8937,14 @@
"type-check": "~0.4.0"
}
},
"lie": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz",
"integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==",
"requires": {
"immediate": "~3.0.5"
}
},
"lines-and-columns": {
"version": "1.1.6",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
......@@ -8767,6 +9028,11 @@
}
}
},
"loadjs": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/loadjs/-/loadjs-4.2.0.tgz",
"integrity": "sha512-AgQGZisAlTPbTEzrHPb6q+NYBMD+DP9uvGSIjSUM5uG+0jG15cb8axWpxuOIqrmQjn6scaaH8JwloiP27b2KXA=="
},
"local-storage": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/local-storage/-/local-storage-2.0.0.tgz",
......@@ -8898,11 +9164,6 @@
"object-visit": "^1.0.0"
}
},
"material-colors": {
"version": "1.2.6",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/material-colors/-/material-colors-1.2.6.tgz",
"integrity": "sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg=="
},
"md5.js": {
"version": "1.3.5",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/md5.js/-/md5.js-1.3.5.tgz",
......@@ -9234,6 +9495,11 @@
"commander": "*"
}
},
"moment": {
"version": "2.29.1",
"resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz",
"integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ=="
},
"move-concurrently": {
"version": "1.0.1",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/move-concurrently/-/move-concurrently-1.0.1.tgz",
......@@ -9292,6 +9558,12 @@
"resolved": "https://registry.npm.taobao.org/nan/download/nan-2.14.0.tgz",
"integrity": "sha1-eBj3IgJ7JFmobwKV1DTR/CM2xSw="
},
"nanoid": {
"version": "3.1.22",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.22.tgz",
"integrity": "sha512-/2ZUaJX2ANuLtTvqTlgqBQNJoQO398KyJgZloL0PZkC0dpysjncRUPsFe3DUPzz/y3h+u7C46np8RMuvF3jsSQ==",
"dev": true
},
"nanomatch": {
"version": "1.2.13",
"resolved": "http://registry.npm.taobao.org/nanomatch/download/nanomatch-1.2.13.tgz",
......@@ -9954,8 +10226,7 @@
"pako": {
"version": "1.0.11",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/pako/-/pako-1.0.11.tgz",
"integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
"dev": true
"integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="
},
"parallel-transform": {
"version": "1.2.0",
......@@ -10134,6 +10405,11 @@
"resolved": "http://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz",
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
},
"photoswipe": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/photoswipe/-/photoswipe-4.1.3.tgz",
"integrity": "sha512-89Z43IRUyw7ycTolo+AaiDn3W1EEIfox54hERmm9bI12IB9cvRfHSHez3XhAyU8XW2EAFrC+2sKMhh7SJwn0bA=="
},
"picomatch": {
"version": "2.2.2",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/picomatch/-/picomatch-2.2.2.tgz",
......@@ -10205,6 +10481,17 @@
}
}
},
"plyr": {
"version": "github:sampotts/plyr#028be22dec323b23727315ef0c34682192991488",
"from": "github:sampotts/plyr#develop",
"requires": {
"core-js": "^3.8.1",
"custom-event-polyfill": "^1.0.7",
"loadjs": "^4.2.0",
"rangetouch": "^2.0.1",
"url-polyfill": "^1.1.12"
}
},
"pnp-webpack-plugin": {
"version": "1.6.4",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz",
......@@ -10553,7 +10840,7 @@
},
"postcss-modules-extract-imports": {
"version": "2.0.0",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz",
"resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz",
"integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==",
"dev": true,
"requires": {
......@@ -10562,7 +10849,7 @@
},
"postcss-modules-local-by-default": {
"version": "3.0.3",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz",
"resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz",
"integrity": "sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==",
"dev": true,
"requires": {
......@@ -10574,7 +10861,7 @@
"dependencies": {
"postcss": {
"version": "7.0.35",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/postcss/-/postcss-7.0.35.tgz",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
"integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
"dev": true,
"requires": {
......@@ -10585,13 +10872,13 @@
},
"source-map": {
"version": "0.6.1",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/source-map/-/source-map-0.6.1.tgz",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
},
"supports-color": {
"version": "6.1.0",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/supports-color/-/supports-color-6.1.0.tgz",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
"integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
"dev": true,
"requires": {
......@@ -10602,7 +10889,7 @@
},
"postcss-modules-scope": {
"version": "2.2.0",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz",
"resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz",
"integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==",
"dev": true,
"requires": {
......@@ -10612,7 +10899,7 @@
},
"postcss-modules-values": {
"version": "3.0.0",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz",
"resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz",
"integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==",
"dev": true,
"requires": {
......@@ -11160,6 +11447,11 @@
"integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
"dev": true
},
"rangetouch": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/rangetouch/-/rangetouch-2.0.1.tgz",
"integrity": "sha512-sln+pNSc8NGaHoLzwNBssFSf/rSYkqeBXzX1AtJlkJiUaVSJSbRAWJk+4omsXkN+EJalzkZhWQ3th1m0FpR5xA=="
},
"raw-body": {
"version": "2.4.0",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/raw-body/-/raw-body-2.4.0.tgz",
......@@ -11499,11 +11791,6 @@
"regenerate": "^1.4.0"
}
},
"regenerator-runtime": {
"version": "0.13.3",
"resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.13.3.tgz",
"integrity": "sha1-fPanfY9cb2Drc8X8GVWyzrAea/U="
},
"regenerator-transform": {
"version": "0.14.5",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/regenerator-transform/-/regenerator-transform-0.14.5.tgz",
......@@ -12025,6 +12312,11 @@
}
}
},
"select": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz",
"integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0="
},
"select-hose": {
"version": "2.0.0",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/select-hose/-/select-hose-2.0.0.tgz",
......@@ -12179,6 +12471,11 @@
"resolved": "http://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz",
"integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
},
"set-immediate-shim": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
"integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E="
},
"set-value": {
"version": "2.0.1",
"resolved": "https://registry.npm.taobao.org/set-value/download/set-value-2.0.1.tgz",
......@@ -13470,6 +13767,11 @@
"integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=",
"dev": true
},
"tiny-emitter": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz",
"integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q=="
},
"tmp": {
"version": "0.0.33",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/tmp/-/tmp-0.0.33.tgz",
......@@ -13847,6 +14149,11 @@
"requires-port": "^1.0.0"
}
},
"url-polyfill": {
"version": "1.1.12",
"resolved": "https://registry.npmjs.org/url-polyfill/-/url-polyfill-1.1.12.tgz",
"integrity": "sha512-mYFmBHCapZjtcNHW0MDq9967t+z4Dmg5CJ0KqysK3+ZbyoNOWQHksGCTWwDhxGXllkWlOc10Xfko6v4a3ucM6A=="
},
"url-slug": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/url-slug/-/url-slug-2.0.0.tgz",
......@@ -14052,92 +14359,13 @@
}
}
},
"vue-loader-v16": {
"version": "npm:vue-loader@16.1.2",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/vue-loader/-/vue-loader-16.1.2.tgz",
"integrity": "sha512-8QTxh+Fd+HB6fiL52iEVLKqE9N1JSlMXLR92Ijm6g8PZrwIxckgpqjPDWRP5TWxdiPaHR+alUWsnu1ShQOwt+Q==",
"dev": true,
"optional": true,
"vue-plyr": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/vue-plyr/-/vue-plyr-7.0.0.tgz",
"integrity": "sha512-NvbO/ZzV1IxlBQQbQlon5Sk8hKuGAj3k4k0XVdi7gM4oSqu8mZMhJ3WM3FfAtNfV790jbLnb8P3dHYqaBqIv6g==",
"requires": {
"chalk": "^4.1.0",
"hash-sum": "^2.0.0",
"loader-utils": "^2.0.0"
},
"dependencies": {
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"optional": true,
"requires": {
"color-convert": "^2.0.1"
}
},
"chalk": {
"version": "4.1.0",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/chalk/-/chalk-4.1.0.tgz",
"integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
"dev": true,
"optional": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"optional": true,
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true,
"optional": true
},
"emojis-list": {
"version": "3.0.0",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/emojis-list/-/emojis-list-3.0.0.tgz",
"integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
"dev": true,
"optional": true
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true,
"optional": true
},
"loader-utils": {
"version": "2.0.0",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/loader-utils/-/loader-utils-2.0.0.tgz",
"integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
"dev": true,
"optional": true,
"requires": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
"json5": "^2.1.2"
}
},
"supports-color": {
"version": "7.2.0",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"optional": true,
"requires": {
"has-flag": "^4.0.0"
}
}
"plyr": "github:sampotts/plyr#develop",
"vue": "^2.6.12"
}
},
"vue-router": {
......@@ -14145,15 +14373,6 @@
"resolved": "https://registry.npm.taobao.org/vue-router/download/vue-router-3.1.3.tgz",
"integrity": "sha1-5rFPq8DA7p/aDiy72nSzUOKOQSs="
},
"vue-simple-calendar": {
"version": "5.0.0",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/vue-simple-calendar/-/vue-simple-calendar-5.0.0.tgz",
"integrity": "sha512-UQl+Jn3TyRm2+6ao5DBIO3iwyk8peghkApogSrEruAA8wy+x5zheVQuhqnSDMTkFiLmpE9mlDDaHYvVTmOXsoA==",
"requires": {
"core-js": "^3.6.5",
"vue": "^2.6.12"
}
},
"vue-style-loader": {
"version": "4.1.2",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/vue-style-loader/-/vue-style-loader-4.1.2.tgz",
......@@ -14193,11 +14412,6 @@
"resolved": "https://registry.npm.taobao.org/vuex/download/vuex-3.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvuex%2Fdownload%2Fvuex-3.1.2.tgz",
"integrity": "sha1-ooY/QAWqc/JYflXD+t8/AfacfU0="
},
"watch-size": {
"version": "2.0.0",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/watch-size/-/watch-size-2.0.0.tgz",
"integrity": "sha512-M92R89dNoTPWyCD+HuUEDdhaDnh9jxPGOwlDc0u51jAgmjUvzqaEMynXSr3BaWs+QdHYk4KzibPy1TFtjLmOZQ=="
},
"watchpack": {
"version": "1.7.5",
"resolved": "https://mirrors.huaweicloud.com/repository/npm/watchpack/-/watchpack-1.7.5.tgz",
......@@ -14278,6 +14492,7 @@
"dev": true,
"optional": true,
"requires": {
"bindings": "^1.5.0",
"nan": "^2.12.1"
}
},
......@@ -14549,6 +14764,7 @@
"dev": true,
"optional": true,
"requires": {
"bindings": "^1.5.0",
"nan": "^2.12.1"
}
},
......
......@@ -8,32 +8,20 @@
"lint": "vue-cli-service lint"
},
"dependencies": {
"@fullcalendar/core": "^5.5.0",
"@fullcalendar/daygrid": "^5.5.0",
"@fullcalendar/interaction": "^5.5.0",
"@fullcalendar/timegrid": "^5.5.0",
"@fullcalendar/vue": "^5.5.0",
"@riophae/vue-treeselect": "^0.4.0",
"axios": "^0.19.0",
"clipboard": "^2.0.6",
"codemirror": "^5.50.0",
"core-js": "^3.9.0",
"dateformat": "^3.0.3",
"echarts": "^4.8.0",
"el-table-infinite-scroll": "^1.0.10",
"element-ui": "^2.13.0",
"file-saver": "^2.0.5",
"hey-utils": "^1.0.2",
"js-cookie": "^2.2.1",
"js-md5": "^0.7.3",
"jszip": "^3.5.0",
"local-storage": "^2.0.0",
"mockjs": "^1.1.0",
"moment": "^2.29.1",
"node-sass": "^4.14.1",
"normalize.css": "^8.0.1",
"nprogress": "^0.2.0",
"photoswipe": "^4.1.3",
"sass-loader": "^8.0.0",
"vue": "^2.6.12",
"vue-codemirror": "^4.0.6",
......@@ -41,9 +29,7 @@
"vue-grid-layout": "^2.3.8",
"vue-plyr": "^7.0.0",
"vue-router": "^3.1.3",
"vue-simple-calendar": "^5.0.0",
"vuex": "^3.1.2",
"xlsx": "^0.16.9"
"vuex": "^3.1.2"
},
"devDependencies": {
"@vue/cli-plugin-babel": "^4.5.8",
......
......@@ -116,3 +116,110 @@ export function deleteDownload(params) {
data: params,
});
}
export function addDevice(params) {
return request({
url: "/api/v1/evm_store/device/add",
method: "post",
data: params,
});
}
export function deleteDevice(params) {
return request({
url: "/api/v1/evm_store/device/delete",
method: "post",
data: params,
});
}
export function getDeviceList(params) {
return request({
url: "/api/v1/evm_store/device/list",
method: "post",
data: params,
});
}
export function updateDevice(params) {
return request({
url: "/api/v1/evm_store/device/update",
method: "post",
data: params,
});
}
export function addUser(params) {
// 增
return request({
url: "/api/v1/evm_store/user/add",
method: "post",
data: params,
});
}
export function deleteUser(id) {
// 删
return request({
url: `/api/v1/evm_store/user/delete/${id}`,
method: "post",
});
}
export function getUser(params) {
return request({
url: "/api/v1/evm_store/user/get",
method: "post",
data: params,
});
}
export function getUserList(params) {
// 查
return request({
url: "/api/v1/evm_store/user/list",
method: "post",
data: params,
});
}
export function updateUser(id, params) {
// 改
return request({
url: `/api/v1/evm_store/user/update/${id}`,
method: "post",
data: params,
});
}
export function updateUserPassword(params) {
return request({
url: "/api/v1/evm_store/updatePassword",
method: "post",
data: params,
});
}
export function doLogin(params) {
return request({
url: "/api/v1/evm_store/login/login",
method: "post",
data: params,
});
}
export function doLogout(params) {
return request({
url: "/api/v1/evm_store/login/logout",
method: "post",
data: params,
});
}
export function doRegister(params) {
return request({
url: "/api/v1/evm_store/login/register",
method: "post",
data: params,
});
}
import request from "@/utils/request";
export function addTechResources(params) {
return request({
url: "/api/v1/evm_store/techResources/add",
method: "post",
data: params,
});
}
export function getTechResourcesList(params) {
return request({
url: "/api/v1/evm_store/techResources/list",
method: "post",
data: params,
});
}
export function updateTechResource(id, params) {
return request({
url: `/api/v1/evm_store/techResources/update/${id}`,
method: "post",
data: params,
});
}
export function deleteTechResource(id, params) {
return request({
url: `/api/v1/evm_store/techResources/delete/${id}`,
method: "post",
data: params,
});
}
\ No newline at end of file
import request from '@/utils/request'
export function login(data) {
return request({
url: '/user/login',
method: 'post',
data
})
}
export function getInfo(token) {
return request({
url: '/user/info',
method: 'get',
params: { token }
})
}
export function logout() {
return request({
url: '/user/logout',
method: 'post'
})
}
import request from "@/utils/request";
export function addWarningRule(params) {
return request({
url: "/api/v1/evm_store/warningrule/add",
method: "post",
data: params,
});
}
export function getWarningRuleList(params) {
return request({
url: "/api/v1/evm_store/warningrule/list",
method: "post",
data: params,
});
}
export function getWarningLogList(params) {
return request({
url: "/api/v1/evm_store/warninglog/list",
method: "post",
data: params,
});
}
export function getWarnings(params) {
return request({
url: "/api/v1/evm_store/profile/warnings",
method: "post",
data: params,
});
}
export function ignoreWarnings(params) {
return request({
url: "/api/v1/evm_store/profile/ignoreWarnings",
method: "post",
data: params,
});
}
<template>
<div>
<el-row>
<el-col :span="24">
<el-menu default-active="2" mode="horizontal" @select="handleSelect">
<el-menu-item index="1">EVM应用开发者中心</el-menu-item>
<el-menu-item index="2">首页</el-menu-item>
<el-submenu index="3">
<template slot="title">管理应用</template>
<el-menu-item index="3-1">我的应用</el-menu-item>
<el-menu-item index="3-2">上传新应用</el-menu-item>
<el-menu-item index="3-3">认领应用</el-menu-item>
</el-submenu>
<el-submenu index="4">
<template slot="title">开发者身份管理</template>
<el-menu-item index="4-1">开发者实名认证</el-menu-item>
<el-menu-item index="4-2">查看开发者身份</el-menu-item>
<el-menu-item index="4-3">更换认证支付宝账号</el-menu-item>
<el-menu-item index="4-4">修改联系人信息</el-menu-item>
</el-submenu>
<el-submenu index="5">
<template slot="title">推广</template>
<el-menu-item index="5-1">申请推广</el-menu-item>
<el-menu-item index="5-2">应用推广</el-menu-item>
<el-menu-item index="5-3">礼包权益</el-menu-item>
</el-submenu>
<el-submenu index="6">
<template slot="title">我的账户</template>
<el-menu-item index="6-1">我的充值记录</el-menu-item>
<el-menu-item index="6-2">我的收益</el-menu-item>
<el-menu-item index="6-3">开发票</el-menu-item>
</el-submenu>
</el-menu>
</el-col>
</el-row>
<div class="content-wrap">
<router-view></router-view>
</div>
</div>
</template>
<script>
export default {
name: "DevLayout",
data: () => {
return {};
},
mounted() {},
methods: {
handleSelect(key, keyPath) {
console.log(key, keyPath);
},
},
};
</script>
<style lang="scss" scope>
@import "../styles/developer/combineCss.min.css";
</style>
<template>
<div class="app">
<newSidebar class="app-aside" :class="asideClass" />
<section :class="sectionClass" class="app-wrapper">
<div v-if="isFullScreen" class="zoomIn" @click="showNormal" title="缩小">
<IconFont icon="suoxiao" size="22" color="#333" />
</div>
<baseHeader
:userSetIsShow="isVisible"
@changeUserSet="changeUserSet"
@handleDrawerBar="handleDrawerBar"
/>
<div class="app-content">
<div :class="contentClass">
<template v-if="appTheme == 'three'">
<bottomBar v-if="!isFullScreen" />
</template>
<navbar v-if="!isFullScreen" />
</div>
<app-main />
</div>
<div class="app-layout-footer">
<img src="../assets/layout/copy-right.png" alt="" />
Copyright @ 2020 By 武汉迎风聚智科技有限公司
</div>
</section>
<userSetting :isVisible="isVisible" @changeVisible="changeVisible" />
<el-drawer
:custom-class="appStyle == 'dark' ? 'change-drawer-dark' : ''"
direction="ltr"
size="220px"
:visible.sync="isDrawerOpen"
:with-header="false"
>
<drawerBar />
</el-drawer>
</div>
</template>
<script>
import { mapState, mapGetters } from "vuex";
import { Navbar, newSidebar, AppMain } from "./components";
import ResizeMixin from "./mixin/ResizeHandler";
import userSetting from "@/views/users/userSetting.vue";
import bottomBar from "./components/bottomBar/index.vue";
import drawerBar from "./components/drawerBar/index.vue";
import baseHeader from "./components/header/baseHeader.vue";
export default {
name: "Layout",
components: {
Navbar,
newSidebar,
AppMain,
userSetting,
bottomBar,
drawerBar,
baseHeader,
},
mixins: [ResizeMixin],
computed: {
...mapGetters(["isFullScreen"]),
...mapState("settings", ["headerTitle", "userblockShow"]),
...mapState("user", [
"appStyle",
"appTheme",
"isFixedSide",
"isFixedWidth",
]),
sidebar() {
return this.$store.state.app.sidebar;
},
device() {
return this.$store.state.app.device;
},
fixedHeader() {
return this.$store.state.settings.fixedHeader;
},
sectionClass() {
return {
// hideSidebar: !this.sidebar.opened,
openSidebar: this.sidebar.opened,
withoutAnimation: this.sidebar.withoutAnimation,
mobile: this.device === "mobile",
fullExpand: this.isFullScreen,
};
},
asideClass() {
return {
"el-hide": this.isFullScreen || this.appTheme != "one",
"fixed-aside": this.appTheme == "one" && this.isFixedSide,
"fixed-aside-open":
this.appTheme == "one" &&
this.isFixedSide &&
this.sidebar.opened == true,
"fixed-aside-close":
this.appTheme == "one" &&
this.isFixedSide &&
this.sidebar.opened == false,
};
},
contentClass() {
return {
"app-content-setWidth": this.isFixedWidth,
};
},
userName() {
return this.$store.getters.name;
},
},
data: () => {
return {
isVisible: false,
isDrawerOpen: false,
};
},
mounted() {
// console.log('this.$store',this.$store);
document.addEventListener("keyup", (e) => {
if (e.keyCode == 27) {
this.$store.dispatch("settings/handleFullScreen", false);
}
});
},
methods: {
handleClickOutside() {
this.$store.dispatch("app/closeSideBar", { withoutAnimation: false });
},
logout() {
var url = this.$client.apiUrlprefix() + "/logout";
var that = this;
this.$axios.post(url, {}, function(res) {
console.log(res);
that.$store.dispatch("user/removeToken");
that.$router.push({ path: "/login" });
});
},
changeVisible(msg) {
this.isVisible = msg;
},
handleDrawerBar() {
this.isDrawerOpen = !this.isDrawerOpen;
},
changeUserSet(msg) {
this.isVisible = msg;
},
showNormal() {
this.$store.dispatch("settings/handleFullScreen", false);
},
},
};
</script>
<style lang="scss" scoped>
@import "~@/styles/mixin.scss";
@import "~@/styles/variables.scss";
.app >>> {
.change-drawer-dark {
.el-drawer__body {
background-color: #04142a;
}
.el-menu {
border-right: none;
}
}
}
.drawer-bg {
background: #000;
opacity: 0.3;
width: 100%;
top: 0;
height: 100%;
position: absolute;
z-index: 999;
}
.zoomIn {
position: fixed;
z-index: 1;
top: 5px;
right: 5px;
color: #fff;
cursor: pointer;
// background: #52c41a;
background: #fff;
border-radius: 5px;
box-shadow: 0 0 10px rgba(2, 48, 101, 0.2);
padding: 5px;
}
</style>
<template>
<router-view></router-view>
</template>
\ No newline at end of file
......@@ -2,16 +2,12 @@ import Vue from "vue";
import "normalize.css/normalize.css"; // A modern alternative to CSS resets
// hey-ui framework
// import HeyUI from "heyui";
// import "@/styles/heyui/app.less";
// elementu-ui framework
import ElementUI from "element-ui";
import "element-ui/lib/theme-chalk/index.css";
//import locale from 'element-ui/lib/locale/lang/en' // lang i18n
import "@/styles/elementui/index.scss"; // global css
import "@/styles/elementui/theme-blue/index.css"; // blue theme css
import "@/styles/index.scss"; // global css
import "@/styles/theme-blue/index.css"; // blue theme css
import App from "./App";
import store from "./store";
......@@ -39,12 +35,10 @@ import IconFont from "@/components/IconFont";
// import CollapseTransition from "element-ui/lib/transitions/collapse-transition";
// The second argument is optional and sets the default config values for every player.
// Vue.component(CollapseTransition.name, CollapseTransition);
Vue.component("IconFont", IconFont);
// Vue.component(CollapseTransition.name, CollapseTransition);
// Vue.use(HeyUI);
// set ElementUI lang to EN
//Vue.use(ElementUI, { locale })
// 如果想要中文版 element-ui,按如下方式声明
......
......@@ -5,6 +5,7 @@ Vue.use(Router);
/* Layout */
import Layout from "@/layout";
import DevLayot from "@/layout/developer";
/**
* Note: sub-menu only appear when route children.length >= 1
......@@ -53,6 +54,17 @@ export const constantRoutes = [
meta: { title: '应用管理', icon: 'home' }
}]
},
{
path: '/',
redirect: '/dev',
component: DevLayot,
children: [{
path: 'dev',
name: 'Developer',
component: () => import('@/views/developer/index.vue'),
meta: { title: '开发者中心', icon: 'home' }
}]
},
{
path: '/',
redirect: '/build',
......@@ -77,13 +89,13 @@ export const constantRoutes = [
},
{
path: '/',
redirect: '/framework',
redirect: '/device',
component: Layout,
children: [{
path: 'framework',
name: 'Framework',
component: () => import('@/views/app-store/framework.vue'),
meta: { title: '系统页面', icon: 'gongzuotai' }
path: 'device',
name: 'Device',
component: () => import('@/views/app-store/device.vue'),
meta: { title: '设备管理', icon: 'gongzuotai' }
}]
},
{
......@@ -97,6 +109,17 @@ export const constantRoutes = [
meta: { title: '个人中心', icon: 'shangcheng' }
}]
},
{
path: '/',
redirect: '/docs',
component: Layout,
children: [{
path: 'docs',
name: 'Document',
component: () => import('@/views/app-store/docs.vue'),
meta: { title: '开发文档', icon: 'shangcheng' }
}]
},
{
path: '/',
redirect: '/user',
......
......@@ -34,7 +34,6 @@ export default {
name: "AppIndex",
icon: "gongzuotai",
path: "home",
hidden: false,
},
{
vue: "app-store/build.vue",
......@@ -42,7 +41,27 @@ export default {
name: "AppBuild",
icon: "gongzuotai",
path: "build",
hidden: false,
},
{
vue: "app-store/device.vue",
title: "设备管理",
name: "Device",
icon: "gongzuotai",
path: "device",
},
{
vue: "profile/docs.vue",
title: "个人中心",
name: "Profile",
icon: "gongzuotai",
path: "profile",
},
{
vue: "app-store/docs.vue",
title: "开发文档",
name: "Document",
icon: "gongzuotai",
path: "docs",
},
],
};
blockquote,body,button,dd,dl,dt,fieldset,form,h1,h2,h3,h4,h5,h6,hr,input,legend,li,ol,p,pre,td,textarea,th,ul{margin:0;padding:0}body,button,input,select,textarea{font:12px/1.5 tahoma,arial,\5b8b\4f53}h1,h2,h3,h4,h5,h6{font-size:100%}address,cite,dfn,em,var{font-style:normal}code,kbd,pre,samp{font-family:courier new,courier,monospace}small{font-size:12px}ol,ul{list-style:none}a{text-decoration:none}a:hover{text-decoration:underline}sup{vertical-align:text-top}sub{vertical-align:text-bottom}legend{color:#000}fieldset,img{border:0}button,input,select,textarea{font-size:100%}button{cursor:pointer}.container table{border-collapse:collapse;border-spacing:0;table-layout:fixed}.container table td{max-width:700px}html{zoom:expression((function(ele){ele.style.zoom = "1";document.execCommand("BackgroundImageCache",false,true);})(this))}abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,s,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{margin:0;padding:0;border:0;outline:0;background:0 0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary{display:block}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}@font-face{font-family:iconfont;src:url(http://g.tbcdn.cn/tb/icon-font/1.1.5/iconfont.eot?#iefix) format("embedded-opentype"),url(http://g.tbcdn.cn/tb/icon-font/1.1.5/iconfont.woff) format("woff"),url(http://g.tbcdn.cn/tb/icon-font/1.1.5/iconfont.ttf) format("truetype"),url(http://g.tbcdn.cn/tb/icon-font/1.1.5/iconfont.svg#uxiconfont) format("svg")}.iconfont{font-family:iconfont;font-size:12px;font-style:normal}@font-face{font-family:FontAwesome;src:url(http://m.alicdn.com/apps_backstage_wd/wd/img/fontawesome-webfont.eot?v=4.0.3);src:url(http://m.alicdn.com/apps_backstage_wd/wd/img/fontawesome-webfont.eot?#iefix&v=4.0.3) format('embedded-opentype'),url(http://m.alicdn.com/apps_backstage_wd/wd/img/fontawesome-webfont.woff?v=4.0.3) format('woff'),url(http://m.alicdn.com/apps_backstage_wd/wd/img/fontawesome-webfont.ttf?v=4.0.3) format('truetype'),url(http://m.alicdn.com/apps_backstage_wd/wd/img/fontawesome-webfont.svg?v=4.0.3#fontawesomeregular) format('svg');font-weight:400;font-style:normal}.hidden{display:none}.clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden}.clearfix{display:inline-block}::-webkit-scrollbar-track-piece{background-color:#fff;-webkit-border-radius:4px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background-color:#b8c9d9;-webkit-border-radius:4px}::-webkit-scrollbar-thumb:hover{background-color:#afc3d6;-webkit-border-radius:4px}* html .clearfix{height:1%}.clearfix{display:block}.has-trans{-webkit-transition:all .3s ease-out;-moz-transition:all .3s ease-out;-ms-transition:all .3s ease-out;-o-transition:all .3s ease-out;transition:all .3s ease-out}body{font:12px/1.5 "微软雅黑","宋体","Lucida Grande",Helvetica,Arial,Verdana,Microsoft YaHei,sans-serif}.k2-font-song{font-family:\5b8b\4f53,arial}.k2-font-hei{font-family:\9ed1\4f53,arial}.k2-fix-float:after{content:"\0020";display:block;height:0;clear:both}.k2-display-none{position:absolute;visibility:hidden}.k2-inline-block{display:-moz-inline-stack;display:inline-block;vertical-align:middle;position:relative}.k2-inline-block-icon{display:-moz-inline-stack;display:inline-block;zoom:1;padding:0;vertical-align:middle;font-size:0;line-height:9999px;overflow:hidden;position:relative}.k2-break-word{word-wrap:break-word;overflow:hidden}wbr:after{content:"\00200B"}body,legend{color:#666}.k2-highlight-blue,a:link,a:visited{color:#f60;text-decoration:none}.k2-av a:active,.k2-av a:hover,.k2-highlight,a.k2-av:active,a.k2-av:hover,a.k2-highlight,a:active,a:hover{color:#ff8f15;text-decoration:none}.k2-av a:visited,a.k2-av:visited{color:purple}.k2-lowlight{color:#999}i,s{text-decoration:none;font-style:normal}textarea{resize:none}.J_upload_progress{padding:0 20px 20px}.J_upload_progress .percent,.J_upload_progress .progress_wrap{display:inline-block;vertical-align:middle}.J_upload_progress h3{font-size:18px}.J_upload_progress h4{margin:10px 0 10px 0;font-weight:400;max-width:350px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.J_upload_progress .progress_wrap{font-size:0;background-color:#c4c4c4;height:24px;width:300px}.J_upload_progress .progress_wrap .progress_mask{width:0;background-color:#fd6500;height:100%}.J_upload_progress .percent{margin:0 0 0 10px}.J_upload_progress .errorMsg{margin:15px 0 0 0}.J_upload_progress .errorMsg table{width:360px;table-layout:fixed}.J_upload_progress .errorMsg table .td01{width:200px;word-wrap:break-word;padding:5px;vertical-align:top}.J_upload_progress .errorMsg table .td02{word-wrap:break-word;padding:5px;vertical-align:top}.p-checkbox{width:16px;height:16px;display:inline-block;background:url(http://gtms01.alicdn.com/tps/i1/TB1PTb3GFXXXXcbXFXXKSNQ9VXX-100-20.png) no-repeat 0 0}.p-checkbox input{width:16px;height:16px;opacity:0;-moz-opacity:0;z-index:1;border:0;outline-style:none}.p-checkbox.hover{background-position:-42px 0}.p-checkbox.checked{background-position:-84px 0}.p-radio{width:20px;height:19px;display:inline-block;background:url(http://gtms01.alicdn.com/tps/i1/TB1MVcpGFXXXXadXXXXIgvHKXXX-98-44.png) no-repeat -14px -13px}.p-radio input{width:16px;height:16px;opacity:0;-moz-opacity:0;z-index:1;border:0;outline-style:none}.p-radio.hover{background-position:-41px -13px}.p-radio.checked{background-position:-66px -13px}.p-select{display:inline-block;position:relative;z-index:80}.p-select .p-select-list-con{position:relative;float:left;height:40px;z-index:1;background:url(http://gtms01.alicdn.com/tps/i1/TB1HrgjGFXXXXXlXXXXiWl9PVXX-41-100.png) no-repeat right 0;border:1px solid #d4d4d4}.p-select .p-select-list,.p-select .p-select-list-con{min-width:200px}.p-select .p-select-list{height:0;background:#fff;overflow:hidden;position:absolute;top:40px;left:-1px;z-index:1;display:inline-block;max-height:240px}.p-select .scroll-y{overflow-y:scroll}.p-select.open{z-index:99;zoom:1}.p-select.open .p-select-list{height:auto;border:1px solid #d4d4d4}.p-select .p-select-def,.p-select .p-select-one{cursor:default;padding:0 50px 0 10px;white-space:nowrap;overflow:hidden}.p-select .p-select-def{height:40px;line-height:40px;color:#a9a9a9;display:block}.p-select .readonly .p-select-def{background:#ececec}.p-select .p-select-def:hover{background-position:right -60px}.p-select .p-select-one{height:24px;line-height:24px;display:block;color:#666;cursor:pointer}.p-select .p-select-one:hover,.p-select .selected,.p-select.open .p-select-list:hover .selected:hover{background:#52a1e6;color:#fff}.p-select.open .p-select-list:hover .selected{background:0 0;color:#666}.p-select .p-select-btn{width:40px;height:40px;border-left:1px solid #d4d4d4;background:url(http://gtms03.alicdn.com/tps/i3/TB1Rf3fGFXXXXXsXpXXiWl9PVXX-41-100.png) no-repeat 0 0;float:left;position:absolute;right:0;top:1px;z-index:2}.p-select:hover .p-select-btn{background-position:0 -60px}*html{background-image:url(about:blank);background-attachment:fixed}.xubox_layer,.xubox_shade{position:fixed}.xubox_shade{top:0;left:0;width:100%;height:100%}.xubox_layer{top:150px;left:50%;height:auto;width:310px;margin-left:-155px}.xubox_border,.xubox_close,.xubox_iframe,.xubox_moves,.xubox_msgico,.xubox_page,.xubox_title,.xubox_title em,.xubox_title i{position:absolute}.xubox_border{border-radius:5px}.xubox_title{left:0;top:0}.xubox_main{position:relative;height:100%}.xubox_page{top:0;left:0}.xubox_load{background:url(http://gtms03.alicdn.com/tps/i3/TB1lFkqGVXXXXXyXVXXFS2MHFXX-60-24.gif) #fff center center no-repeat}.xubox_loading{display:block;float:left;text-decoration:none;color:#fff}.xulayer_png32{background:url(http://gtms02.alicdn.com/tps/i2/TB1FnslGVXXXXcEaXXXxDo0QpXX-300-300.png) no-repeat}.xubox_moves{border:3px solid #666;cursor:move;background-color:rgba(255,255,255,.3)}.xubox_msgico{width:32px;height:32px;top:52px;left:15px;background:url(http://gtms02.alicdn.com/tps/i2/TB1FnslGVXXXXcEaXXXxDo0QpXX-300-300.png) no-repeat}.xubox_text{padding-left:55px;float:left;line-height:25px;word-break:break-all;padding-right:20px;overflow:hidden;font-size:14px}.xubox_msgtype0{background-position:-91px -38px}.xubox_msgtype1{background-position:-128px -38px}.xubox_msgtype2{background-position:-163px -38px}.xubox_msgtype3{background-position:-91px -75px}.xubox_msgtype4{background-position:-163px -75px}.xubox_msgtype5{background-position:-163px -112px}.xubox_msgtype6{background-position:-163px -148px}.xubox_msgtype7{background-position:-128px -75px}.xubox_msgtype8{background-position:-91px -6px}.xubox_msgtype9{background-position:-129px -6px}.xubox_msgtype10{background-position:-163px -6px}.xubox_msgtype11{background-position:-206px -6px}.xubox_msgtype12{background-position:-206px -44px}.xubox_msgtype13{background-position:-206px -81px}.xubox_msgtype14{background-position:-206px -122px}.xubox_msgtype15{background-position:-206px -157px}.xubox_loading_0{width:60px;height:24px;background:url(http://gtms03.alicdn.com/tps/i3/TB1lFkqGVXXXXXyXVXXFS2MHFXX-60-24.gif) no-repeat}.xubox_loading_1{width:37px;height:37px;background:url(http://gtms04.alicdn.com/tps/i4/TB1u0UvGVXXXXacXpXXDT.zGpXX-37-37.gif) no-repeat}.xubox_loading_2,.xubox_msgtype16{width:32px;height:32px;background:url(http://gtms01.alicdn.com/tps/i1/TB1QmUqGVXXXXbLXFXXBStGGXXX-32-32.gif) no-repeat}.xubox_loading_3{width:126px;height:22px;background:url(http://gtms02.alicdn.com/tps/i2/TB1G2AvGVXXXXabXpXX7yBk.FXX-126-22.gif) no-repeat}.xubox_setwin{position:absolute;right:10px;top:10px;font-size:0}.xubox_setwin a{position:relative;display:inline-block;vertical-align:top;width:14px;height:14px;margin-left:10px;font-size:12px}.xubox_setwin .xubox_min cite{position:absolute;width:14px;height:2px;left:0;top:50%;margin-top:-1px;background-color:#919191;cursor:pointer}.xubox_setwin .xubox_min:hover cite{background-color:#2d93ca}.xubox_setwin .xubox_max{background-position:-6px -189px}.xubox_setwin .xubox_max:hover{background-position:-6px -206px}.xubox_setwin .xubox_maxmin{background-position:-29px -189px}.xubox_setwin .xubox_maxmin:hover{background-position:-29px -206px}.xubox_setwin .xubox_close0{width:14px;height:14px;background-position:-31px -7px;cursor:pointer}.xubox_setwin .xubox_close0:hover{background-position:-51px -7px}.xubox_setwin .xubox_close1{position:absolute;right:-28px;top:-28px;width:30px;height:30px;margin-left:0;background-position:-60px -195px}.xubox_setwin .xubox_close1:hover{background-position:-91px -195px}.xubox_title{width:100%;height:35px;line-height:35px;border-bottom:1px solid #d5d5d5;background:url(http://gtms03.alicdn.com/tps/i3/TB1QTAmGVXXXXaWaXXXxITI.FXX-10-35.png) #ebebeb repeat-x;font-size:14px;color:#333}.xubox_title em{height:20px;line-height:20px;width:60%;top:7px;left:10px;font-style:normal;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.xubox_botton a{position:absolute;bottom:10px;left:50%;background:url(http://gtms02.alicdn.com/tps/i2/TB1FnslGVXXXXcEaXXXxDo0QpXX-300-300.png) repeat;text-decoration:none;color:#fff;font-size:14px;text-align:center;font-weight:700;overflow:hidden}.xubox_botton a:hover{text-decoration:none;color:#fff}.xubox_botton .xubox_botton1{width:79px;height:32px;line-height:32px;margin-left:-39px;background-position:-6px -34px}.xubox_botton1:hover{background-position:-6px -72px}.xubox_botton .xubox_botton2{margin-left:-76px;width:71px;height:29px;line-height:29px;background-position:-5px -114px}.xubox_botton2:hover{background-position:-5px -146px}.xubox_botton .xubox_botton3{width:71px;height:29px;line-height:29px;margin-left:10px;background-position:-81px -114px}.xubox_botton3:hover{background-position:-81px -146px}.xubox_tips{position:relative;line-height:20px;min-width:12px;padding:3px 30px 3px 10px;font-size:12px;border-radius:3px;box-shadow:1px 1px 3px rgba(0,0,0,.3)}.xubox_tips i.layerTipsG{position:absolute;width:0;height:0;border-width:8px;border-color:transparent;border-style:dashed}.xubox_tips i.layerTipsB,.xubox_tips i.layerTipsT{left:5px;border-right-style:solid}.xubox_tips i.layerTipsT{bottom:-8px}.xubox_tips i.layerTipsB{top:-8px}.xubox_tips i.layerTipsL,.xubox_tips i.layerTipsR{top:1px;border-bottom-style:solid}.xubox_tips i.layerTipsR{left:-8px}.xubox_tips i.layerTipsL{right:-8px}.xubox_iconext{background:url(http://gtms04.alicdn.com/tps/i4/TB1rfcqGVXXXXcBXFXXIWYRLpXX-500-300.png) no-repeat}.xubox_layer .xubox_form{width:240px;height:30px;line-height:30px;padding:0 5px;border:1px solid #ccc;background:url(http://gtms04.alicdn.com/tps/i4/TB1QvcnGVXXXXaDaXXXrCpnFpXX-5-10.png) #fff repeat-x;color:#333}.xubox_layer .xubox_formArea{width:300px;height:100px;line-height:20px}.xubox_layer .xubox_tab{position:relative;background-color:#fff;box-shadow:1px 1px 50px rgba(0,0,0,.4)}.xubox_layer .xubox_tabmove{position:absolute;width:600px;height:30px;top:0;left:0}.xubox_layer .xubox_tabtit{display:block;height:34px;border-bottom:1px solid #ccc;background-color:#eee}.xubox_layer .xubox_tabtit span{position:relative;float:left;width:120px;height:34px;line-height:34px;text-align:center;cursor:default}.xubox_layer .xubox_tabtit span.xubox_tabnow{left:-1px;height:35px;border-left:1px solid #ccc;border-right:1px solid #ccc;background-color:#fff;z-index:10}.xubox_layer .xubox_tab_main{line-height:24px;clear:both}.xubox_layer .xubox_tab_main .xubox_tabli{display:none}.xubox_layer .xubox_tab_main .xubox_tabli.xubox_tab_layer{display:block}.xubox_layer .xubox_tabclose{position:absolute;right:10px;top:5px;cursor:pointer}.xubox_bigimg,.xubox_intro{height:300px}.xubox_bigimg{position:relative;display:block;width:600px;text-align:center;background:url(http://gtms04.alicdn.com/tps/i4/TB1u0UvGVXXXXacXpXXDT.zGpXX-37-37.gif) center center no-repeat #000;overflow:hidden}.xubox_bigimg img{position:relative;display:inline-block;visibility:hidden}.xubox_intro{position:absolute;right:-315px;top:0;width:300px;background-color:#fff;overflow-x:hidden;overflow-y:auto}.xubox_imgsee{display:none}.xubox_next,.xubox_prev{position:absolute;top:50%;width:27px;height:44px;margin-top:-22px;outline:0;blr:expression(this.onFocus=this.blur())}.xubox_prev{left:10px;background-position:-5px -5px}.xubox_prev:hover{background-position:-33px -5px}.xubox_next{right:10px;background-position:-5px -50px}.xubox_next:hover{background-position:-33px -50px}.xubox_imgbar{position:absolute;left:0;bottom:0;width:100%;height:32px;line-height:32px;background-color:rgba(0,0,0,.8);filter:Alpha(opacity=80);color:#fff;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:0}.xubox_imgtit *{display:inline-block;vertical-align:top;font-size:12px}.xubox_imgtit a{max-width:65%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;color:#fff}.xubox_imgtit a:hover{color:#fff;text-decoration:underline}.xubox_imgtit em{padding-left:10px}/*!
* lhgcore Calendar Plugin StyleSheet
* Copyright (c) 2009 - 2012 By Li Hui Gang
*/.lcui_border{font:12px/1.333 tahoma,arial,\5b8b\4f53,sans-serif;background-color:#fff;border:2px solid #d0d0d0;-webkit-box-shadow:3px 3px 3px #aaa}.cui_nm,.cui_ny,.cui_pm,.cui_py,.lcui_l,.lcui_lb,.lcui_lt,.lcui_r,.lcui_rb,.lcui_rt{width:3px}.cui_nm,.cui_ny,.cui_pm,.cui_py{font-family:FontAwesome;line-height:16px}.cui_nm:hover,.cui_ny:hover,.cui_pm:hover,.cui_py:hover{text-decoration:none}.cui_pm:before,.cui_py:before{content:"\f0a8"}.cui_nm:before,.cui_ny:before{content:"\f0a9"}.lcui_lt,.lcui_rt{height:3px}.lcui_lt{background-position:-65px 0}.lcui_rt{background-position:-69px 0}.lcui_lb,.lcui_rb{height:3px}.lcui_lb{background-position:-65px -11px}.lcui_rb{background-position:-69px -11px}.lcui_l,.lcui_r{background-repeat:repeat-y}.lcui_l{background-position:-73px 0}.lcui_r{background-position:-77px 0}.lcui_b,.lcui_t{font-size:0}.lcui_t{background-position:0 0}.lcui_b{background-position:0 -10px}.lcui_head{padding:5px 8px 3px}.lcui_body thead{text-align:center;color:#ff9118;font:14px "幼圆",Tahoma,Arial,sans-serif;font-weight:700;height:18px}.cui_py{display:block;width:9px;height:16px;background-position:-25px 0}.cui_ny{display:block;width:9px;height:16px;background-position:-35px 0}.cui_iy{width:40px;margin:0;padding:0;border:1px solid #eee;height:14px;font:12px tahoma,arial;cursor:pointer;text-align:center;margin-right:2px}.cui_pm{display:block;width:9px;height:16px;background-position:-45px 0}.cui_nm{display:block;width:9px;height:16px;background-position:-55px 0}.cui_im{width:20px;margin:0;padding:0;border:1px solid #eee;height:14px;font:12px tahoma,arial;cursor:pointer;text-align:center;margin-right:2px}.cui_db td{background-color:#f7f7f7;color:#999;font:11px verdana,arial,sans-serif;cursor:default;height:20px;width:24px;text-align:center}.cui_db a{color:#000;text-decoration:none;display:block;height:20px;line-height:20px;width:24px;cursor:default}.cui_db a:hover,.cui_today{background-position:0 0;background:#ff9013;color:#fff;border-radius:3px}.cui_foot{padding:2px 0 1px 0}.lcui_empty,.lcui_today{width:44px}.cui_dbtn:link,.cui_tbtn:link{display:block;border:1px solid #428bca;color:#fff;text-decoration:none;background-color:#428bca;width:38px;height:17px;line-height:17px;border-radius:1px}.cui_dbtn:hover,.cui_tbtn:hover{border:1px solid #3276b1;background-color:#3276b1}.lcui_time input{margin:0;padding:0;border:1px solid #999;width:20px;height:17px;font:11px Verdana,Arial;text-align:center;background-color:#f2f2f2;line-height:17px}.cui_ymlist{position:absolute;border:2px solid #ddd;background-color:#fff;width:120px;padding:2px}.cui_lbox a{display:block;padding:3px 0;background:#f7f7f7;text-decoration:none;cursor:default;color:#000;text-align:center;font:11px verdana,arial,sans-serif}.cui_lbox a:hover{background:#129a03;color:#fff;border-radius:3px}.cui_ybar{background-color:#f7f7f7}.cui_ybar a{display:block;text-decoration:none;text-align:center;color:#000}.cui_dbtn:hover,.cui_dbtn:link,.cui_tbtn:hover,.cui_tbtn:link{background-color:#f60;border-color:#f60}#fullbg{background-color:Gray;display:none;z-index:999;position:absolute;left:0;top:0;filter:Alpha(Opacity=30);-moz-opacity:.4;opacity:.4}#dialog{position:fixed;top:300px;left:50%;margin-left:-100px;width:200px;height:200px;display:none;z-index:999}.p-dailogContent{background:url(http://gtms03.alicdn.com/tps/i3/TB1OPaaGpXXXXb0XVXXvye07pXX-124-124.jpg) no-repeat center center;width:200px;height:200px}.J_popwin{position:absolute;z-index:9999}.J_popwin .closepop{color:#b6b6b6;padding:0 5px 0 0;line-height:20px;text-align:right;font-size:20px;background-color:#fff;cursor:move}.J_popwin .closepop b{cursor:pointer}.J_popwin .opacity{padding:5px;background-color:rgba(64,64,64,.2)}.lte8 .J_popwin .opacity{zoom:1}.J_popwin .popbg{background-color:#fff}.J_popwin_mask{position:absolute;z-index:9998;top:0;left:0;background-color:rgba(0,0,0,.1);text-align:center}.lte8 .J_popwin_mask{background:url(http://gtms02.alicdn.com/tps/i2/TB1cjoXGFXXXXbraXXXqxFJVFXX-100-100.png) repeat}.J_popwin_mask b{display:inline-block;width:0;height:100%;vertical-align:middle}.J_popwin_mask img{display:none;vertical-align:middle}.J_popwin_alert{text-align:center}.J_popwin_alert p{color:red;margin:20px 0 0 0}.J_popwin_alert .close{width:70px;height:28px;border:1px solid #404040;margin:30px 0 0 0}.J_popwin_confirm{text-align:center}.J_popwin_confirm p{color:red;margin:20px 0 0 0}.J_popwin_confirm .no,.J_popwin_confirm .yes{width:70px;height:28px;border:1px solid #404040;margin:30px 5px 0 5px}.J_popwin_loading{z-index:10000}.J_popwin_loading img{display:inline-block}.m_app_history{background:#f4f4f4;padding:38px 0 40px}.m_app_history .con{width:990px;background:#fff;margin:0 auto;border:1px solid #ebebeb}.m_app_history .con h3{font-size:16px}.m_app_history .con h3 .border{border-left:2px solid #fc4f00;display:inline-block;height:16px;vertical-align:-2px;margin-right:6px}.m_app_history .con .container{padding:30px 38px}.m_app_history .con .info-t{width:100%;margin-top:18px}.m_app_history .con .info-t td,.m_app_history .con .info-t th{text-align:center;border:1px solid #ddd}.m_app_history .con .info-t th{padding:10px 0}.m_app_history .con .info-t td{padding:5px 4px}.m-app-info{background:#f4f4f4;padding:38px 0 40px}.m-app-info .con{width:990px;background:#fff;margin:0 auto;border:1px solid #ebebeb}.m-app-info .con .container{padding-top:20px}.m-app-info .info{padding:0 35px 20px}.m-app-info .info .notice{color:red;padding-bottom:15px}.m-app-info .info-t{width:100%}.m-app-info .info-t td{padding:10px 0}.m-app-info .info-t .key-con{display:block;padding-top:15px}.m-app-info .info-t .key{font-size:14px;color:#656565;width:90px}.m-app-info .info-t .star{color:#fd6500;height:20px;position:relative;top:2px;padding-left:7px}.m-app-info .info-t a{color:#4487de}.m-app-info .info-t .info-name{color:#999}.m-app-info .info-t .ipt{width:227px;height:40px;line-height:40px;padding-left:3px;border:1px solid #ddd;color:#333}.m-app-info .info-t .bottom-td{padding-left:90px}.m-app-info .info-t .sbt{margin-right:20px}.m-app-info .info-t td{vertical-align:top}.m-app-info .info-t .key-center td{vertical-align:middle}.m-app-info .info .img-show{text-decoration:underline;position:relative}.m-app-info .info .img-show .img-i{display:none}.m-app-info .info .img-show:hover .img-i{display:block;position:absolute;bottom:20px;left:40px;z-index:20}.m-app-info .info .tips{display:block;color:#999}.m-app-info .box-con{position:relative;min-height:40px}.m-app-info .J_uploadMsg{display:none;color:#52b800}.m-app-info .J_upload_again{visibility:hidden}.m-app-info .info .tips-inline{color:#999}.m-app-info .show-box .i{height:100px;position:relative;margin:9px 9px 0 0}.m-app-info .show-box .i-del{border-radius:12px;width:23px;height:23px;display:block;position:absolute;top:-9px;right:-9px;background:url(http://gtms04.alicdn.com/tps/i4/TB1WMgeGFXXXXXzXXXXcyXpFFXX-23-23.png) no-repeat 0 0}.m-app-info .show-box img{height:100px}.m-app-info .info .content{color:#999}.m-app-info .show-info td{height:25px;padding-top:0}.m-app-info .info-t .ipt-area,.m-app-info .info-t .ipt-area-s{width:483px;height:120px;padding-left:3px;line-height:20px}.m-app-info .info-t .ipt-area-s{height:60px}.m-app-info .info-t .privacy .list{padding:10px 0;display:block}.m-app-info .checkbox-con{margin-right:20px}.m-app-info .J_data{width:80px;padding-left:24px;border:1px solid #ccc;background:url(http://gtms01.alicdn.com/tps/i1/TB1g8skGFXXXXaJXFXXIRnL.VXX-13-12.png) no-repeat 3px 3px}.m-app-info .catIdSelect{margin-right:16px}.m-app-info .inform .list .one{margin-right:5px;word-wrap:break-word;word-break:break-all;float:left}.m-app-info .red-color{color:red}.m-app-info .J_imgSizeMsg{display:none}.m-app-info .inform .red{display:none}.m-app-info .J_cats_container>div{margin-right:5px}.m-app-info .J_cats_container{display:inline-block}.m-app-info .J_compact{display:none}.m-app-modify{background:#f4f4f4;padding:38px 0 40px}.m-app-modify .con{width:990px;background:#fff;margin:0 auto;border:1px solid #ebebeb}.m-app-modify .con .container{padding-top:20px}.m-app-modify .info{padding:0 35px 20px}.m-app-modify .info .notice{color:red;padding-bottom:15px}.m-app-modify .info-t{width:100%}.m-app-modify .info-t td{padding:10px 0}.m-app-modify .info-t .key-con{display:block;padding-top:15px}.m-app-modify .info-t .key{font-size:14px;color:#656565;width:90px}.m-app-modify .info-t .star{color:#fd6500;height:20px;position:relative;top:2px;padding-left:7px}.m-app-modify .info-t a{color:#4487de}.m-app-modify .info-t .info-name{color:#999}.m-app-modify .info-t .ipt{width:227px;height:40px;line-height:40px;padding-left:3px;border:1px solid #ddd;color:#333}.m-app-modify .info-t .bottom-td{padding-left:90px}.m-app-modify .info-t .sbt{margin-right:20px}.m-app-modify .info-t td{vertical-align:top}.m-app-modify .info-t .key-center td{vertical-align:middle}.m-app-modify .info .img-show{text-decoration:underline}.m-app-modify .info .tips{display:block;color:#999}.m-app-modify .J_uploadMsg{display:none;color:#52b800}.m-app-modify .J_upload_again{visibility:hidden}.m-app-modify .info .tips-inline{color:#999}.m-app-modify .info-t .ipt-area,.m-app-modify .info-t .ipt-area-s{width:483px;height:120px;padding-left:3px}.m-app-modify .info-t .ipt-area-s{height:60px;line-height:20px}.m-app-modify .info-t .privacy .list{padding:10px 0;display:block}.m-app-modify .show-box .i{height:100px;display:inline-block;position:relative;margin:9px 9px 0 0}.m-app-modify .show-box .i-del{border-radius:12px;width:23px;height:23px;display:block;position:absolute;top:-9px;right:-9px;background:url(http://gtms04.alicdn.com/tps/i4/TB1WMgeGFXXXXXzXXXXcyXpFFXX-23-23.png) no-repeat 0 0}.m-app-modify .show-box img{height:100px}.m-app-modify .info .box-con{min-height:40px;position:relative;background:url(http://gtms03.alicdn.com/tps/i3/TB1YMUgFVXXXXXkaXXXVPO3IVXX-80-25.png) no-repeat 0 0}.m-app-modify .J_uploadMsg{display:none;color:#52b800}.m-app-modify .inform .red{display:none}.m-app-modify .J_cats_container>div{margin-right:5px}.m-app-modify .J_cats_container{display:inline-block}.m-app-suc{background:#f4f4f4;padding:38px 0 40px}.m-app-suc .con{width:990px;background:#fff;margin:0 auto;border:1px solid #ebebeb}.m-app-suc .info{padding:20px 35px}.m-app-suc .con .container{padding-top:20px}.m-app-suc .info .developer{font-size:14px;padding-bottom:7px;color:#404040}.m-app-suc .info .user{color:#fd6500}.m-app-suc .info .notice{padding-bottom:7px;color:#747474}.m-app-suc .info .notice>span{display:none}.m-app-suc .info .notice.default .default{display:inline}.m-app-suc .info .notice.game .game{display:inline}.m-app-version-detail{background:#f4f4f4;padding:38px 0 40px}.m-app-version-detail .con{width:990px;background:#fff;margin:0 auto;border:1px solid #ebebeb}.m-app-version-detail .con .container{padding-top:20px}.m-app-version-detail .info{padding:0 35px 20px}.m-app-version-detail .info-t{width:100%;color:#999}.m-app-version-detail .info-t td{padding:10px 0}.m-app-version-detail .info-t .key{font-size:14px;color:#656565;width:90px}.m-app-version-detail .info-t a{color:#4487de}.m-app-version-detail .info-t td{vertical-align:top}.m-app-version-detail .info .tips{display:block;color:#999}.m-app-version-detail .icon-i{width:80px}.m-app-version-detail .perCon{width:483px;height:120px;padding-left:3px;line-height:20px;display:block}.m-app-version-modify{background:#f4f4f4;padding:38px 0 40px}.m-app-version-modify .con{width:990px;background:#fff;margin:0 auto;border:1px solid #ebebeb}.m-app-version-modify .con .container{padding-top:20px}.m-app-version-modify .info{padding:0 35px 20px}.m-app-version-modify .info .notice{color:red;padding-bottom:15px}.m-app-version-modify .info-t{width:100%}.m-app-version-modify .info-t td{padding:10px 0}.m-app-version-modify .info-t .key-con{display:block;padding-top:15px}.m-app-version-modify .info-t .key{font-size:14px;color:#656565;width:90px}.m-app-version-modify .info-t .star{color:#fd6500;height:20px;position:relative;top:2px;padding-left:7px}.m-app-version-modify .info-t a{color:#4487de}.m-app-version-modify .info-t .info-name{color:#999}.m-app-version-modify .info-t .ipt{width:227px;height:40px;line-height:40px;padding-left:3px;border:1px solid #ddd;color:#333}.m-app-version-modify .info-t .bottom-td{padding-left:90px}.m-app-version-modify .info-t .sbt{margin-right:20px}.m-app-version-modify .info-t td{vertical-align:top}.m-app-version-modify .info-t .key-center td{vertical-align:middle}.m-app-version-modify .info .img-show{text-decoration:underline}.m-app-version-modify .info .tips{display:block;color:#999}.m-app-version-modify .J_uploadMsg{display:none;color:#52b800}.m-app-version-modify .J_upload_again{visibility:hidden}.m-app-version-modify .info .tips-inline{color:#999}.m-app-version-modify .show-box .i{height:100px;display:inline-block;position:relative;margin:9px 9px 0 0}.m-app-version-modify .show-box .i-del{border-radius:12px;width:23px;height:23px;display:block;position:absolute;top:-9px;right:-9px;background:url(http://gtms04.alicdn.com/tps/i4/TB1WMgeGFXXXXXzXXXXcyXpFFXX-23-23.png) no-repeat 0 0}.m-app-version-modify .show-box img{height:100px}.m-app-version-modify .info .content{color:#999}.m-app-version-modify .show-info td{height:25px;padding-top:0}.m-app-version-modify .info-t .ipt-area,.m-app-version-modify .info-t .ipt-area-s{width:483px;height:120px;line-height:20px;padding-left:3px}.m-app-version-modify .info-t .ipt-area-s{height:60px;line-height:20px}.m-app-version-modify .info-t .privacy .list{padding:10px 0;display:block}.m-app-version-modify .checkbox-con{margin-right:20px}.m-app-version-modify .J_data{width:80px;padding-left:24px;border:1px solid #ccc;background:url(http://gtms01.alicdn.com/tps/i1/TB1g8skGFXXXXaJXFXXIRnL.VXX-13-12.png) no-repeat 3px 3px}.m-app-version-modify .catIdSelect{margin-right:16px}.m-app-version-modify .inform .list .one{margin-right:5px;word-wrap:break-word;word-break:break-all}.m-app-version-modify .red-color{color:red}.m-app-version-modify .J_imgSizeMsg{display:none}.m-app-version-modify .info .img-show{text-decoration:underline;position:relative}.m-app-version-modify .info .img-show .img-i{display:none}.m-app-version-modify .info .img-show:hover .img-i{display:block;position:absolute;bottom:20px;left:40px;z-index:20}.m-app-version-modify .info .box-con{min-height:40px;position:relative}.m-app-version-update{background:#f4f4f4;padding:38px 0 40px}.m-app-version-update .con{width:990px;background:#fff;margin:0 auto;border:1px solid #ebebeb}.m-app-version-update .con .container{padding-top:20px}.m-app-version-update .info{padding:0 35px 20px}.m-app-version-update .info .notice{color:red;padding-bottom:15px}.m-app-version-update .info-t{width:100%}.m-app-version-update .info-t td{padding:10px 0}.m-app-version-update .info-t .key-con{display:block;padding-top:15px}.m-app-version-update .info-t .key{font-size:14px;color:#656565;width:90px}.m-app-version-update .info-t .star{color:#fd6500;height:20px;position:relative;top:2px;padding-left:7px}.m-app-version-update .info-t a{color:#4487de}.m-app-version-update .info-t .info-name{color:#999}.m-app-version-update .info-t .ipt{width:227px;height:40px;line-height:40px;padding-left:3px;border:1px solid #ddd;color:#333}.m-app-version-update .info-t .bottom-td{padding-left:90px}.m-app-version-update .info-t .sbt{margin-right:20px}.m-app-version-update .info-t td{vertical-align:top}.m-app-version-update .info-t .key-center td{vertical-align:middle}.m-app-version-update .info .img-show{text-decoration:underline;position:relative}.m-app-version-update .info .img-show .img-i{display:none}.m-app-version-update .info .img-show:hover .img-i{display:block;position:absolute;bottom:20px;left:40px;z-index:20}.m-app-version-update .info .tips{display:block;color:#999}.m-app-version-update .info .box-con{min-height:40px;position:relative}.m-app-version-update .J_uploadMsg{display:none;color:#52b800}.m-app-version-update .J_upload_again{visibility:hidden}.m-app-version-update .info .tips-inline{color:#999}.m-app-version-update .show-box .i{height:100px;display:inline-block;position:relative;margin:9px 9px 0 0}.m-app-version-update .show-box .i-del{border-radius:12px;width:23px;height:23px;display:block;position:absolute;top:-9px;right:-9px;background:url(http://gtms04.alicdn.com/tps/i4/TB1WMgeGFXXXXXzXXXXcyXpFFXX-23-23.png) no-repeat 0 0}.m-app-version-update .show-box img{height:100px}.m-app-version-update .info .content{color:#999}.m-app-version-update .show-info td{height:25px;padding-top:0}.m-app-version-update .info-t .ipt-area,.m-app-version-update .info-t .ipt-area-s{width:483px;height:120px;padding-left:3px;line-height:20px}.m-app-version-update .info-t .ipt-area-s{height:60px}.m-app-version-update .info-t .privacy .list{padding:10px 0;display:block}.m-app-version-update .checkbox-con{margin-right:20px}.m-app-version-update .J_data{width:80px;padding-left:24px;border:1px solid #ccc;background:url(http://gtms01.alicdn.com/tps/i1/TB1g8skGFXXXXaJXFXXIRnL.VXX-13-12.png) no-repeat 3px 3px}.m-app-version-update .catIdSelect{margin-right:16px}.m-app-version-update .inform .list .one{margin-right:5px;word-wrap:break-word;word-break:break-all;float:left}.m-app-version-update .red-color{color:red}.m-app-version-update .J_imgSizeMsg{display:none}.m-app-version-update .info-title{color:#404040;font-size:16px;font-weight:400;padding-bottom:20px}.m-app-version-update .inform .red{display:none}.m-app-version-update .info-t .J_follow{color:#fe4f00;text-decoration:underline}.m-app-version-upload{background:#f4f4f4;padding:38px 0 40px}.m-app-version-upload .con{width:990px;background:#fff;margin:0 auto;border:1px solid #ebebeb}.m-app-version-upload .con .container{padding-top:20px}.m-app-version-upload .info{padding:0 35px 20px}.m-app-version-upload .info .notice{color:red;padding-bottom:15px}.m-app-version-upload .info-t{width:100%}.m-app-version-upload .info-t td{padding:10px 0}.m-app-version-upload .info-t .key-con{display:block;padding-top:15px}.m-app-version-upload .info-t .key{font-size:14px;color:#656565;width:90px}.m-app-version-upload .info-t .star{color:#fd6500;height:20px;position:relative;top:2px;padding-left:7px}.m-app-version-upload .info-t a{color:#4487de}.m-app-version-upload .info-t .info-name{color:#999}.m-app-version-upload .info-t .ipt{width:227px;height:40px;line-height:40px;padding-left:3px;border:1px solid #ddd;color:#333}.m-app-version-upload .info-t .bottom-td{padding-left:90px}.m-app-version-upload .info-t .sbt{margin-right:20px}.m-app-version-upload .info-t .key-center td{vertical-align:middle}.m-app-version-upload .info .tips{display:block;color:#999}.m-certification-change-suc{background:#f4f4f4;padding:38px 0 40px}.m-certification-change-suc .con{width:990px;background:#fff;margin:0 auto;border:1px solid #ebebeb}.m-certification-change-suc .info{padding:20px 35px}.m-certification-change-suc .info .notice{color:red;padding-bottom:15px}.m-certification-change-suc .info-t{width:100%}.m-certification-change-suc .info-t tr{height:62px}.m-certification-change-suc .info-t .info-name,.m-certification-change-suc .info-t .info-name-key{vertical-align:top;line-height:33px}.m-certification-change-suc .info-t .info-name-tr{height:85px}.m-certification-change-suc .info-t .key{font-size:14px;color:#656565;width:90px}.m-certification-change-suc .info-t .star{color:#fd6500;height:20px;position:relative;top:2px;padding-left:7px}.m-certification-change-suc .info-t a{color:#4487de}.m-certification-change-suc .info-t .info-name{color:#999}.m-certification-change-suc .info-t .ipt{width:227px;height:40px;line-height:40px;padding-left:3px;border:1px solid #ddd;color:#333}.m-certification-change-suc .info-t .bottom-td{padding-left:90px}.m-certification-change-suc .info-t .cb{position:relative;top:3px}.m-certification-change-suc .info-t .sbt{margin-right:20px}.m-certification-change-suc .tips{font-size:14px;color:#747474;padding-bottom:20px}.m-certification-change-suc .info-t a.cert-btn{color:#747474}.m-certification-dev{background:#f4f4f4;padding:38px 0 40px}.m-certification-dev .con{width:990px;background:#fff;margin:0 auto;border:1px solid #ebebeb}.m-certification-dev .info{padding:20px 35px}.m-certification-dev .con .container{padding-top:20px}.m-certification-dev .info .developer{font-size:14px;padding-bottom:7px;color:#404040}.m-certification-dev .info .user{color:#fd6500}.m-certification-dev .info .notice{padding-bottom:7px;color:#747474}.m-certification-dev .info .tips{padding-bottom:25px}.m-certification-dev .info .tips .title{font-size:14px;padding-bottom:5px;color:#404040}.m-certification-dev .info .tips .txt{color:#a9a9a9;line-height:25px}.m-certification-dev .info .tips .regist{font-size:14px;padding:0 10px;height:20px;line-height:20px;margin:0 3px}.m-certification-dev .info .zhifu .i-img{width:68px;height:68px;float:left}.m-certification-dev .info .zhifu .i-txt{width:700px;padding-left:20px;float:left}.m-certification-dev .info .zhifu .title{font-size:14px;padding-bottom:4px;color:#404040}.m-certification-dev .info .zhifu .notice{padding-bottom:2px}.m-certification-dev .info .zhifu .tips{color:#a8a8a8}.m-certification-dev .btn-box{padding:20px 0 0 90px}.m-certification-err{background:#f4f4f4;padding:38px 0 40px}.m-certification-err .con{width:990px;background:#fff;margin:0 auto;border:1px solid #ebebeb}.m-certification-err .info{padding:20px 35px}.m-certification-err .con .container{padding-top:20px}.m-certification-err .info .developer{font-size:14px;padding-bottom:7px;color:#404040}.m-certification-err .info .user{color:#fd6500}.m-certification-err .info .notice{padding-bottom:7px;font-size:14px}.m-certification-err .info .tips{padding-bottom:25px}.m-certification-err .info .tips .title{font-size:14px;padding-bottom:5px;color:#404040}.m-certification-err .info .tips .txt{color:#a9a9a9}.m-certification-err .info .tips .regist{font-size:14px;color:#ff6801;padding:0 3px}.m-certification-err .info .zhifu .i-img{width:68px;height:68px;float:left}.m-certification-err .info .zhifu .i-txt{width:700px;padding-left:20px;float:left}.m-certification-err .info .zhifu .title{font-size:14px;padding-bottom:4px;color:#404040}.m-certification-err .info .zhifu .notice{padding-bottom:2px}.m-certification-err .info .zhifu .tips{color:#a8a8a8}.m-certification-err .btn-box{padding:20px 0 0 90px}.m-certification-err .nav2{padding:44px 0 0 0;height:120px;font-size:14px}.m-certification-err .nav2 .one{float:left;width:120px;height:20px;padding-top:80px;margin-right:37px;text-align:center;background:url(http://gtms04.alicdn.com/tps/i4/TB1xQ6tGFXXXXblXpXXmQMrPVXX-692-200.png) no-repeat 27px 0;color:#656565}.m-certification-err .nav2 .one2{background-position:-130px 0}.m-certification-err .nav2 .one3{background-position:-288px 0}.m-certification-err .nav2 .one4{background-position:-444px 0}.m-certification-err .nav2 .one5{background-position:-600px 0}.m-certification-err .nav2 .one1:hover{background-position:27px -134px}.m-certification-err .nav2 .one2:hover{background-position:-130px -134px}.m-certification-err .nav2 .one3:hover{background-position:-288px -134px}.m-certification-err .nav2 .one4:hover{background-position:-444px -134px}.m-certification-err .nav2 .one5:hover{background-position:-600px -134px}.m-certification-err .regist{font-size:14px;padding:0 10px;height:20px;line-height:20px;margin:0 3px}.m-certification-info{background:#f4f4f4;padding:38px 0 40px}.m-certification-info .con{width:990px;background:#fff;margin:0 auto;border:1px solid #ebebeb}.m-certification-info .info{padding:20px 35px}.m-certification-info .info .notice{color:red;padding-bottom:15px}.m-certification-info .info-t{width:100%}.m-certification-info .info-t tr{height:62px}.m-certification-info .info-t .info-name,.m-certification-info .info-t .info-name-key{vertical-align:top;line-height:33px}.m-certification-info .info-t .info-name-tr{height:85px}.m-certification-info .info-t .key{font-size:14px;color:#656565;width:90px}.m-certification-info .info-t .star{color:#fd6500;height:20px;position:relative;top:2px;padding-left:7px}.m-certification-info .info-t a{color:#4487de}.m-certification-info .info-t .info-name{color:#999}.m-certification-info .info-t .ipt{width:227px;height:40px;line-height:40px;padding-left:3px;border:1px solid #ddd;color:#333}.m-certification-info .info-t .short-ipt{width:143px}.m-certification-info .info-t .verifyCodeImg{position:relative;top:5px;cursor:pointer}.m-certification-info .info-t .bottom-td{padding-left:90px}.m-certification-info .info-t .cb{position:relative;top:3px}.m-certification-info .info-t .sbt{margin-right:20px}.m-certification-info-modify{background:#f4f4f4;padding:38px 0 40px}.m-certification-info-modify .con{width:990px;background:#fff;margin:0 auto;border:1px solid #ebebeb}.m-certification-info-modify .info{padding:20px 35px}.m-certification-info-modify .info .notice{color:red;padding-bottom:15px}.m-certification-info-modify .info-t{width:100%}.m-certification-info-modify .info-t tr{height:62px}.m-certification-info-modify .info-t .info-name,.m-certification-info-modify .info-t .info-name-key{vertical-align:top;line-height:33px}.m-certification-info-modify .info-t .info-name-tr{height:85px}.m-certification-info-modify .info-t .key{font-size:14px;color:#656565;width:90px}.m-certification-info-modify .info-t .star{color:#fd6500;height:20px;position:relative;top:2px;padding-left:7px}.m-certification-info-modify .info-t a{color:#4487de}.m-certification-info-modify .info-t .info-name{color:#999}.m-certification-info-modify .info-t .ipt{width:227px;height:40px;line-height:40px;padding-left:3px;border:1px solid #ddd;color:#333}.m-certification-info-modify .info-t .short-ipt{width:143px}.m-certification-info-modify .info-t .verifyCodeImg{position:relative;top:5px;cursor:pointer}.m-certification-info-modify .info-t .bottom-td{padding-left:90px}.m-certification-info-modify .info-t .cb{position:relative;top:3px}.m-certification-info-modify .info-t .sbt{margin-right:20px}.m-certification-info-modify .info .tips{display:block;color:#999}.m-certification-info-show{background:#f4f4f4;padding:38px 0 40px}.m-certification-info-show .con{width:990px;background:#fff;margin:0 auto;border:1px solid #ebebeb}.m-certification-info-show .info{padding:20px 35px}.m-certification-info-show .info .notice{color:red;padding-bottom:15px}.m-certification-info-show .info-t{width:100%}.m-certification-info-show .info-t tr{height:62px}.m-certification-info-show .info-t .info-name,.m-certification-info-show .info-t .info-name-key{vertical-align:top;line-height:33px}.m-certification-info-show .info-t .key{font-size:14px;color:#656565;width:90px}.m-certification-info-show .info-t .star{color:#fd6500;height:20px;position:relative;top:2px;padding-left:7px}.m-certification-info-show .info-t a{color:#4487de}.m-certification-info-show .info-t .ipt{width:227px;height:40px;line-height:40px;padding-left:3px;border:1px solid #ddd;color:#333}.m-certification-info-show .info-t .bottom-td{padding-left:90px}.m-certification-info-show .info-t .cb{position:relative;top:3px}.m-certification-info-show .info-t .sbt{margin-right:20px}.m-certification-info-show .tips{font-size:14px;color:#747474;padding-bottom:20px}.m-certification-suc{background:#f4f4f4;padding:38px 0 40px}.m-certification-suc .con{width:990px;background:#fff;margin:0 auto;border:1px solid #ebebeb}.m-certification-suc .info{padding:20px 35px}.m-certification-suc .con .container{padding-top:20px}.m-certification-suc .info .developer{font-size:14px;padding-bottom:7px;color:#404040}.m-certification-suc .info .user{color:#fd6500}.m-certification-suc .info .notice{padding-bottom:7px;color:#747474}.m-certification-suc .info .tips{padding-bottom:25px}.m-certification-suc .info .tips .title{font-size:14px;padding-bottom:5px;color:#404040}.m-certification-suc .info .tips .txt{color:#a9a9a9}.m-certification-suc .info .tips .regist{font-size:14px;color:#ff6801;padding:0 3px}.m-certification-suc .info .zhifu .i-img{width:68px;height:68px;float:left}.m-certification-suc .info .zhifu .i-txt{width:700px;padding-left:20px;float:left}.m-certification-suc .info .zhifu .title{font-size:14px;padding-bottom:4px;color:#404040}.m-certification-suc .info .zhifu .notice{padding-bottom:2px}.m-certification-suc .info .zhifu .tips{color:#a8a8a8}.m-certification-suc .btn-box{padding:20px 0 0 90px}.m-certification-suc .nav2{padding:44px 0 0 0;height:120px;font-size:14px}.m-certification-suc .nav2 .one{float:left;width:120px;height:20px;padding-top:80px;margin-right:37px;text-align:center;background:url(http://gtms04.alicdn.com/tps/i4/TB1xQ6tGFXXXXblXpXXmQMrPVXX-692-200.png) no-repeat 27px 0;color:#656565}.m-certification-suc .nav2 .one2{background-position:-130px 0}.m-certification-suc .nav2 .one3{background-position:-288px 0}.m-certification-suc .nav2 .one4{background-position:-444px 0}.m-certification-suc .nav2 .one5{background-position:-600px 0}.m-certification-suc .nav2 .one1:hover{background-position:27px -134px}.m-certification-suc .nav2 .one2:hover{background-position:-130px -134px}.m-certification-suc .nav2 .one3:hover{background-position:-288px -134px}.m-certification-suc .nav2 .one4:hover{background-position:-444px -134px}.m-certification-suc .nav2 .one5:hover{background-position:-600px -134px}.m-claim-copyright{background:#f4f4f4;padding:38px 0 40px}.m-claim-copyright .con{width:990px;background:#fff;margin:0 auto;border:1px solid #ebebeb;padding-bottom:60px}.m-claim-copyright .info{padding-left:30px}.m-claim-copyright .info .app-one{float:left;width:80px}.m-claim-copyright .info .app-one .one-i{display:block;width:62px}.m-claim-copyright .title{padding-bottom:10px}.m-claim-copyright .title a,.m-claim-copyright .title span{color:#4487de}.m-claim-copyright .title .banben{text-decoration:underline;padding:0 3px}.m-claim-copyright .btn-con{padding-top:30px}.m-claim-copyright .show-box{display:block}.m-claim-copyright .list .one{margin-right:5px;word-wrap:break-word;word-break:break-all;float:left}.m-claim-copyright .show-box img{height:100px}.m-claim-copyright .show-box .i{display:inline-block;height:100px;margin:9px 9px 0 0;position:relative}.m-claim-copyright .show-box .i-del{background:url(http://gtms04.alicdn.com/tps/i4/TB1WMgeGFXXXXXzXXXXcyXpFFXX-23-23.png) no-repeat scroll 0 0 rgba(0,0,0,0);border-radius:12px;display:block;height:23px;position:absolute;right:-9px;top:-9px;width:23px}.m-claim-copyright .J_uploadMsg{color:#52b800;display:none}.m-claim-copyright .box-con .list a{color:#4487de}.m-claim-copyright .info .notice{color:red}.m-claim-copyright .info-t td{vertical-align:top}.m-claim-copyright .info-t .key-center td{vertical-align:middle}.m-claim-copyright .info-t .key{font-size:14px;color:#656565;width:90px}.m-claim-copyright .info-t .star{color:#fd6500;height:20px;position:relative;top:2px;padding-left:7px}.m-claim-copyright .info-t .key-center td{vertical-align:middle}.m-claim-copyright .J_cats_container{display:inline-block}.m-claim-copyright .p-ipt-errorCon{display:inline-block}.m-claim-copyright .tips{margin:20px 0 10px;font-size:14px;font-weight:400;color:#404040}.m-claim-copyright .J_cats_container .select-box{margin-right:5px}.m-claim-copyright .info-t{width:100%}.m-claim-copyright-note-item{padding:10px}.m-claim-copyright-note-item>p{padding:5px 0}.m-claim-search{background:#f4f4f4;padding:38px 0 40px}.m-claim-search .con{width:990px;background:#fff;margin:0 auto;border:1px solid #ebebeb}.m-claim-search .info{padding:20px 35px}.m-claim-search .info .notice{color:red;padding-bottom:15px}.m-claim-search .info-t{width:100%}.m-claim-search .info-t tr{height:62px}.m-claim-search .info-t .key{font-size:14px;color:#656565;width:90px}.m-claim-search .info-t .star{color:#fd6500;height:20px;position:relative;top:2px;padding-left:7px}.m-claim-search .info-t .ipt{width:227px;height:40px;line-height:40px;padding-left:3px;border:1px solid #ddd;color:#333}.m-claim-search .info-t .bottom-td{padding-left:90px}.m-claim-search .info-t .btn-con{padding:0 0 60px 90px}.m-claim-search .info-t .cb{position:relative;top:3px}.m-claim-search .info-t .sbt{margin-right:20px}.m-claim-search .way1{margin-right:10px}.m-claim-search .rst .list{height:150px}.m-claim-search .rst .list .one{width:110px;height:150px;float:left}.m-claim-search .rst .list .one-i{width:62px;display:block}.m-claim-search .rst .list .one-t{color:#9a9a9a;padding:4px 0}.m-claim-search .info-t .rst td{vertical-align:top}.m-claim-search .info-t .key-con{padding-top:10px}.m-claim-search .info-t .file-key{vertical-align:top}.m-claim-search .info-t .file-key .key-con{padding-top:10px}.m-claim-search .search-notice{color:red}.m-claim-search .inform .J_del{color:#4487de}.m-claim-search .inform .red{display:none}.m-claim-suc{background:#f4f4f4;padding:38px 0 40px}.m-claim-suc .con{width:990px;background:#fff;margin:0 auto;border:1px solid #ebebeb}.m-claim-suc .info{padding:20px 35px}.m-claim-suc .con .container{padding-top:20px}.m-claim-suc .info .developer{font-size:14px;padding-bottom:7px;color:#404040}.m-claim-suc .info .user{color:#fd6500}.m-claim-suc .info .notice{padding-bottom:7px;color:#747474}.m-claim-suc .info .notice>span{display:none}.m-claim-suc .info .notice.default .default{display:inline}.m-claim-suc .info .notice.game .game{display:inline}.m-claim-suc .info .tips{padding-bottom:25px}.m-claim-suc .info .tips .title{font-size:14px;padding-bottom:5px;color:#404040}.m-claim-suc .info .tips .txt{color:#a9a9a9}.m-claim-suc .info .tips .regist{font-size:14px;color:#ff6801;padding:0 3px}.m-claim-suc .info .zhifu .i-img{width:68px;height:68px;float:left}.m-claim-suc .info .zhifu .i-txt{width:700px;padding-left:20px;float:left}.m-claim-suc .info .zhifu .title{font-size:14px;padding-bottom:4px;color:#404040}.m-claim-suc .info .zhifu .notice{padding-bottom:2px}.m-claim-suc .info .zhifu .tips{color:#a8a8a8}.m-claim-suc .btn-box{padding:20px 0 0 90px}.m-claim-suc .nav2{padding:44px 0 0 0;height:120px;font-size:14px}.m-claim-suc .nav2 .one{float:left;width:120px;height:20px;padding-top:80px;margin-right:37px;text-align:center;background:url(http://gtms04.alicdn.com/tps/i4/TB1xQ6tGFXXXXblXpXXmQMrPVXX-692-200.png) no-repeat 27px 0;color:#656565}.m-claim-suc .nav2 .one2{background-position:-130px 0}.m-claim-suc .nav2 .one3{background-position:-288px 0}.m-claim-suc .nav2 .one4{background-position:-444px 0}.m-claim-suc .nav2 .one5{background-position:-600px 0}.m-claim-suc .nav2 .one1:hover{background-position:27px -134px}.m-claim-suc .nav2 .one2:hover{background-position:-130px -134px}.m-claim-suc .nav2 .one3:hover{background-position:-288px -134px}.m-claim-suc .nav2 .one4:hover{background-position:-444px -134px}.m-claim-suc .nav2 .one5:hover{background-position:-600px -134px}.m-cpd-download{background:#f4f4f4;padding:38px 0 40px}.m-cpd-download .con{width:990px;background:#fff;margin:0 auto;border:1px solid #ebebeb}.m-cpd-download .con h3{font-size:16px}.m-cpd-download .con h3 .border{border-left:2px solid #fc4f00;display:inline-block;height:16px;vertical-align:-2px;margin-right:6px}.m-cpd-download .con .container{padding:30px 38px}.m-cpd-download .con .info-t{width:100%;margin-top:18px}.m-cpd-download .con .info-t td,.m-cpd-download .con .info-t th{text-align:center;border:1px solid #ddd}.m-cpd-download .con .info-t th{padding:10px 0}.m-cpd-download .con .info-t td{padding:5px 4px}.ui-button-lorange .ui-button-text,.ui-button-morange .ui-button-text,.ui-button-sorange .ui-button-text,.ui-form-item,body,button,input,select,textarea{font-family:tahoma,arial,"Hiragino Sans GB",\5b8b\4f53}body,html{background:#fff}.wrap{width:420px;margin:0 auto;height:auto}.wrap-logo{width:200px;margin:20px auto;text-align:center}.wrap-logo-to img{padding-bottom:10px}.wrap-logo-to{margin:0 15px}.wrap-title{font-size:14px;color:#000}.wrap-title .business{font-size:18px;margin-right:5px}.ui-form{margin-top:10px}.ui-form-item{margin:8px 0;padding-left:0}.ui-label2{font-size:14px;color:#000;font-weight:500}.ui-label2 i{display:inline-block;width:5px;height:5px;margin-right:5px;margin-bottom:2px;border-radius:10px;background-color:#0ae}.ui-form-explain{padding-left:10px}.header{height:70px;border-bottom:1px #dad9d9 solid}.header__nav{width:990px;margin:auto;padding-top:15px}.nav-title{border-left:1px solid grey;margin-left:5px;padding-left:10px;padding-top:5px;color:#1a1a1a;font-size:20px}.nav-logo:hover{text-decoration:none}.nav-title:hover{color:#1a1a1a;text-decoration:none}.nav-logo{width:114px;height:40px;line-height:40px}.nav-logo .ui-new-blue{color:#009fe8;font-size:35px}.nav-logo .ui-new-word{color:#000;font-size:32px}.ui-form-item-tips .ui-tiptext{padding-left:0;color:#b2b2b2}.ui-form-item-tips .iconfont{color:#0ae}.ui-button{float:left;width:88px;height:32px;line-height:32px;margin-top:20px;border-radius:4px;text-align:center;font-size:14px}.ui-button-auth{margin-left:52px;background-color:#0ae;color:#fff}.ui-button-auth:hover{color:#fff}.ui-button-cancle{margin-left:20px;border:1px solid #979797;color:#000}.ui-button-cancle:hover{color:#000}.footer{height:99px;border-top:1px #dad9d9 solid}.ui-footer-link a{color:grey}.wrap{margin-bottom:35px}.m-certification-err{background:#f4f4f4;padding:38px 0 40px}.m-certification-err .con{width:990px;background:#fff;margin:0 auto;border:1px solid #ebebeb}.m-certification-err .info{padding:20px 35px}.m-certification-err .con .container{padding-top:20px}.m-certification-err .info .developer{font-size:14px;padding-bottom:7px;color:#404040}.m-certification-err .info .user{color:#fd6500}.m-certification-err .info .notice{padding-bottom:7px;font-size:14px}.m-certification-err .info .tips{padding-bottom:25px}.m-certification-err .info .tips .title{font-size:14px;padding-bottom:5px;color:#404040}.m-certification-err .info .tips .txt{color:#a9a9a9}.m-certification-err .info .tips .regist{font-size:14px;color:#ff6801;padding:0 3px}.m-certification-err .info .zhifu .i-img{width:68px;height:68px;float:left}.m-certification-err .info .zhifu .i-txt{width:700px;padding-left:20px;float:left}.m-certification-err .info .zhifu .title{font-size:14px;padding-bottom:4px;color:#404040}.m-certification-err .info .zhifu .notice{padding-bottom:2px}.m-certification-err .info .zhifu .tips{color:#a8a8a8}.m-certification-err .btn-box{padding:20px 0 0 90px}.m-certification-err .nav2{padding:44px 0 0 0;height:120px;font-size:14px}.m-certification-err .nav2 .one{float:left;width:120px;height:20px;padding-top:80px;margin-right:37px;text-align:center;background:url(http://gtms04.alicdn.com/tps/i4/TB1xQ6tGFXXXXblXpXXmQMrPVXX-692-200.png) no-repeat 27px 0;color:#656565}.m-certification-err .nav2 .one2{background-position:-130px 0}.m-certification-err .nav2 .one3{background-position:-288px 0}.m-certification-err .nav2 .one4{background-position:-444px 0}.m-certification-err .nav2 .one5{background-position:-600px 0}.m-certification-err .nav2 .one1:hover{background-position:27px -134px}.m-certification-err .nav2 .one2:hover{background-position:-130px -134px}.m-certification-err .nav2 .one3:hover{background-position:-288px -134px}.m-certification-err .nav2 .one4:hover{background-position:-444px -134px}.m-certification-err .nav2 .one5:hover{background-position:-600px -134px}.m-certification-err .regist{font-size:14px;padding:0 10px;height:20px;line-height:20px;margin:0 3px}.ui-button-lorange .ui-button-text,.ui-button-morange .ui-button-text,.ui-button-sorange .ui-button-text,.ui-form-item,body,button,input,select,textarea{font-family:tahoma,arial,"Hiragino Sans GB",\5b8b\4f53}body,html{background:#fff}.wrap{width:420px;margin:0 auto;height:auto}.wrap-logo{width:200px;margin:20px auto;text-align:center}.wrap-logo-to img{padding-bottom:10px}.wrap-logo-to{margin:0 15px}.wrap-title{font-size:14px;color:#000}.wrap-title .business{font-size:18px;margin-right:5px}.ui-form{margin-top:10px}.ui-form-item{margin:8px 0;padding-left:0}.ui-label2{font-size:14px;color:#000;font-weight:500}.ui-label2 i{display:inline-block;width:5px;height:5px;margin-right:5px;margin-bottom:2px;border-radius:10px;background-color:#0ae}.ui-form-explain{padding-left:10px}.header{height:70px;border-bottom:1px #dad9d9 solid}.header__nav{width:990px;margin:auto;padding-top:15px}.nav-title{border-left:1px solid grey;margin-left:5px;padding-left:10px;padding-top:5px;color:#1a1a1a;font-size:20px}.nav-logo:hover{text-decoration:none}.nav-title:hover{color:#1a1a1a;text-decoration:none}.nav-logo{width:114px;height:40px;line-height:40px}.nav-logo .ui-new-blue{color:#009fe8;font-size:35px}.nav-logo .ui-new-word{color:#000;font-size:32px}.ui-form-item-tips .ui-tiptext{padding-left:0;color:#b2b2b2}.ui-form-item-tips .iconfont{color:#0ae}.ui-button{float:left;width:88px;height:32px;line-height:32px;margin-top:20px;border-radius:4px;text-align:center;font-size:14px}.ui-button-auth{margin-left:52px;background-color:#0ae;color:#fff}.ui-button-auth:hover{color:#fff}.ui-button-cancle{margin-left:20px;border:1px solid #979797;color:#000}.ui-button-cancle:hover{color:#000}.footer{height:99px;border-top:1px #dad9d9 solid}.ui-footer-link a{color:grey}.wrap{margin-bottom:35px}.m-dev-download{background:#f4f4f4;padding:38px 0 40px}.m-dev-download .con{width:990px;background:#fff;margin:0 auto;border:1px solid #ebebeb}.m-dev-download .con h3{font-size:16px}.m-dev-download .con h3 .border{border-left:2px solid #fc4f00;display:inline-block;height:16px;vertical-align:-2px;margin-right:6px}.m-dev-download .con .container{padding:30px 38px}.m-dev-download .con .info-t{width:100%;margin-top:18px}.m-dev-download .con .info-t td,.m-dev-download .con .info-t th{text-align:center;border:1px solid #ddd}.m-dev-download .con .info-t th{padding:10px 0}.m-dev-download .con .info-t td{padding:5px 4px}.m-dev-download .calender{width:130px;height:30px;border:1px solid #ddd;padding-left:10px}.m-dev-download .calender:hover{cursor:pointer}.m-dev-download .search-t td{height:40px}.m-dev-download .search-t .bottom-td{padding-top:5px}.m-dev-download .timeBox{height:30px}.m-dev-download .timeBox .tips,.m-dev-download .timeBox .txt{display:inline-block;height:30px;position:relative}.m_earn_history_list{background:#f4f4f4;padding:38px 0 40px}.m_earn_history_list .con{width:990px;background:#fff;margin:0 auto;border:1px solid #ebebeb}.m_earn_history_list .con h3{font-size:16px}.m_earn_history_list .con h3 .border{border-left:2px solid #fc4f00;display:inline-block;height:16px;vertical-align:-2px;margin-right:6px}.m_earn_history_list .con .container{padding:30px 38px}.m_earn_history_list .con table{width:100%;margin-top:18px}.m_earn_history_list .con table td,.m_earn_history_list .con table th{text-align:center;border:1px solid #ddd}.m_earn_history_list .con table th{padding:10px 0}.m_earn_history_list .con table td{padding:5px 4px}.m-earn-report{background:#f4f4f4;padding:38px 0 40px}.m-earn-report .con{width:990px;background:#fff;margin:0 auto;border:1px solid #ebebeb}.m-earn-report .con h3{font-size:16px}.m-earn-report .con h3 .border{border-left:2px solid #fc4f00;display:inline-block;height:16px;vertical-align:-2px;margin-right:6px}.m-earn-report .con .container{padding:30px 38px}.m-earn-report .con .info-t{width:100%;margin-top:18px}.m-earn-report .con .info-t td,.m-earn-report .con .info-t th{text-align:center;border:1px solid #ddd}.m-earn-report .con .info-t th{padding:10px 0}.m-earn-report .con .info-t td{padding:5px 4px}.m-earn-report .calender{width:130px;height:30px;border:1px solid #ddd;padding-left:10px}.m-earn-report .calender:hover{cursor:pointer}.m-earn-report .search-t td{height:40px}.m-earn-report .search-t .bottom-td{padding-top:5px}.m-earn-report .timeBox{height:30px}.m-earn-report .timeBox .tips,.m-earn-report .timeBox .txt{display:inline-block;height:30px;position:relative}.m-example{background:#f4f4f4;padding:38px 0 40px}.m-example .con{width:990px;background:#fff;margin:0 auto;border:1px solid #ebebeb}.m-example .con .container{padding:20px}.m-example .title{margin-top:40px}.m-example .layer button{margin:0 10px 10px 0}.m-freeze{background:#f4f4f4;padding:38px 0 40px}.m-freeze .con{width:990px;background:#fff;margin:0 auto;border:1px solid #ebebeb}.m-freeze .con .container{padding-top:20px}.m-freeze .con .container .inform{padding:10px 10px 100px 10px;text-align:center;font-size:14px;color:#fe4f00}.m-gift-add{background:#f4f4f4;padding:38px 0 40px}.m-gift-add .no-gift{text-align:center;display:none}.m-gift-add .con{position:relative;width:990px;background:#fff;margin:0 auto;border:1px solid #ebebeb}.m-gift-add .gift-my-entry{position:absolute;top:30px;right:35px;font-size:16px}.m-gift-add .box-con{position:relative}.m-gift-add .show-box .i{display:inline-block;position:relative;margin:9px 9px 0 0}.m-gift-add .show-box .i-del{border-radius:12px;width:23px;height:23px;display:block;position:absolute;top:-9px;right:-9px;background:url(http://gtms04.alicdn.com/tps/i4/TB1WMgeGFXXXXXzXXXXcyXpFFXX-23-23.png) no-repeat 0 0}.m-gift-add .show-box img{height:100px}.m-gift-add .info .notice{color:red;padding-bottom:15px}.m-gift-add .con .container{padding-top:20px}.m-gift-add .info{padding:0 35px 20px}.m-gift-add .info-t{width:100%}.m-gift-add #form-main{display:none}.m-gift-add .info-t .key{font-size:14px;color:#656565;width:145px}.m-gift-add .info-t td{padding:10px 0}.m-gift-add .info-t .key-con{display:block;padding-top:15px}.m-gift-add .info-t .star{color:#fd6500;height:20px;position:relative;top:2px;padding-left:7px}.m-gift-add .info .tips{display:block;color:#999}.m-gift-add .info-t .ipt,.m-gift-add .info-t .qycode{width:227px;height:40px;line-height:40px;padding-left:3px;border:1px solid #ddd;color:#333}.m-gift-add .info-t .qycode{margin-left:10px}.m-gift-add .info-t .ipt-area,.m-gift-add .info-t .ipt-area-s{width:483px;height:120px;padding-left:3px;line-height:20px}.m-gift-add .J_uploadMsg{display:none;color:#52b800}.m-gift-add .bottom-td{padding-left:145px!important}.m-gift-add .info-t .sbt{margin-right:20px}.m-gift-add .file-upload .i-del{top:-2px;right:-30px}.m-gift-add .red-color{color:red}.m-gift-my{background:#f4f4f4;padding:38px 0 40px}.m-gift-my .con{position:relative;width:990px;background:#fff;margin:0 auto;border:1px solid #ebebeb}.m-gift-my .con .container{padding-top:20px}.m-gift-my .info{padding:0 35px 20px}.m-gift-my .gift-my-entry{position:absolute;top:30px;right:35px;font-size:16px}.m-gift-my .con table{width:100%;margin-top:18px}.m-gift-my .con em{color:#f60}.m-gift-my .con table td{padding:5px 4px}.m-gift-my .con table th{padding:10px 0}.m-gift-my .con table td,.m-gift-my .con table th{text-align:center;border:1px solid #ddd}.m-gift-update #form-main{display:block!important}.m-help{width:100%}.m-help{background:#f4f4f4;padding:38px 0 40px}.m-help .con{width:990px;background:#fff;margin:0 auto;border:1px solid #ebebeb}.m-help .container{padding:10px 40px 40px}.m-help .one{text-indent:2em;padding:15px 0;border-bottom:1px solid #ebebeb;font-size:14px}.m-help .color{color:#f60}.m-help .title{font-size:14px;padding-bottom:10px}.m-help .bold{font-weight:700}.m-index{width:100%}.m-index .con{width:990px;margin:0 auto}.m-index .banner{height:335px;width:100%;position:relative}.m-index .banner .btn{background:url(http://gtms03.alicdn.com/tps/i3/TB1ghYrGFXXXXXFaXXXxT2CGpXX-160-40.png) no-repeat 0 0;width:160px;height:40px;position:absolute;left:50%;margin-left:40px;bottom:35px;display:block}.m-index .nav2{padding:44px 0 0 106px;height:120px;font-size:14px}.m-index .nav2 .one{float:left;width:120px;height:20px;padding-top:80px;margin-right:37px;text-align:center;background:url(http://gtms04.alicdn.com/tps/i4/TB1xQ6tGFXXXXblXpXXmQMrPVXX-692-200.png) no-repeat 27px 0;color:#656565}.m-index .nav2 .one2{background-position:-130px 0}.m-index .nav2 .one3{background-position:-288px 0}.m-index .nav2 .one4{background-position:-444px 0}.m-index .nav2 .one5{background-position:-600px 0}.m-index .nav2 .one1:hover{background-position:27px -134px}.m-index .nav2 .one2:hover{background-position:-130px -134px}.m-index .nav2 .one3:hover{background-position:-288px -134px}.m-index .nav2 .one4:hover{background-position:-444px -134px}.m-index .nav2 .one5:hover{background-position:-600px -134px}.m-invoice{background:#f4f4f4;padding:38px 0 40px}.m-invoice .con{width:990px;background:#fff;margin:0 auto;border:1px solid #ebebeb}.m-invoice .con .container{padding-top:20px}.m-invoice .info{padding:0 35px 20px}.m-invoice .info .notice{color:red;padding-bottom:15px}.m-invoice .info-t{width:100%}.m-invoice .info-t td{padding:10px 0}.m-invoice .info-t .key-center td{vertical-align:middle}.m-invoice .info-t .key-con{display:block;padding-top:15px}.m-invoice .info-t .key{font-size:14px;color:#656565;width:90px}.m-invoice .info-t .star{color:#fd6500;height:20px;position:relative;top:2px;padding-left:7px}.m-invoice .info-t a{color:#4487de}.m-invoice .info-t .info-name{color:#999}.m-invoice .info-t .ipt{width:227px;height:40px;line-height:40px;padding-left:3px;border:1px solid #ddd;color:#333}.m-invoice .info-t .short-ipt{width:143px}.m-invoice .info-t .ipt-long{width:560px}.m-invoice .info-t .bottom-td{padding-left:90px}.m-invoice .info-t .sbt{margin-right:20px}.m-invoice .info .img-show{text-decoration:underline;position:relative}.m-invoice .info .img-show .img-i{display:none}.m-invoice .info .img-show:hover .img-i{display:block;position:absolute;bottom:20px;left:40px;z-index:20}.m-invoice .info .tips{display:block;color:#999}.m-invoice .box-con{position:relative;min-height:40px}.m-invoice .J_uploadMsg{display:none;color:#52b800}.m-invoice .J_upload_again{visibility:hidden}.m-invoice .info .tips-inline{color:#999}.m-invoice .show-box .i{height:100px;display:inline-block;position:relative;margin:9px 9px 0 0}.m-invoice .show-box .i-del{border-radius:12px;width:23px;height:23px;display:block;position:absolute;top:-9px;right:-9px;background:url(http://gtms04.alicdn.com/tps/i4/TB1WMgeGFXXXXXzXXXXcyXpFFXX-23-23.png) no-repeat 0 0}.m-invoice .show-box img{height:100px}.m-invoice .info .content{color:#999}.m-invoice .show-info td{height:25px;padding-top:0}.m-invoice .info-t tr{height:62px}.m-invoice .info-t .ipt-area,.m-invoice .info-t .ipt-area-s{width:483px;height:120px;padding-left:3px;line-height:20px}.m-invoice .info-t .ipt-area-s{height:60px}.m-invoice .info-t .privacy .list{padding:10px 0;display:block}.m-invoice .info-t .verifyCodeImg{position:relative;top:5px;cursor:pointer}.m-invoice .checkbox-con{margin-right:20px}.m-invoice .J_data{width:80px;padding-left:24px;border:1px solid #ccc;background:url(http://gtms01.alicdn.com/tps/i1/TB1g8skGFXXXXaJXFXXIRnL.VXX-13-12.png) no-repeat 3px 3px}.m-invoice .catIdSelect{margin-right:16px}.m-invoice .inform .list .one{margin-right:5px;word-wrap:break-word;word-break:break-all;float:left}.m-invoice .red-color{color:red}.m-invoice .J_imgSizeMsg{display:none}.m-invoice .inform .red{display:none}.m_myaccount_list{background:#f4f4f4;padding:38px 0 40px}.m_myaccount_list .con{width:990px;background:#fff;margin:0 auto;border:1px solid #ebebeb}.m_myaccount_list .con h3{font-size:16px}.m_myaccount_list .con h3 .border{border-left:2px solid #fc4f00;display:inline-block;height:16px;vertical-align:-2px;margin-right:6px}.m_myaccount_list .con .container{padding:30px 38px}.m_myaccount_list .con .container .table_header{margin-top:15px}.m_myaccount_list .con .container h4{font-size:20px;float:left}.m_myaccount_list .con .container .init_pay{float:right}.m_myaccount_list .con table{width:100%;margin-top:18px}.m_myaccount_list .con table td,.m_myaccount_list .con table th{text-align:center;border:1px solid #ddd}.m_myaccount_list .con table th{padding:10px 0}.m_myaccount_list .con table td{padding:5px 4px}.pay_init_pop{width:600px;height:240px;padding:20px 30px}.pay_init_pop .op{padding:20px 0 0 0;border-top:1px solid #e0e0e0}.pay_init_pop h4{font-size:18px;padding:10px 0 24px}.pay_init_pop i{font-size:14px}.pay_init_pop .tip_desc{font-weight:400}.pay_init_pop table .td01{width:70px}.pay_init_pop table td{height:40px;font-weight:700}.pay_init_pop table .txt{width:200px;height:36px;line-height:36px;font-size:15px}.pay_init_pop .p-checkbox{vertical-align:middle}.pay_init_pop .checkbox_desc{display:inline-block;vertical-align:middle;margin-left:5px}.pay_init_pop #errorCon{margin-bottom:8px;height:20px}.pay_error_pop{padding:20px;line-height:1.5;font-size:14px}.m_myapp_comment{background:#f4f4f4;padding:38px 0 40px}.m_myapp_comment .con{width:990px;background:#fff;margin:0 auto;border:1px solid #ebebeb}.m_myapp_comment .con h3{font-size:16px}.m_myapp_comment .con h3 .border{border-left:2px solid #fc4f00;display:inline-block;height:16px;vertical-align:-2px;margin-right:6px}.m_myapp_comment .con .container{padding:30px 38px}.m_myapp_comment .con .container table{width:400px;margin-top:20px;table-layout:fixed}.m_myapp_comment .con .container table td{font-size:14px;height:50px}.m_myapp_comment .con .container table .col1{width:100px}.m_myapp_comment .con .container table .last{height:70px;padding-left:100px}.m_myapp_comment .con .container .content h3{font-size:14px;color:#333}.m_myapp_comment .con .container .content h3 b{color:#ff5000}.m_myapp_comment .con .container .content li{width:100%;border-top:1px dotted #dcdcdc;padding:10px 0}.m_myapp_comment .con .container .content li b{font-weight:400;color:#25549a}.m_myapp_comment .con .container .content ul{margin-top:20px}.m_myapp_comment .con .container .content li .star_wrap{margin-left:5px;display:inline-block;width:60px;height:20px;background:url(http://gtms03.alicdn.com/tps/i3/TB1B9SCGpXXXXciaXXXH2Os.VXX-12-36.png) repeat-x 0 -24px;vertical-align:-9px}.m_myapp_comment .con .container .content li .star_mask{display:inline-block;width:40px;height:20px;background:url(http://gtms03.alicdn.com/tps/i3/TB1B9SCGpXXXXciaXXXH2Os.VXX-12-36.png) repeat-x 0 0}.m_myapp_comment .con .container .content li .desc{color:#9b9b9b}.m_myapp_comment .con .container .content li .remark{float:right}.m_myapp_expand_add{background:#f4f4f4;padding:38px 0 40px}.m_myapp_expand_add .tips-box{background:#f4f4f4;border:1px solid #ebebeb;padding:10px 0}.m_myapp_expand_add .top-tips{width:100%;color:#f60;text-align:center;margin-top:20px}.m_myapp_expand_add .rank-tips{display:none;padding:10px 10px}.m_myapp_expand_add .rank-tips .date{font-weight:700}.m_myapp_expand_add .rank-tips .percentBox{color:#f60}.m_myapp_expand_add .con{width:990px;background:#fff;margin:0 auto;border:1px solid #ebebeb}.m_myapp_expand_add .con .container{padding:30px 38px}.m_myapp_expand_add .calender{width:120px;height:30px;border:1px solid #ddd;padding-left:24px;background:url(http://gtms01.alicdn.com/tps/i1/TB1g8skGFXXXXaJXFXXIRnL.VXX-13-12.png) no-repeat 3px 10px;background-color:#fff}.m_myapp_expand_add .calender:hover{cursor:pointer}.m_myapp_expand_add .search-t td{height:50px}.m_myapp_expand_add .key-center{vertical-align:top;padding-top:20px}.m_myapp_expand_add .search-t .bottom-td{padding-top:5px}.m_myapp_expand_add .timeBox{height:30px}.m_myapp_expand_add .timeBox .tips,.m_myapp_expand_add .timeBox .txt{display:inline-block;height:30px;position:relative}.m_myapp_expand_add .checkbox-con{margin-right:20px}.m_myapp_expand_add .ipt{width:130px;height:30px;line-height:30px;padding-left:10px;border:1px solid #ddd;color:#333}.m_myapp_expand_add .rank{width:100%;background:#f4f4f4;border:1px solid #ebebeb;padding:10px 0 20px 0;margin-top:20px;display:none}.m_myapp_expand_add .rank-con{padding:0 20px}.m_myapp_expand_add .rank-date{padding-left:24px;border:1px solid #ccc;background:url(http://gtms01.alicdn.com/tps/i1/TB1g8skGFXXXXaJXFXXIRnL.VXX-13-12.png) no-repeat 3px 3px;background-color:#fff}.m_myapp_expand_add .rank .title{height:30px}.m_myapp_expand_add .rank .btn-search{height:22px;line-height:20px;margin-left:10px}.m_myapp_expand_add .rank .date{display:inline-block;width:70px;text-align:center}.m_myapp_expand_add .rank .notice{display:inline-block;margin-left:20px}.m_myapp_expand_add .sbt{margin-top:30px}.m_myapp_expand_add .hideVisibility{visibility:hidden}.m_myapp_expand_add .tag-container{width:100%;background:#f4f4f4;border:1px solid #ebebeb;padding:10px 20px 10px 20px;margin-top:5px}.m_myapp_expand_add .tags-con{background:#fff;border:1px solid #ebebeb;padding:10px 20px 10px 20px}.m_myapp_expand_add .tags-wait .tagOne{display:inline-block;height:15px;margin:0 10px 10px 0;line-height:15px}.m_myapp_expand_add .tags-wait .tagOne input{position:relative;top:2px}.m_myapp_expand_add .J_btn_tagAdd,.m_myapp_expand_add .J_tagSwitch{height:22px;line-height:20px;cursor:pointer}.m_myapp_expand_add .J_btn_tagAdd{margin:3px 0}.m_myapp_expand_add .tag-group{margin-top:10px}.m_myapp_expand_add .tag-group:first-of-type{margin-top:0}.m_myapp_expand_add .group-title{padding-bottom:10px}.m_myapp_expand_add .J_tagSwitch .close,.m_myapp_expand_add .tag-container{display:none}.m_myapp_expand_add .active .tag-container{display:block}.m_myapp_expand_add .active .J_tagSwitch .close{display:inline}.m_myapp_expand_add .active .J_tagSwitch .open{display:none}.m_myapp_expand_add .J_tagWrap{padding-top:20px;vertical-align:top;width:700px}.m_myapp_expand_add .J_groupSwitch{font-weight:400}.m_myapp_expand_add .J_groupSwitch .close,.m_myapp_expand_add .tag-body{display:none}.m_myapp_expand_add .active-group .tag-body{display:block}.m_myapp_expand_add .active-group .J_groupSwitch .close{display:inline}.m_myapp_expand_add .active-group .J_groupSwitch .open{display:none}.m_myapp_expand_add .J_tagWrap .blankTips{display:none}.m_myapp_expand_add .J_tagWrap.lock .J_btn_tagAdd,.m_myapp_expand_add .J_tagWrap.lock .J_groupSwitch,.m_myapp_expand_add .J_tagWrap.lock .J_tagDel,.m_myapp_expand_add .J_tagWrap.lock .tag-container .tag-group.tagDepth .J_btn_tagAdd,.m_myapp_expand_add .J_tagWrap.lock .tag-container .tag-group.tagDepth .tags-error,.m_myapp_expand_add .J_tagWrap.lock .tag-group,.m_myapp_expand_add .J_tagWrap.lock .tags-error,.m_myapp_expand_add .J_tagWrap.lock .tags-wait{display:none}.m_myapp_expand_add .J_tagWrap.lock .tag-group.active-group{display:block}.m_myapp_expand_add .key_item{display:inline-block}.m_myapp_expand_add .key_item .edit_box,.m_myapp_expand_add .key_item .show_box{display:none;min-height:30px;line-height:30px}.m_myapp_expand_add .key_item.edit .edit_box{display:inline-block}.m_myapp_expand_add .key_item.show .show_box{display:inline-block}.m_myapp_expand_add .tag-container .tag-group.tagDepth .J_btn_tagAdd,.m_myapp_expand_add .tag-container .tag-group.tagDepth .tags-error{display:none}.m_myapp_expand_add .tag-container .tag-group.tagDepth1 .J_btn_tagAdd,.m_myapp_expand_add .tag-container .tag-group.tagDepth1 .tags-error{display:inline-block}.m_myapp_expand_add_subTags .subTags_container{padding:0 10px 10px 10px}.m_myapp_expand_add_subTags .list{height:250px;overflow:hidden;overflow-y:auto;margin-bottom:15px}.m_myapp_expand_add_subTags .btn-box{text-align:center}.m_myapp_expand_add_subTags .tagOne{display:inline-block;height:15px;margin:0 10px 10px 0;line-height:15px}.m_myapp_expand_add_subTags .tagOne input{position:relative;top:2px}.m_myapp_expand_history{background:#f4f4f4;padding:38px 0 40px}.m_myapp_expand_history .con{width:990px;background:#fff;margin:0 auto;border:1px solid #ebebeb}.m_myapp_expand_history .con .container{padding:30px 38px}.m_myapp_expand_history .con .info-t{width:100%}.m_myapp_expand_history .con .info-t td,.m_myapp_expand_history .con .info-t th{text-align:center;border:1px solid #ddd}.m_myapp_expand_history .con .info-t th{padding:10px 0}.m_myapp_expand_history .con .info-t td{padding:5px 4px}.m_myapp_expand_history .tips{margin-top:18px}.m_myapp_expand_history .tips .price{color:#f60;padding:0 5px}.m_myapp_expand_history .btnCon .btn{float:right;margin-left:10px}.m_myapp_expand_history .J_runningBox a{display:none}.m_myapp_expand_history .J_runningBox.pause .J_pause{display:inline}.m_myapp_expand_history .J_runningBox.run .J_run{display:inline}.m_myapp_expand_log{background:#f4f4f4;padding:38px 0 40px}.m_myapp_expand_log .con{width:990px;background:#fff;margin:0 auto;border:1px solid #ebebeb}.m_myapp_expand_log .con h3{font-size:16px}.m_myapp_expand_log .con h3 .border{border-left:2px solid #fc4f00;display:inline-block;height:16px;vertical-align:-2px;margin-right:6px}.m_myapp_expand_log .con .container{padding:30px 38px}.m_myapp_expand_log .con .info-t{width:100%;margin-top:18px}.m_myapp_expand_log .con .info-t td,.m_myapp_expand_log .con .info-t th{text-align:center;border:1px solid #ddd}.m_myapp_expand_log .con .info-t th{padding:10px 0}.m_myapp_expand_log .con .info-t td{padding:5px 4px}.m_myapp_itemlist{background:#f4f4f4;padding:38px 0 40px}.m_myapp_itemlist .con{width:990px;background:#fff;margin:0 auto;border:1px solid #ebebeb}.m_myapp_itemlist .con h3{font-size:16px}.m_myapp_itemlist .con h3 .border{border-left:2px solid #fc4f00;display:inline-block;height:16px;vertical-align:-2px;margin-right:6px}.m_myapp_itemlist .con .container{padding:30px 38px;position:relative}.m_myapp_itemlist .topLink{position:absolute;right:38px;top:30px}.m_myapp_itemlist .spu_msg{margin-bottom:40px}.m_myapp_itemlist .spu_img{max-height:68px;max-width:68px}.m_myapp_itemlist .itemlist .update{float:right;margin-right:4px}.m_myapp_itemlist .itemlist table{width:100%;margin-top:10px;table-layout:fixed}.m_myapp_itemlist .itemlist td{font-size:12px;word-wrap:break-word}.m_myapp_itemlist .itemlist td,.m_myapp_itemlist .itemlist th{text-align:center;border:1px solid #dedede;padding:4px 4px}.m_myapp_itemlist .itemlist .td1{width:70px}.m_myapp_itemlist .itemlist .td10{width:56px;line-height:2}.m_myapp_itemlist .itemlist .td2 img{max-width:48px;max-height:48px}.m_myapp_itemlist .page_wrap{margin-top:20px}.m_myapp_scanvirus{background:#f4f4f4;padding:38px 0 40px}.m_myapp_scanvirus .con{width:990px;background:#fff;margin:0 auto;border:1px solid #ebebeb}.m_myapp_scanvirus .con h3{font-size:16px}.m_myapp_scanvirus .con .container{padding:30px 38px;position:relative}.m_myapp_scanvirus .itemlist table{width:100%;margin:10px 0 20px;table-layout:fixed}.m_myapp_scanvirus .itemlist td{font-size:12px;word-wrap:break-word}.m_myapp_scanvirus .itemlist td,.m_myapp_scanvirus .itemlist th{text-align:center;border:1px solid #dedede;padding:4px 4px}.m_myapp_spulist{background:#f4f4f4;padding:38px 0 40px}.m_myapp_spulist .con{width:990px;background:#fff;margin:0 auto;border:1px solid #ebebeb}.m_myapp_spulist .con h3{font-size:16px}.m_myapp_spulist .con h3 .border{border-left:2px solid #fc4f00;display:inline-block;height:16px;vertical-align:-2px;margin-right:6px}.m_myapp_spulist .con .container{padding:30px 38px}.m_myapp_spulist .con .container .content h3{font-size:14px;color:#333}.m_myapp_spulist .con .container .content h3 b{color:#ff5000}.m_myapp_spulist .list .abs_msg{margin-bottom:20px}.m_myapp_spulist .list .abs_msg b{color:#fe4f00}.m_myapp_spulist .tab .border{margin:10px 0}.m_myapp_spulist .tab span{cursor:pointer;margin-right:10px;height:36px;line-height:34px;padding:0 20px}.m_myapp_spulist .tab .cur{cursor:default;color:#fe4f00}.m_myapp_spulist .spu_msg{float:left}.m_myapp_spulist li{padding:20px 0;border-top:1px solid #ddd}.m_myapp_spulist .spu_msg img{max-width:68px;max-height:68px}.m_myapp_spulist .spu_msg .spu_name{font-weight:700;font-size:14px}.m_myapp_spulist .spu_msg p{margin:4px 0 0 0}.m_myapp_spulist .spu_op{float:right}.m_myapp_spulist .spu_op a{margin-left:5px}.m_myapp_spulist .J_pop{display:inline-block;color:#fff;background:#f60;padding:0 3px;margin-left:10px;position:relative}.m_myapp_spulist .J_pop .pop_info{display:none;position:absolute;top:17px;left:-1px;min-height:50px;min-width:270px;color:#666;border:1px solid #ddd;box-shadow:3px 3px 23px -6px #565649;z-index:999;background:url(http://gtms02.alicdn.com/tps/i2/TB1pu._HpXXXXalXpXXBStGGXXX-32-32.gif) no-repeat 118px center #fff}.m_myapp_spulist .info_show .pop_info{display:block}.m_myapp_spulist .J_pop .pop_info table{background:#fff}.m_myapp_spulist .J_pop .pop_info table tr{border-bottom:1px solid #ddd}.m_myapp_spulist .J_pop .pop_info table th{padding:5px 0;font-weight:400}.m_myapp_spulist .J_pop .pop_info table td,.m_myapp_spulist .J_pop .pop_info table th{color:#666;min-width:80px;padding-left:10px}.m_myapp_spulist .more{padding:5px 0;position:relative;background:#fff;display:none}.m_myapp_spulist .more .J_more{float:right;margin-right:10px}.m_myapp_spulist_limitSet{width:500px;height:260px;background:#fff;padding:10px;color:#666;border:1px solid #ddd}.m_myapp_spulist_limitSet .hd{height:40px;padding:10px 0 0 0;border-bottom:1px solid #ddd;font-size:14px;color:#343434}.m_myapp_spulist_limitSet .box{padding:20px 0 0 30px}.m_myapp_spulist_limitSet .icon{float:left}.m_myapp_spulist_limitSet .txt{float:left;margin-left:20px;width:380px}.m_myapp_spulist_limitSet .title{padding:2px 0 6px 0}.m_myapp_spulist_limitSet .title .nm{color:#ff8f15;padding:0 5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:300px;display:inline-block;position:relative;top:4px}.m_myapp_spulist_limitSet .ipt{width:220px;height:40px;padding-left:10px;border:1px solid #ddd;margin-right:10px;line-height:40px}.m_myapp_spulist_limitSet .btn{margin:15px 0 0 118px}.m_myapp_spulist_limitSet .J_cancel{margin-left:20px}.m_myapp_spulist_limitSet .tips{color:#999}.m_myapp_spulist_limitSet .cost{padding-top:5px;display:block}.m_myapp_spulist_expand .abs_msg{display:none}.m-pay-success{background:#f4f4f4;padding:38px 0 40px}.m-pay-success .con{width:990px;background:#fff;margin:0 auto;border:1px solid #ebebeb}.m-pay-success .info{padding:20px 35px}.m-pay-success .info .notice{color:red;padding-bottom:15px}.m-pay-success .title{color:#329965;font-size:30px;text-align:center;padding-top:15px;height:40px}.m-pay-success .content{text-align:center;padding-top:5px;height:40px}.m-pay-success .btn-box{padding:20px 0 30px}.m-pay-success .btn-box .J_send{float:left;margin-left:300px}.m-pay-success .btn-box .J_back{float:left;margin-left:20px}.m-popularize{background:#f4f4f4;padding:38px 0 40px}.m-popularize .con{width:990px;background:#fff;margin:0 auto;border:1px solid #ebebeb}.m-popularize .con .container{padding-top:20px}.m-popularize .info{padding:0 35px 20px}.m-popularize .info-t{width:100%}.m-popularize .info-t .one{padding-right:20px;height:20px;display:inline-block}.m-popularize .info-t .one .p-checkbox{position:relative;top:3px}.m-popularize .info-t td{padding:10px 0}.m-popularize .info-t .key-con{display:block;padding-top:15px}.m-popularize .info-t .key{font-size:14px;color:#656565;width:160px;vertical-align:top}.m-popularize .info-t .star{color:#fd6500;height:20px;position:relative;top:2px;padding-left:7px}.m-popularize .info-t a{color:#4487de}.m-popularize .info-t .ipt{border:1px solid #ddd;color:#333;height:40px;line-height:40px;padding-left:3px;width:227px}.m-popularize .info-t .ipt-area,.m-popularize .info-t .ipt-area-s{height:120px;padding-left:3px;width:483px;line-height:20px}.m-popularize .info-t .bottom-td{padding-left:160px}.m-popularize .notice{color:red;padding-bottom:15px}.m-popularize .tips{display:block;color:#999}.m_trade{background:#f4f4f4;padding:38px 0 40px}.m_trade .con{width:990px;background:#fff;margin:0 auto;border:1px solid #ebebeb}.m_trade .con h3{font-size:16px}.m_trade .con h3 .border{border-left:2px solid #fc4f00;display:inline-block;height:16px;vertical-align:-2px;margin-right:6px}.m_trade .con .container{padding:30px 38px}.m_trade .con .container .table_header{margin-top:15px}.m_trade .con .container h4{font-size:20px;float:left}.m_trade .con .container .init_pay{float:right}.m_trade .info-t .key{font-size:14px;color:#656565;width:90px}.m_trade .search-t td{height:40px}.m_trade .search-t .bottom-td{padding-top:5px}.m_trade .calender:hover{cursor:pointer}.m_trade .timeBox{height:30px}.m_trade .timeBox .tips,.m_trade .timeBox .txt{display:inline-block;height:30px;position:relative}.m_trade .info table{width:100%;margin-top:18px}.m_trade .info table td,.m_trade .info table th{text-align:center;border:1px solid #ddd}.m_trade .info table th{padding:10px 0}.m_trade .info table td{padding:5px 4px}.p-help-tab{width:100%}.p-help-tab a{float:left;width:246px;height:44px;background:#f8f8f8;font-size:16px;color:#404040;text-align:center;border-bottom:#eaeaea;line-height:44px;border-left:1px solid #ebebeb;border-bottom:1px solid #ebebeb}.p-help-tab a:first-child{border-left:none}.p-help-tab .current{background:#fff;width:249px;border-bottom:none}.p-help-tab .icon{width:25px;height:26px;display:inline-block;background:url(http://gtms01.alicdn.com/tps/i1/TB12oDWGVXXXXa1XFXXBk8h7pXX-767-25.png) no-repeat 0 0;position:relative;top:7px;margin-right:8px}.p-help-tab .user{background-position:-253px 0}.p-help-tab .cert{background-position:-743px 0}.p-help-tab .designer{background-position:-495px 0}.p_bread{width:990px;margin:-20px auto 10px;font-size:14px;font-weight:700}.p_bread,.p_bread a{color:#383838}.p_bread a:hover{color:#fe4f00}.p-certification-tab{width:100%}.p-certification-tab a{float:left;width:329px;height:44px;background:#f8f8f8;font-size:16px;color:#404040;text-align:center;border-bottom:#eaeaea;line-height:44px;border-left:1px solid #ebebeb;border-bottom:1px solid #ebebeb}.p-certification-tab a:first-child{border-left:none}.p-certification-tab .current{background:#fff;width:330px;border-bottom:none}.p-certification-tab .icon{width:25px;height:26px;display:inline-block;background:url(http://gtms01.alicdn.com/tps/i1/TB1fVnyGFXXXXagaXXXoBt5FVXX-150-60.png) no-repeat 0 -33px;position:relative;top:7px;margin-right:8px}.p-certification-tab .cert{background-position:-62px -33px}.p-certification-tab .designer{background-position:-122px -33px}.p-certification-tab .current .user{background-position:0 0}.p-certification-tab .current .cert{background-position:-62px -1px}.p-certification-tab .current .designer{background-position:-122px 0}.p-footer{border-top:1px solid #ddd;color:#999;overflow:hidden;padding-bottom:60px;text-align:center}.p-footer .section-main{margin:0 auto;width:1000px}.p-footer p{padding-top:30px}.p-footer a{color:#999}.p-footer s{color:#ddd;margin:0 6px;text-decoration:none}.p-footer span{margin:0 10px}.p-header{height:93px;border-bottom:1px solid #ddd}.p-header .con{width:990px;height:100%;margin:0 auto;background:#fff;position:relative}.p-header .con .logo{width:300px;height:50px;display:inline-flex;align-items:center;position:absolute;top:22px;left:0;color:#00e8d3;font-family:SimHei;font-size:20px;}.p-header .nav{float:right;height:16px;padding-top:38px;font-size:14px;margin-right:-1px}.p-header .nav li{width:114px;height:20px;float:left;text-align:center;border-left:1px solid #f2f2f2}.p-header .nav .nav-dev{width:135px}.p-header .nav li:first-child{border:none}.p-header .nav .current .one{color:#fe4f00}.p-header .nav .active .one{color:#fff}.p-header .nav li .one{height:20px;width:100%;display:block}.p-header .nav span.one{cursor:default}.p-header .nav a{color:#454545}.p-header .nav a:hover{color:#fe4f00}.p-header .active{background:#fd4f00;color:#fff}.p-header .nav .active a{color:#fff}.p-header .nav-list{display:none}.p-header .active .nav-list{color:#666;background:#fff;border:1px solid #ddd;border-top:none;position:relative;z-index:9;display:block;padding:3px 0}.p-header .active .nav-list .nav-one{height:25px;line-height:25px}.p-header .active .nav-list a{color:#666}.p-header .active .nav-list a:hover{color:#fd4f00}.p-header .active .nav-list .nav-one{float:left;width:100%}.p_head_topImg{width:990px;margin:0 auto;text-align:center}.p_head_topImg .topImg{margin:0 auto;display:inline-block;overflow:hidden}.p-help-tab{width:100%}.p-help-tab a{float:left;width:246px;height:44px;background:#f8f8f8;font-size:16px;color:#404040;text-align:center;border-bottom:#eaeaea;line-height:44px;border-left:1px solid #ebebeb;border-bottom:1px solid #ebebeb}.p-help-tab a:first-child{border-left:none}.p-help-tab .current{background:#fff;width:249px;border-bottom:none}.p-help-tab .icon{width:25px;height:26px;display:inline-block;background:url(http://gtms01.alicdn.com/tps/i1/TB12oDWGVXXXXa1XFXXBk8h7pXX-767-25.png) no-repeat;position:relative;top:7px;margin-right:8px}.p-help-tab .user{background-position:-257px 0}.p-help-tab .designer{background-position:-496px 0}.p-help-tab .cert{background-position:-743px 0}.p-info{margin:40px 0 20px}.p-info .section-main{overflow:hidden;padding:30px 0;margin:0 auto;width:990px}.p-info dl{border-right:1px solid #dbdbdb;float:left;font-size:14px;height:120px;min-height:120px;padding-left:75px;width:160px}.p-info dt{color:#666;margin-bottom:15px;position:relative}.p-info dd a{color:#a0a0a2;font-size:12px}.p-info .g-sns{border-right:0}.p-info .g-sns a{padding:2px 7px}.p-info dd a{color:#a0a0a0;font-size:12px}.p-info .g-lw-entry{-moz-border-bottom-colors:none;-moz-border-left-colors:none;-moz-border-right-colors:none;-moz-border-top-colors:none;background:none repeat scroll 0 0 #fff;border-color:#d9d9d9 #d9d9d9 -moz-use-text-color;border-image:none;border-style:solid solid none;border-width:1px 1px medium;cursor:default;text-decoration:none}.p-info .g-sns img{display:block;position:relative;top:-1px}.p-pagination{text-align:center;margin-top:20px}.p-pagination .pageWrap{display:inline-block}.p-pagination .page_val{width:30px;height:14px;vertical-align:-1px}.p-pagination .goto_btn{cursor:pointer}.p-pagination .pageWrap a:hover{color:#fc4f00}.p-pagination .pageWrap .page_num{margin:0 5px;color:#fc4f00}.p-pagination .pageWrap .cur{color:#333}.p-pagination .pageWrap .next,.p-pagination .pageWrap .pre{display:inline-block;width:60px;height:21px;background:url(http://gtms02.alicdn.com/tps/i2/TB1w8GhGXXXXXbYXVXXIirgGFXX-42-21.png) no-repeat;line-height:22px}.p-pagination .pageWrap .pre{text-align:right;background-position:-21px 0}.p-pagination .pageWrap .next{text-align:left;background-position:39px 0;margin-right:10px}.p-steps{width:100%;height:110px;padding-top:10px;text-align:center;font-weight:700}.p-steps .list{display:inline-block;background:url(http://gtms03.alicdn.com/tps/i3/TB111bTGFXXXXa6XXXXD8X1FFXX-80-2.png) repeat-x 0 26px}.p-steps .one{height:75px;width:130px;margin-left:60px;padding-top:15px;display:inline-block;font-size:14px;color:#999;background:url(http://gtms03.alicdn.com/tps/i3/TB111bTGFXXXXa6XXXXD8X1FFXX-80-2.png) repeat-x 0 26px #fff}.p-steps .one1{background-repeat:no-repeat;background-position:76px 26px}.p-steps .one-last{background-repeat:no-repeat;background-position:-25px 26px}.p-steps .one:first-child{margin-left:0}.p-steps .num{width:50px;height:26px;display:block;margin:0 auto 8px;background:url(http://gtms02.alicdn.com/tps/i2/TB1HTnRGFXXXXaBXFXX.43SJXXX-24-400.png) no-repeat center 0 #fff}.p-steps .one1 .num{background-position:center -35px}.p-steps .one2 .num{background-position:center -116px}.p-steps .one3 .num{background-position:center -199px}.p-steps .one4 .num{background-position:center -290px}.p-steps .one-last .num{background-position:center -375px}.p-steps .one1 .current .num{background-position:center 0}.p-steps .one2 .current .num{background-position:center -81px}.p-steps .one3 .current .num{background-position:center -164px}.p-steps .one4 .current .num{background-position:center -255px}.p-steps .one-last .current .num{background-position:center -340px}.p-steps .one .current{color:#fd6500}.p_top_bar{background-color:#f4f4f4;padding-top:4px;height:24px}.p_top_bar .top_wrap{width:990px;margin:0 auto}.p_top_bar .top_wrap h4{float:left}.p_top_bar .top_wrap .msg{float:right}.p_top_bar .top_wrap .msg .userName,.p_top_bar .top_wrap .msg a{margin:0 10px 0 0;color:#727272;display:inline-block;vertical-align:middle}.p_top_bar .top_wrap .msg a:hover{text-decoration:underline}.p_top_bar .top_wrap .msg .userName{max-width:300px;overflow:hidden}.p-btn,.p-btn-gray,.p-btn-orange,a.p-btn,a.p-btn-gray,a.p-btn-orange{border:1px solid #ddd;color:#666;display:block;font-size:14px;height:40px;line-height:35px;text-align:center;padding:0 42px;display:inline-block;background:#fff}a.p-btn,a.p-btn-gray,a.p-btn-orange{line-height:40px}button.p-btn{line-height:35px}.p-btn-orange,a.p-btn-orange{background:#f60;border-color:#f60;color:#fff}.p-btn-gray,a.p-btn-gray{background:#f4f4f4;cursor:auto}.p-tag{border:1px solid #d4d4d4;padding:3px 10px 3px 10px;display:inline-block;margin:0 5px 5px 0;background:#fff}.p-tag-remove{color:red;font-size:14px;width:15px;height:15px;text-align:center;line-height:15px;display:inline-block;margin-right:-10px}.p-ipt-pass{border:1px solid #52b800!important}.p-ipt-error{border:1px solid red!important}.p-ipt-errorCon{color:red;padding-left:5px}.p-ipt-tipCon{color:#52b800}.p-title{height:16px;line-height:16px;font-size:16px;color:#323232;border-left:2px solid #fc4f00;padding-left:5px;font-weight:400;margin:10px 0 30px}.p-btn-cover{width:80px;height:25px;background:url(http://gtms03.alicdn.com/tps/i3/TB1YMUgFVXXXXXkaXXXVPO3IVXX-80-25.png) no-repeat 0 0;position:absolute;top:0;left:0;display:none}.p-red{color:red}.p-orange{color:#fd6500}.p-popWin-alert{width:500px;min-height:200px;background:#fff;padding:10px;color:#666;border:1px solid #ddd}.p-popWin-alert .hd{height:40px;padding:10px 0 0 0;border-bottom:1px solid #ddd;font-size:14px;color:#343434}.p-popWin-alert .title{color:#329965;font-size:30px;text-align:center;padding-top:15px;height:40px}.p-popWin-alert .content{text-align:center;padding-top:5px;height:40px}.p-popWin-alert .box{padding:20px 0 0 30px}.p-popWin-alert .icon{float:left}.p-popWin-alert .ipt{width:220px;height:40px;padding-left:10px;border:1px solid #ddd;margin-right:10px}.p-popWin-alert .btnBox{text-align:center}.p-popWin-alert .J_cancel{margin-left:20px}.p-popWin-alert .tips{color:#999}.p-popWin-alert .confirm{margin-top:20px;height:50px}.p-popWin-alert .btn-confirm{margin-right:10px}
\ No newline at end of file
@import (less) "~heyui/themes/common.less";
@import (less) "./overwrite.less";
@import (less) "./fonts/style.less";
@import (less) "./frame.less";
@import (less) "./var.less";
@import (less) "./markdown.less";
@import (less) "./common.less";
body {
background: #f3f6f8;
color: rgb(47, 47, 47);
font-weight: 400;
}
p {
margin: 8px 0;
}
pre {
white-space: pre-wrap;
}
\ No newline at end of file
.font-size(@var, @size) {
.font@{var} {
font-size: @size !important;
}
}
.font-size(12, 12px);
.font-size(13, 13px);
.font-size(14, 14px);
.font-size(15, 15px);
.font-size(16, 16px);
.font-size(18, 18px);
.font-size(20, 20px);
.font-size(22, 22px);
.font-size(28, 28px);
.font-bold {
font-weight: bold;
}
.common-page-tabs-bar {
position: relative;
margin-bottom: 2px;
min-height: 50px;
.h-tabs-default {
min-height: 47px;
}
}
.common-filter-bar {
padding: 17px 0 8px;
min-height: 66px;
}
.common-filter-select {
height:32px;
background:rgba(0,0,0,0.04);
border-radius:2px;
color:rgba(0,0,0,0.65);
.h-select-value-single, .h-select-placeholder {
height:32px;
line-height:32px;
}
}
.common-status-filter-tabs {
border: 1px solid fade( @primary-color, 10%);
background-color: fade( @primary-color, 5%);
border-radius: 2px;
>div {
position: relative;
padding: 20px 22px;
>p {
margin: 0;
line-height: 22px;
text-align: center;
}
.name {
font-size: 14px;
color: rgba(0, 0, 0, 0.65);
}
.code {
color: rgba(0, 0, 0, 0.85);
font-size: 18px;
}
.bold {
font-weight: bold;
}
&:after {
content: "";
border-right: 1px dashed #979797;
position: absolute;
top: 24px;
right: 0;
opacity: 0.3;
bottom: 24px;
}
&:before {
content: "";
background: @primary-color;
position: absolute;
height: 0;
bottom: -1px;
left: 22px;
right: 22px;
border-radius: 3px;
transition: .3s;
}
&:hover,
&.h-tabs-selected {
.code,
.name {
color: @primary-color;
}
}
&.h-tabs-selected {
&:before {
height: 3px;
}
}
}
&.last-float-right {
>div:nth-last-child(2) {
&:after {
content: none;
}
}
>div:last-child {
float: right;
&:after {
content: none;
}
}
}
}
.common-list-container {
.common-list-item {
padding-top: 14px;
padding-bottom: 14px;
align-items: center;
display: flex;
padding: 12px 0;
border-bottom: @border;
.common-list-meta {
flex: 1;
}
}
}
.common-panel-tabs {
border-bottom: 1px solid #eeeeee;
padding: 0 25px;
font-size: 18px;
> .h-tabs-item {
padding: 24px 0px;
+ div {
margin-left: 30px;
}
}
}
.frame-page,
.frame-flex-page {
margin: 30px;
.clearfix;
&.frame-flex-page {
display: flex;
padding: 20px 0;
}
.frame-left {
width: 224px;
border-right: @border;
margin-right: -1px;
}
.frame-main {
flex: 1;
border-left: @border;
padding: 8px 40px;
.subframe-title {
font-size: 20px;
color: rgba(0, 0, 0, .85);
line-height: 28px;
font-weight: 500;
margin-bottom: 12px;
}
}
}
.error-page {
height: calc(~"100vh - @{layout-header-height} -100px");
text-align: center;
.background-image {
height: 35vh;
background-size: contain;
background-repeat: no-repeat;
background-position: center;
margin: 18vh auto 50px;
}
p {
font-size: 22px;
color: #3788ee;
margin-bottom: 20vh;
}
}
::-webkit-scrollbar {
width: 12px;
height: 12px;
}
::-webkit-scrollbar-thumb {
background-color: hsla(0,0%,44%,.06);
border-radius: 12px;
}
::-webkit-scrollbar-thumb:hover {
background-color: @primary-color;
border-radius: 12px
}
\ No newline at end of file
body {
padding: 0;
margin: 0;
font-family: sans-serif;
font-size: 1em;
line-height: 1.5;
color: #555;
background: #fff;
}
h1 {
font-size: 1.5em;
font-weight: normal;
}
small {
font-size: .66666667em;
}
a {
color: #e74c3c;
text-decoration: none;
}
a:hover, a:focus {
box-shadow: 0 1px #e74c3c;
}
.bshadow0, input {
box-shadow: inset 0 -2px #e7e7e7;
}
input:hover {
box-shadow: inset 0 -2px #ccc;
}
input, fieldset {
font-family: sans-serif;
font-size: 1em;
margin: 0;
padding: 0;
border: 0;
}
input {
color: inherit;
line-height: 1.5;
height: 1.5em;
padding: .25em 0;
}
input:focus {
outline: none;
box-shadow: inset 0 -2px #449fdb;
}
.glyph {
font-size: 16px;
width: 15em;
padding-bottom: 1em;
margin-right: 4em;
margin-bottom: 1em;
float: left;
overflow: hidden;
}
.liga {
width: 80%;
width: calc(100% - 2.5em);
}
.talign-right {
text-align: right;
}
.talign-center {
text-align: center;
}
.bgc1 {
background: #f1f1f1;
}
.fgc1 {
color: #999;
}
.fgc0 {
color: #000;
}
p {
margin-top: 1em;
margin-bottom: 1em;
}
.mvm {
margin-top: .75em;
margin-bottom: .75em;
}
.mtn {
margin-top: 0;
}
.mtl, .mal {
margin-top: 1.5em;
}
.mbl, .mal {
margin-bottom: 1.5em;
}
.mal, .mhl {
margin-left: 1.5em;
margin-right: 1.5em;
}
.mhmm {
margin-left: 1em;
margin-right: 1em;
}
.mls {
margin-left: .25em;
}
.ptl {
padding-top: 1.5em;
}
.pbs, .pvs {
padding-bottom: .25em;
}
.pvs, .pts {
padding-top: .25em;
}
.unit {
float: left;
}
.unitRight {
float: right;
}
.size1of2 {
width: 50%;
}
.size1of1 {
width: 100%;
}
.clearfix:before, .clearfix:after {
content: " ";
display: table;
}
.clearfix:after {
clear: both;
}
.hidden-true {
display: none;
}
.textbox0 {
width: 3em;
background: #f1f1f1;
padding: .25em .5em;
line-height: 1.5;
height: 1.5em;
}
#testDrive {
display: block;
padding-top: 24px;
line-height: 1.5;
}
.fs0 {
font-size: 16px;
}
.fs1 {
font-size: 32px;
}
if (!('boxShadow' in document.body.style)) {
document.body.setAttribute('class', 'noBoxShadow');
}
document.body.addEventListener('click', function (e) {
var target = e.target;
if (target.tagName === 'INPUT' && target.getAttribute('class').indexOf('liga') === -1) {
target.select();
}
});
(function () {
var fontSize = document.getElementById('fontSize');
var testDrive = document.getElementById('testDrive');
var testText = document.getElementById('testText');
function updateTest() {
testDrive.innerHTML = testText.value || String.fromCharCode(160);
if (window.icomoonLiga) {
window.icomoonLiga(testDrive);
}
}
function updateSize() {
testDrive.style.fontSize = fontSize.value + 'px';
}
fontSize.addEventListener('change', updateSize, false);
testText.addEventListener('input', updateTest, false);
testText.addEventListener('change', updateTest, false);
updateSize();
})();
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>IcoMoon Demo</title>
<meta name="description" content="An Icon Font Generated By IcoMoon.io">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="demo-files/demo.css">
<link rel="stylesheet" href="style.css"></head>
<body>
<div class="bgc1 clearfix">
<h1 class="mhmm mvm"><span class="fgc1">Font Name:</span> heyuiadmin <small class="fgc1">(Glyphs:&nbsp;130)</small></h1>
</div>
<div class="clearfix mhl ptl">
<h1 class="mvm mtn fgc1">Grid Size: Unknown</h1>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-eye">
</span>
<span class="mls"> icon-eye</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e000" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe000;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-paper-clip">
</span>
<span class="mls"> icon-paper-clip</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e001" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe001;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-mail">
</span>
<span class="mls"> icon-mail</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e002" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe002;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-toggle">
</span>
<span class="mls"> icon-toggle</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e003" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe003;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-layout">
</span>
<span class="mls"> icon-layout</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e004" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe004;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-link">
</span>
<span class="mls"> icon-link</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e005" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe005;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-bell">
</span>
<span class="mls"> icon-bell</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e006" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe006;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-lock">
</span>
<span class="mls"> icon-lock</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e007" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe007;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-unlock">
</span>
<span class="mls"> icon-unlock</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e008" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe008;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-ribbon">
</span>
<span class="mls"> icon-ribbon</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e009" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe009;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-image">
</span>
<span class="mls"> icon-image</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e010" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe010;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-signal">
</span>
<span class="mls"> icon-signal</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e011" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe011;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-target">
</span>
<span class="mls"> icon-target</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e012" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe012;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-clipboard">
</span>
<span class="mls"> icon-clipboard</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e013" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe013;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-clock">
</span>
<span class="mls"> icon-clock</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e014" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe014;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-watch">
</span>
<span class="mls"> icon-watch</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e015" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe015;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-air-play">
</span>
<span class="mls"> icon-air-play</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e016" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe016;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-camera">
</span>
<span class="mls"> icon-camera</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e017" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe017;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-video">
</span>
<span class="mls"> icon-video</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e018" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe018;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-disc">
</span>
<span class="mls"> icon-disc</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e019" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe019;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-printer">
</span>
<span class="mls"> icon-printer</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e020" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe020;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-monitor">
</span>
<span class="mls"> icon-monitor</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e021" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe021;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-server">
</span>
<span class="mls"> icon-server</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e022" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe022;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-cog">
</span>
<span class="mls"> icon-cog</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e023" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe023;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-heart">
</span>
<span class="mls"> icon-heart</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e024" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe024;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-paragraph">
</span>
<span class="mls"> icon-paragraph</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e025" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe025;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-align-justify">
</span>
<span class="mls"> icon-align-justify</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e026" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe026;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-align-left">
</span>
<span class="mls"> icon-align-left</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e027" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe027;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-align-center">
</span>
<span class="mls"> icon-align-center</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e028" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe028;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-align-right">
</span>
<span class="mls"> icon-align-right</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e029" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe029;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-book">
</span>
<span class="mls"> icon-book</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e030" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe030;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-layers">
</span>
<span class="mls"> icon-layers</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e031" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe031;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-stack">
</span>
<span class="mls"> icon-stack</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e032" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe032;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-stack-2">
</span>
<span class="mls"> icon-stack-2</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e033" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe033;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-paper">
</span>
<span class="mls"> icon-paper</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e034" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe034;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-paper-stack">
</span>
<span class="mls"> icon-paper-stack</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e035" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe035;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-search">
</span>
<span class="mls"> icon-search</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e036" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe036;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-zoom-in">
</span>
<span class="mls"> icon-zoom-in</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e037" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe037;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-zoom-out">
</span>
<span class="mls"> icon-zoom-out</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e038" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe038;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-reply">
</span>
<span class="mls"> icon-reply</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e039" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe039;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-circle-plus">
</span>
<span class="mls"> icon-circle-plus</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e040" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe040;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-circle-minus">
</span>
<span class="mls"> icon-circle-minus</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e041" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe041;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-circle-check">
</span>
<span class="mls"> icon-circle-check</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e042" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe042;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-circle-cross">
</span>
<span class="mls"> icon-circle-cross</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e043" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe043;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-square-plus">
</span>
<span class="mls"> icon-square-plus</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e044" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe044;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-square-minus">
</span>
<span class="mls"> icon-square-minus</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e045" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe045;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-square-check">
</span>
<span class="mls"> icon-square-check</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e046" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe046;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-square-cross">
</span>
<span class="mls"> icon-square-cross</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e047" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe047;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-microphone">
</span>
<span class="mls"> icon-microphone</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e048" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe048;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-record">
</span>
<span class="mls"> icon-record</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e049" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe049;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-skip-back">
</span>
<span class="mls"> icon-skip-back</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e050" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe050;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-rewind">
</span>
<span class="mls"> icon-rewind</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e051" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe051;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-play">
</span>
<span class="mls"> icon-play</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e052" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe052;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-pause">
</span>
<span class="mls"> icon-pause</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e053" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe053;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-stop">
</span>
<span class="mls"> icon-stop</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e054" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe054;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-fast-forward">
</span>
<span class="mls"> icon-fast-forward</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e055" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe055;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-skip-forward">
</span>
<span class="mls"> icon-skip-forward</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e056" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe056;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-shuffle">
</span>
<span class="mls"> icon-shuffle</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e057" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe057;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-repeat">
</span>
<span class="mls"> icon-repeat</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e058" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe058;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-folder">
</span>
<span class="mls"> icon-folder</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e059" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe059;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-umbrella">
</span>
<span class="mls"> icon-umbrella</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e060" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe060;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-moon">
</span>
<span class="mls"> icon-moon</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e061" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe061;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-thermometer">
</span>
<span class="mls"> icon-thermometer</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e062" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe062;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-drop">
</span>
<span class="mls"> icon-drop</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e063" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe063;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-sun">
</span>
<span class="mls"> icon-sun</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e064" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe064;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-cloud">
</span>
<span class="mls"> icon-cloud</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e065" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe065;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-cloud-upload">
</span>
<span class="mls"> icon-cloud-upload</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e066" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe066;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-cloud-download">
</span>
<span class="mls"> icon-cloud-download</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e067" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe067;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-upload">
</span>
<span class="mls"> icon-upload</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e068" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe068;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-download">
</span>
<span class="mls"> icon-download</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e069" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe069;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-location">
</span>
<span class="mls"> icon-location</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e070" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe070;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-location-2">
</span>
<span class="mls"> icon-location-2</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e071" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe071;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-map">
</span>
<span class="mls"> icon-map</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e072" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe072;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-battery">
</span>
<span class="mls"> icon-battery</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e073" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe073;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-head">
</span>
<span class="mls"> icon-head</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e074" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe074;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-briefcase">
</span>
<span class="mls"> icon-briefcase</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e075" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe075;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-speech-bubble">
</span>
<span class="mls"> icon-speech-bubble</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e076" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe076;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-anchor">
</span>
<span class="mls"> icon-anchor</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e077" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe077;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-globe">
</span>
<span class="mls"> icon-globe</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e078" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe078;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-box">
</span>
<span class="mls"> icon-box</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e079" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe079;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-reload">
</span>
<span class="mls"> icon-reload</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e080" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe080;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-share">
</span>
<span class="mls"> icon-share</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e081" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe081;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-marquee">
</span>
<span class="mls"> icon-marquee</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e082" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe082;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-marquee-plus">
</span>
<span class="mls"> icon-marquee-plus</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e083" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe083;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-marquee-minus">
</span>
<span class="mls"> icon-marquee-minus</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e084" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe084;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-tag">
</span>
<span class="mls"> icon-tag</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e085" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe085;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-power">
</span>
<span class="mls"> icon-power</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e086" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe086;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-command">
</span>
<span class="mls"> icon-command</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e087" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe087;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-alt">
</span>
<span class="mls"> icon-alt</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e088" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe088;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-esc">
</span>
<span class="mls"> icon-esc</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e089" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe089;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-bar-graph">
</span>
<span class="mls"> icon-bar-graph</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e090" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe090;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-bar-graph-2">
</span>
<span class="mls"> icon-bar-graph-2</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e091" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe091;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-pie-graph">
</span>
<span class="mls"> icon-pie-graph</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e092" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe092;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-star">
</span>
<span class="mls"> icon-star</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e093" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe093;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-arrow-left">
</span>
<span class="mls"> icon-arrow-left</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e094" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe094;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-arrow-right">
</span>
<span class="mls"> icon-arrow-right</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e095" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe095;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-arrow-up">
</span>
<span class="mls"> icon-arrow-up</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e096" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe096;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-arrow-down">
</span>
<span class="mls"> icon-arrow-down</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e097" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe097;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-volume">
</span>
<span class="mls"> icon-volume</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e098" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe098;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-mute">
</span>
<span class="mls"> icon-mute</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e099" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe099;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-content-right">
</span>
<span class="mls"> icon-content-right</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e100" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe100;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-content-left">
</span>
<span class="mls"> icon-content-left</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e101" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe101;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-grid">
</span>
<span class="mls"> icon-grid</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e102" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe102;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-grid-2">
</span>
<span class="mls"> icon-grid-2</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e103" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe103;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-columns">
</span>
<span class="mls"> icon-columns</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e104" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe104;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-loader">
</span>
<span class="mls"> icon-loader</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e105" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe105;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-bag">
</span>
<span class="mls"> icon-bag</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e106" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe106;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-ban">
</span>
<span class="mls"> icon-ban</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e107" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe107;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-flag">
</span>
<span class="mls"> icon-flag</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e108" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe108;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-trash">
</span>
<span class="mls"> icon-trash</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e109" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe109;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-expand">
</span>
<span class="mls"> icon-expand</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e110" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe110;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-contract">
</span>
<span class="mls"> icon-contract</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e111" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe111;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-maximize">
</span>
<span class="mls"> icon-maximize</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e112" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe112;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-minimize">
</span>
<span class="mls"> icon-minimize</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e113" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe113;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-plus">
</span>
<span class="mls"> icon-plus</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e114" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe114;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-minus">
</span>
<span class="mls"> icon-minus</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e115" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe115;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-check">
</span>
<span class="mls"> icon-check</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e116" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe116;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-cross">
</span>
<span class="mls"> icon-cross</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e117" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe117;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-move">
</span>
<span class="mls"> icon-move</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e118" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe118;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-delete">
</span>
<span class="mls"> icon-delete</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e119" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe119;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-menu">
</span>
<span class="mls"> icon-menu</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e120" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe120;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-archive">
</span>
<span class="mls"> icon-archive</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e121" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe121;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-inbox">
</span>
<span class="mls"> icon-inbox</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e122" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe122;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-outbox">
</span>
<span class="mls"> icon-outbox</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e123" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe123;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-file">
</span>
<span class="mls"> icon-file</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e124" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe124;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-file-add">
</span>
<span class="mls"> icon-file-add</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e125" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe125;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-file-subtract">
</span>
<span class="mls"> icon-file-subtract</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e126" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe126;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-help">
</span>
<span class="mls"> icon-help</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e127" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe127;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-open">
</span>
<span class="mls"> icon-open</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e128" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe128;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs1">
<div class="clearfix bshadow0 pbs">
<span class="icon-ellipsis">
</span>
<span class="mls"> icon-ellipsis</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e129" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe129;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
</div>
<!--[if gt IE 8]><!-->
<div class="mhl clearfix mbl">
<h1>Font Test Drive</h1>
<label>
Font Size: <input id="fontSize" type="number" class="textbox0 mbm"
min="8" value="48" />
px
</label>
<input id="testText" type="text" class="phl size1of1 mvl"
placeholder="Type some text to test..." value=""/>
<div id="testDrive" class="icon-">&nbsp;
</div>
</div>
<!--<![endif]-->
<div class="bgc1 clearfix">
<p class="mhl">Generated by <a href="https://icomoon.io/app">IcoMoon</a></p>
</div>
<script src="demo-files/demo.js"></script>
</body>
</html>
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata>Generated by IcoMoon</metadata>
<defs>
<font id="heyuiadmin" horiz-adv-x="1024">
<font-face units-per-em="1024" ascent="768" descent="-256" />
<missing-glyph horiz-adv-x="1024" />
<glyph unicode="&#x20;" horiz-adv-x="200" d="" />
<glyph unicode="&#xe000;" glyph-name="eye" d="M512 640q69.667 0 135.5-21.167t115.5-55 93.5-74.833 73.667-82 51.667-74.833 32.167-54.833l10-21.333q-2.333-5-6.333-13.5t-18.833-34.667-31.667-51.667-44.333-60-56.833-64.333-69.5-60.167-82.333-51.5-94.833-34.667-107.333-13.5q-69.667 0-135.5 21.167t-115.5 54.833-93.5 74.333-73.667 81.5-51.667 74.5-32.167 55l-10 21q2.333 5 6.333 13.5t18.833 34.833 31.667 51.833 44.333 60.333 56.833 64.667 69.5 60.333 82.333 51.833 94.833 34.833 107.333 13.5zM512 554.667q-46.667 0-91.667-12.333t-81.167-31.833-70.667-47.167-59.667-54.5-48.833-57.667-37.667-52.833-26.333-44q12.333-21.667 26.333-43.5t37.667-52.333 48.833-57 59.667-53.833 70.667-46.667 81.167-31.5 91.667-12.167 91.667 12.333 81.167 31.667 70.667 46.833 59.667 54.167 48.833 57.333 37.667 52.667 26.333 43.667q-12.333 21.667-26.333 43.667t-37.667 52.667-48.833 57.333-59.667 54.167-70.667 46.833-81.167 31.667-91.667 12.333zM512 426.667q70.667 0 120.667-50t50-120.667-50-120.667-120.667-50-120.667 50-50 120.667 50 120.667 120.667 50zM512 341.333q-35.333 0-60.333-25t-25-60.333 25-60.333 60.333-25 60.333 25 25 60.333-25 60.333-60.333 25z" />
<glyph unicode="&#xe001;" glyph-name="paper-clip" d="M674 768q41.667 0 80-15.667 40-16 70.667-46.667 31-31.333 46.667-70.333 15.333-37.667 15.333-80t-15.333-80q-15.667-39-46.667-70.333l-392.667-392.667q-18-18-42.667-28.333-24-9.333-48-9.333t-48 9.333q-24.667 10.333-42.667 28.333-18.667 18.667-28 42.333-9.333 22.667-9.333 48 0 25.667 9.333 48.333 9.333 23.333 28 42.333l362.333 362q12.667 12.667 30.333 12.667 17.333 0 30-12.667t12.667-30q0-17.667-12.667-30.333l-362.333-362q-12.333-12.333-12.333-30.333 0-17.667 12.333-30 13.333-12.667 30.333-12.667t30.333 12.667l392.667 392.667q37 37 37 90t-37 90q-38 37.333-90.333 37.333-52.667 0-90-37.333l-393.667-391.667q-30.667-30.667-46.667-70.667-15.667-38.333-15.667-80.333 0-41.333 15.667-80.333 16-39.667 46.667-70.333 31.667-31.333 70.667-47t80.333-15.667 80.333 15.667 70.667 47l392 392q12.667 12.667 30.333 12.667 17.333 0 30-12.667t12.667-30q0-17.667-12.667-30.333l-392-392q-43-43-99-65.667-53.333-22-112.333-22-58.667 0-112.333 22-56 22.667-99 65.667-42.667 42.667-65.333 98.667-22 54-22 112.333 0 58.667 22 112.333 22.333 55.333 65.333 99h0.333l393.333 391.667q30.667 30.667 70.333 46.667 39 15.667 80 15.667z" />
<glyph unicode="&#xe002;" glyph-name="mail" d="M170.667 640h682.667q53 0 90.5-37.5t37.5-90.5v-512q0-53-37.5-90.5t-90.5-37.5h-682.667q-53 0-90.5 37.5t-37.5 90.5v512q0 53 37.5 90.5t90.5 37.5zM896 0v466l-357.333-286q-11.333-9.333-26.667-9.333t-26.667 9.333l-357.333 286v-466q0-17.667 12.5-30.167t30.167-12.5h682.667q17.667 0 30.167 12.5t12.5 30.167zM853.333 554.667h-682.667q-6.333 0-14-2.333l355.333-284.333 355.333 284.333q-7.667 2.333-14 2.333z" />
<glyph unicode="&#xe003;" glyph-name="toggle" d="M341.333 597.333h341.333q69.333 0 132.5-27t109-72.833 72.833-109 27-132.5-27-132.5-72.833-109-109-72.833-132.5-27h-341.333q-69.333 0-132.5 27t-109 72.833-72.833 109-27 132.5 27 132.5 72.833 109 109 72.833 132.5 27zM341.333 426.667q70.667 0 120.667-50t50-120.667-50-120.667-120.667-50-120.667 50-50 120.667 50 120.667 120.667 50zM341.333 341.333q-35.333 0-60.333-25t-25-60.333 25-60.333 60.333-25 60.333 25 25 60.333-25 60.333-60.333 25zM682.667 512h-341.333q-69.667 0-128.5-34.333t-93.167-93.167-34.333-128.5 34.333-128.5 93.167-93.167 128.5-34.333h341.333q69.667 0 128.5 34.333t93.167 93.167 34.333 128.5-34.333 128.5-93.167 93.167-128.5 34.333z" />
<glyph unicode="&#xe004;" glyph-name="layout" d="M170.667 725.333h682.667q53 0 90.5-37.5t37.5-90.5v-682.667q0-53-37.5-90.5t-90.5-37.5h-682.667q-53 0-90.5 37.5t-37.5 90.5v682.667q0 53 37.5 90.5t90.5 37.5zM341.333-128v512h-213.333v-469.333q0-17.667 12.5-30.167t30.167-12.5h170.667zM896-85.333v469.333h-469.333v-512h426.667q17.667 0 30.167 12.5t12.5 30.167zM853.333 640h-682.667q-17.667 0-30.167-12.5t-12.5-30.167v-128h768v128q0 17.667-12.5 30.167t-30.167 12.5z" />
<glyph unicode="&#xe005;" glyph-name="link" d="M725.333 725.333q50.333 0 97.167-19t83.833-56 56-83.833 19-97.167q0-50-19.167-97.167t-55.833-83.833l-128-128q-3.667-3.667-11-10.333-35.667-31.667-79.667-48.167t-90.333-16.5q-58.333 0-110.333 25-39 18.333-70.667 50t-50 70.667q25 25 60.333 25 12.333 0 25-3.667 21.667-35 56.667-56.667 41-25 89-25 33.333 0 64.667 12.667t56 37.333l128 128q24.667 24.667 37.333 56t12.667 64.667-12.667 64.667-37.333 56-56 37.333-64.667 12.667-64.667-12.667-56-37.333l-89.667-89.667q-42.667 11.667-88.333 11.667-7.333 0-20.667-0.667 6.667 7.333 10.333 11l128 128q36.667 36.667 83.833 55.833t97.167 19.167zM426.667 426.667q58.333 0 110.333-25 39-18.333 70.667-50t50-70.667q-25-25-60.333-25-12.333 0-25 3.667-21.667 35-56.667 56.667-41 25-89 25-33.333 0-64.667-12.667t-56-37.333l-128-128q-24.667-24.667-37.333-56t-12.667-64.667 12.667-64.667 37.333-56 56-37.333 64.667-12.667 64.667 12.667 56 37.333l89.667 89.667q42.667-11.667 88.333-11.667 7.333 0 20.667 0.667-6.667-7.333-10.333-11l-128-128q-37-37-83.833-56t-97.167-19q-50 0-97.167 19.167t-83.833 55.833q-37 37-56 83.833t-19 97.167 19 97.167 56 83.833l128 128q3.667 3.667 11 10.333 35.667 31.667 79.667 48.167t90.333 16.5z" />
<glyph unicode="&#xe006;" glyph-name="bell" d="M512 725.333q55 0 104-17.833t87-49.167 68.333-74.5 50.5-93.333 31.5-106.5q33.667-169 71.5-267.167t99.167-159.5h-391.333q7.333-21 7.333-42.667 0-53-37.5-90.5t-90.5-37.5-90.5 37.5-37.5 90.5q0 21.667 7.333 42.667h-391.333q61.333 61.333 99.167 159.5t71.5 267.167q11.333 56.333 31.5 106.5t50.5 93.333 68.333 74.5 87 49.167 104 17.833zM512-42.667q-17.667 0-30.167-12.5t-12.5-30.167 12.5-30.167 30.167-12.5 30.167 12.5 12.5 30.167-12.5 30.167-30.167 12.5zM512 640q-38.667 0-72.833-12t-58.5-30.667-45.167-44.833-33.833-50.833-23.5-52.667-15.5-46.167-8.333-35.5q-42.667-215-94-324.667h703.333q-51.333 109.667-94 324.667-3.333 17.333-8.333 35.5t-15.5 46.167-23.5 52.667-33.833 50.833-45.167 44.833-58.5 30.667-72.833 12z" />
<glyph unicode="&#xe007;" glyph-name="lock" d="M512 725.333q69.667 0 128.5-34.333t93.167-93.167 34.333-128.5v-170.667h85.333q53 0 90.5-37.5t37.5-90.5v-256q0-53-37.5-90.5t-90.5-37.5h-682.667q-53 0-90.5 37.5t-37.5 90.5v256q0 53 37.5 90.5t90.5 37.5h85.333v170.667q0 69.667 34.333 128.5t93.167 93.167 128.5 34.333zM853.333 213.333h-682.667q-17.667 0-30.167-12.5t-12.5-30.167v-256q0-17.667 12.5-30.167t30.167-12.5h682.667q17.667 0 30.167 12.5t12.5 30.167v256q0 17.667-12.5 30.167t-30.167 12.5zM512 640q-70.667 0-120.667-50t-50-120.667v-170.667h341.333v170.667q0 70.667-50 120.667t-120.667 50z" />
<glyph unicode="&#xe008;" glyph-name="unlock" d="M512 725.333q69.667 0 128.5-34.333t93.167-93.167 34.333-128.5v-42.667q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v42.667q0 70.667-50 120.667t-120.667 50-120.667-50-50-120.667v-170.667h512q53 0 90.5-37.5t37.5-90.5v-256q0-53-37.5-90.5t-90.5-37.5h-682.667q-53 0-90.5 37.5t-37.5 90.5v256q0 53 37.5 90.5t90.5 37.5h85.333v170.667q0 69.667 34.333 128.5t93.167 93.167 128.5 34.333zM853.333 213.333h-682.667q-17.667 0-30.167-12.5t-12.5-30.167v-256q0-17.667 12.5-30.167t30.167-12.5h682.667q17.667 0 30.167 12.5t12.5 30.167v256q0 17.667-12.5 30.167t-30.167 12.5z" />
<glyph unicode="&#xe009;" glyph-name="ribbon" d="M298.667 725.333h426.667q53 0 90.5-37.5t37.5-90.5v-810.667l-341.333 256-341.333-256v810.667q0 53 37.5 90.5t90.5 37.5zM725.333 640h-426.667q-17.667 0-30.167-12.5t-12.5-30.167v-640l256 192 256-192v640q0 17.667-12.5 30.167t-30.167 12.5z" />
<glyph unicode="&#xe010;" glyph-name="image" d="M170.667 725.333h682.667q53 0 90.5-37.5t37.5-90.5v-682.667q0-53-37.5-90.5t-90.5-37.5h-682.667q-53 0-90.5 37.5t-37.5 90.5v682.667q0 53 37.5 90.5t90.5 37.5zM896 25l-213.333 213.333-366.333-366.333h537q17.667 0 30.167 12.5t12.5 30.167v110.333zM853.333 640h-682.667q-17.667 0-30.167-12.5t-12.5-30.167v-682.667q0-17.667 12.5-30.167t30.167-12.5h25l487 487 213.333-213.333v451.667q0 17.667-12.5 30.167t-30.167 12.5zM341.333 554.667q53 0 90.5-37.5t37.5-90.5-37.5-90.5-90.5-37.5-90.5 37.5-37.5 90.5 37.5 90.5 90.5 37.5zM341.333 469.333q-17.667 0-30.167-12.5t-12.5-30.167 12.5-30.167 30.167-12.5 30.167 12.5 12.5 30.167-12.5 30.167-30.167 12.5z" />
<glyph unicode="&#xe011;" glyph-name="signal" d="M512 597.333q131 0 255-46t225-135.333q14.333-12.333 14.333-32 0-16.667-10.667-28.333l-2-2q-12.333-12.333-30-12.333-16.667 0-28.333 10.667-89 78.667-198.5 119.333t-224.833 40.667-224.833-40.667-198.5-119.333q-11.667-10.667-28.333-10.667-19.667 0-32 14.333-10.667 11.667-10.667 28.333 0 19.667 14.333 32 101.333 89.333 225.167 135.333t254.833 46zM512.333 85.333q58 0 107.667-29.333 10-6 15.667-15.833t5.667-21.167-6-21.333q-3-5-6.667-8.667-12.333-12.333-30.333-12.333-12 0-21.333 5.667-30.333 17.667-64.667 17.667-34.667 0-65-17.667-10.667-6-21.667-6-24.333 0-37 21-6 10-6 21.333 0 24.333 21 37 50.333 29.667 108.667 29.667zM512 341q80.667 0 157-26.667t140-79q15.667-12.667 15.667-33 0-15.333-9.667-27-2-2.667-2.667-3.333-12.333-12.333-30-12.333-15.667 0-27.333 9.667-52 42.667-114.667 64.667t-128.333 22-128.333-22-114.667-64.667q-11.667-9.667-27-9.667-20.333 0-33 15.667-9.667 11.667-9.667 27 0 20.333 15.667 33 63.333 52.333 140 79t157 26.667z" />
<glyph unicode="&#xe012;" glyph-name="target" d="M512 725.333q95.667 0 182.5-37.167t149.667-100 100-149.667 37.167-182.5-37.167-182.5-100-149.667-149.667-100-182.5-37.167-182.5 37.167-149.667 100-100 149.667-37.167 182.5 37.167 182.5 100 149.667 149.667 100 182.5 37.167zM512 640q-78 0-149.167-30.5t-122.5-81.833-81.833-122.5-30.5-149.167 30.5-149.167 81.833-122.5 122.5-81.833 149.167-30.5 149.167 30.5 122.5 81.833 81.833 122.5 30.5 149.167-30.5 149.167-81.833 122.5-122.5 81.833-149.167 30.5zM512 554.667q60.667 0 116-23.667t95.333-63.667 63.667-95.333 23.667-116-23.667-116-63.667-95.333-95.333-63.667-116-23.667-116 23.667-95.333 63.667-63.667 95.333-23.667 116 23.667 116 63.667 95.333 95.333 63.667 116 23.667zM512 469.333q-43.333 0-82.833-17t-68-45.5-45.5-68-17-82.833 17-82.833 45.5-68 68-45.5 82.833-17 82.833 17 68 45.5 45.5 68 17 82.833-17 82.833-45.5 68-68 45.5-82.833 17zM512 384q53 0 90.5-37.5t37.5-90.5-37.5-90.5-90.5-37.5-90.5 37.5-37.5 90.5 37.5 90.5 90.5 37.5zM512 298.667q-17.667 0-30.167-12.5t-12.5-30.167 12.5-30.167 30.167-12.5 30.167 12.5 12.5 30.167-12.5 30.167-30.167 12.5z" />
<glyph unicode="&#xe013;" glyph-name="clipboard" d="M426.667 725.333h170.667q41.333 0 74.333-23.833t46.333-61.5h50q53 0 90.5-37.5t37.5-90.5v-597.333q0-53-37.5-90.5t-90.5-37.5h-512q-53 0-90.5 37.5t-37.5 90.5v597.333q0 53 37.5 90.5t90.5 37.5h50q13.333 37.667 46.333 61.5t74.333 23.833zM768 554.667h-50q-13.333-37.667-46.333-61.5t-74.333-23.833h-170.667q-41.333 0-74.333 23.833t-46.333 61.5h-50q-17.667 0-30.167-12.5t-12.5-30.167v-597.333q0-17.667 12.5-30.167t30.167-12.5h512q17.667 0 30.167 12.5t12.5 30.167v597.333q0 17.667-12.5 30.167t-30.167 12.5zM597.333 640h-170.667q-17.667 0-30.167-12.5t-12.5-30.167 12.5-30.167 30.167-12.5h170.667q17.667 0 30.167 12.5t12.5 30.167-12.5 30.167-30.167 12.5z" />
<glyph unicode="&#xe014;" glyph-name="clock" d="M512 725.333q95.667 0 182.5-37.167t149.667-100 100-149.667 37.167-182.5-37.167-182.5-100-149.667-149.667-100-182.5-37.167-182.5 37.167-149.667 100-100 149.667-37.167 182.5 37.167 182.5 100 149.667 149.667 100 182.5 37.167zM512 640q-78 0-149.167-30.5t-122.5-81.833-81.833-122.5-30.5-149.167 30.5-149.167 81.833-122.5 122.5-81.833 149.167-30.5 149.167 30.5 122.5 81.833 81.833 122.5 30.5 149.167-30.5 149.167-81.833 122.5-122.5 81.833-149.167 30.5zM512 554.667q17.667 0 30.167-12.5t12.5-30.167v-238.333l115.667-115.333q12.333-12.333 12.333-30.333t-12.333-30.333-30.333-12.333-30.333 12.333l-128 128q-12.333 12.333-12.333 30.333v256q0 17.667 12.5 30.167t30.167 12.5z" />
<glyph unicode="&#xe015;" glyph-name="watch" d="M384 768h256q53 0 90.5-37.5t37.5-90.5v-98q60-53.333 94-127.833t34-158.167-34-158-94-128v-98q0-53-37.5-90.5t-90.5-37.5h-256q-53 0-90.5 37.5t-37.5 90.5v98q-60 53.667-94 128t-34 158 34 158.167 94 127.833v98q0 53 37.5 90.5t90.5 37.5zM682.667-128v40q-80-40-170.667-40t-170.667 40v-40q0-17.667 12.5-30.167t30.167-12.5h256q17.667 0 30.167 12.5t12.5 30.167zM512 554.667q-60.667 0-116-23.667t-95.333-63.667-63.667-95.333-23.667-116 23.667-116 63.667-95.333 95.333-63.667 116-23.667 116 23.667 95.333 63.667 63.667 95.333 23.667 116-23.667 116-63.667 95.333-95.333 63.667-116 23.667zM512 469.333q17.667 0 30.167-12.5t12.5-30.167v-153l73-72.667q12.333-12.333 12.333-30.333t-12.333-30.333-30.333-12.333-30.333 12.333l-85.333 85.333q-12.333 12.333-12.333 30.333v170.667q0 17.667 12.5 30.167t30.167 12.5zM640 682.667h-256q-17.667 0-30.167-12.5t-12.5-30.167v-40q80 40 170.667 40t170.667-40v40q0 17.667-12.5 30.167t-30.167 12.5z" />
<glyph unicode="&#xe016;" glyph-name="air-play" d="M170.667 682.667h682.667q53 0 90.5-37.5t37.5-90.5v-426.667q0-53-37.5-90.5t-90.5-37.5h-106.667l-64 85.333h170.667q17.667 0 30.167 12.5t12.5 30.167v426.667q0 17.667-12.5 30.167t-30.167 12.5h-682.667q-17.667 0-30.167-12.5t-12.5-30.167v-426.667q0-17.667 12.5-30.167t30.167-12.5h170.667l-64-85.333h-106.667q-53 0-90.5 37.5t-37.5 90.5v426.667q0 53 37.5 90.5t90.5 37.5zM597.333-85.333l-85.333 113.667-85.333-113.667h170.667zM256-170.667l256 341.333 256-341.333h-512z" />
<glyph unicode="&#xe017;" glyph-name="camera" d="M341.333 682.667h341.333l85.333-128h128q53 0 90.5-38.167t37.5-91.167v-468.667q0-53-37.5-90.167t-90.5-37.167h-768q-53 0-90.5 37.5t-37.5 90.5v468.667q0 53 37.5 90.833t90.5 37.833h128zM512 426.667q43.333 0 82.833-17t68-45.5 45.5-68 17-82.833-17-82.833-45.5-68-68-45.5-82.833-17-82.833 17-68 45.5-45.5 68-17 82.833 17 82.833 45.5 68 68 45.5 82.833 17zM512 341.333q-53 0-90.5-37.5t-37.5-90.5 37.5-90.5 90.5-37.5 90.5 37.5 37.5 90.5-37.5 90.5-90.5 37.5zM722.333 469.333l-83.667 128h-251.667l-85.333-128h-173.667q-17.667 0-30.167-12.667t-12.5-30.667v-468.667q0-17.667 12.5-30.167t30.167-12.5h768q18 0 30.333 12.167t12.333 29.833v468.667q0 18-12.667 31t-30 13h-173.667z" />
<glyph unicode="&#xe018;" glyph-name="video" d="M128 554.667h469.333q53 0 90.5-37.5t37.5-90.5v-77.667l298.667 163v-512l-298.667 163v-77.667q0-53-37.5-90.5t-90.5-37.5h-469.333q-53 0-90.5 37.5t-37.5 90.5v341.333q0 53 37.5 90.5t90.5 37.5zM597.333 469.333h-469.333q-17.667 0-30.167-12.5t-12.5-30.167v-341.333q0-17.667 12.5-30.167t30.167-12.5h469.333q17.667 0 30.167 12.5t12.5 30.167v341.333q0 17.667-12.5 30.167t-30.167 12.5zM938.667 143.667v224.667l-205.667-112.333z" />
<glyph unicode="&#xe019;" glyph-name="disc" d="M512 725.333q95.667 0 182.5-37.167t149.667-100 100-149.667 37.167-182.5-37.167-182.5-100-149.667-149.667-100-182.5-37.167-182.5 37.167-149.667 100-100 149.667-37.167 182.5 37.167 182.5 100 149.667 149.667 100 182.5 37.167zM512 640q-78 0-149.167-30.5t-122.5-81.833-81.833-122.5-30.5-149.167 30.5-149.167 81.833-122.5 122.5-81.833 149.167-30.5 149.167 30.5 122.5 81.833 81.833 122.5 30.5 149.167-30.5 149.167-81.833 122.5-122.5 81.833-149.167 30.5zM512 426.667q70.667 0 120.667-50t50-120.667-50-120.667-120.667-50-120.667 50-50 120.667 50 120.667 120.667 50zM512 341.333q-35.333 0-60.333-25t-25-60.333 25-60.333 60.333-25 60.333 25 25 60.333-25 60.333-60.333 25z" />
<glyph unicode="&#xe020;" glyph-name="printer" d="M384 682.667h256q53 0 90.5-37.5t37.5-90.5v-213.333h85.333q53 0 90.5-37.5t37.5-90.5v-170.667q0-53-37.5-90.5t-90.5-37.5h-92.667q-13.333-37.667-46.333-61.5t-74.333-23.833h-256q-41.333 0-74.333 23.833t-46.333 61.5h-92.667q-53 0-90.5 37.5t-37.5 90.5v170.667q0 53 37.5 90.5t90.5 37.5h85.333v213.333q0 53 37.5 90.5t90.5 37.5zM640 0h-256q-17.667 0-30.167-12.5t-12.5-30.167 12.5-30.167 30.167-12.5h256q17.667 0 30.167 12.5t12.5 30.167-12.5 30.167-30.167 12.5zM853.333 256h-682.667q-17.667 0-30.167-12.5t-12.5-30.167v-170.667q0-17.667 12.5-30.167t30.167-12.5h92.667q13.333 37.667 46.333 61.5t74.333 23.833h256q41.333 0 74.333-23.833t46.333-61.5h92.667q17.667 0 30.167 12.5t12.5 30.167v170.667q0 17.667-12.5 30.167t-30.167 12.5zM640 597.333h-256q-17.667 0-30.167-12.5t-12.5-30.167v-213.333h341.333v213.333q0 17.667-12.5 30.167t-30.167 12.5z" />
<glyph unicode="&#xe021;" glyph-name="monitor" d="M170.667 682.667h682.667q53 0 90.5-37.5t37.5-90.5v-426.667q0-53-37.5-90.5t-90.5-37.5h-298.667v-85.333h128q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-341.333q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5h128v85.333h-298.667q-53 0-90.5 37.5t-37.5 90.5v426.667q0 53 37.5 90.5t90.5 37.5zM853.333 597.333h-682.667q-17.667 0-30.167-12.5t-12.5-30.167v-426.667q0-17.667 12.5-30.167t30.167-12.5h682.667q17.667 0 30.167 12.5t12.5 30.167v426.667q0 17.667-12.5 30.167t-30.167 12.5z" />
<glyph unicode="&#xe022;" glyph-name="server" d="M512 725.333q87.333 0 169-10.5t149.833-30.667 109.333-53.667 41.167-75.833v-597.333q0-42.333-41.167-75.833t-109.333-53.667-149.833-30.667-169-10.5-169 10.5-149.833 30.667-109.333 53.667-41.167 75.833v597.333q0 42.333 41.167 75.833t109.333 53.667 149.833 30.667 169 10.5zM896-42v194.333q-65.333-33-168.333-50t-215.667-17-215.667 17-168.333 50v-195q2-7.333 17.833-17.667t48.5-22.333 76-22 107-16.667 134.667-6.667 134.667 6.667 107 16.833 76 22.167 48.5 22.333 17.833 18zM896 256.667v194.333q-65.333-33-168.333-50t-215.667-17-215.667 17-168.333 50v-195q2-7.333 17.833-17.667t48.5-22.333 76-22 107-16.667 134.667-6.667 134.667 6.667 106.833 16.667 75.833 22 48.667 22.5 18 18.167zM512 640q-70.333 0-133.667-6.667t-106.333-16.5-75.833-21.667-49.167-22.333-19-18.167q2.667-7.667 19-18.167t49.167-22.333 75.833-21.667 106.333-16.5 133.667-6.667 133.667 6.667 106.333 16.5 75.833 21.667 49.167 22.333 19 18.167q-2.667 7.667-19 18.167t-49.167 22.333-75.833 21.667-106.333 16.5-133.667 6.667z" />
<glyph unicode="&#xe023;" glyph-name="cog" d="M512 768q53 0 90.5-37.5t37.5-90.5v-22q15.667-5.333 37.667-15.333l15.333 15.333q37.667 37.667 90.667 37.667 52.667 0 90.333-37.667t37.667-90.333q0-53-37.667-90.667l-15.333-15.333q10-22 15.333-37.667h22q53 0 90.5-37.5t37.5-90.5-37.5-90.5-90.5-37.5h-22q-5.333-15.667-15.333-37.667l15.333-15.333q37.667-37.667 37.667-90.667 0-52.667-37.667-90.333t-90.333-37.667q-53 0-90.667 37.667l-15.333 15.333q-22-10-37.667-15.333v-22q0-53-37.5-90.5t-90.5-37.5-90.5 37.5-37.5 90.5v22q-15.667 5.333-37.667 15.333l-15.333-15.333q-37.667-37.667-90.333-37.667-53 0-90.5 37.667t-37.5 90.333q0 53.333 37.333 90.667l15.333 15.333q-10 22-15.333 37.667h-22q-53 0-90.5 37.5t-37.5 90.5 37.5 90.5 90.5 37.5h22q5.333 15.667 15.333 37.667l-15.333 15.333q-37.333 37.333-37.333 90.667 0 52.667 37.5 90.333t90.5 37.667q52.667 0 90.333-37.667l15.333-15.333q22 10 37.667 15.333v22q0 53 37.5 90.5t90.5 37.5zM512 682.667q-17.667 0-30.167-12.5t-12.5-30.167v-88.333q-74.667-10.667-136.333-56.333l-62.333 62.333q-12.667 12.667-30 12.667-17.667 0-30.167-12.5t-12.5-30.167q0-18 12.333-30.333l62.333-62.333q-45.667-61.667-56.333-136.333h-88.333q-17.667 0-30.167-12.5t-12.5-30.167 12.5-30.167 30.167-12.5h88.333q10.667-74.667 56.333-136.333l-62.333-62.333q-12.333-12.333-12.333-30.333 0-17.667 12.5-30.167t30.167-12.5q17.333 0 30 12.667l62.333 62.333q61.667-45.667 136.333-56.333v-88.333q0-17.667 12.5-30.167t30.167-12.5 30.167 12.5 12.5 30.167v88.333q74.667 10.667 136.333 56.333l62.333-62.333q12.667-12.667 30.333-12.667t30.167 12.5 12.5 30.167-12.667 30.333l-62.333 62.333q45.667 61.667 56.333 136.333h88.333q17.667 0 30.167 12.5t12.5 30.167-12.5 30.167-30.167 12.5h-88.333q-10.667 74.667-56.333 136.333l62.333 62.333q12.667 12.667 12.667 30.333t-12.5 30.167-30.167 12.5-30.333-12.667l-62.333-62.333q-61.667 45.667-136.333 56.333v88.333q0 17.667-12.5 30.167t-30.167 12.5zM512 426.667q70.667 0 120.667-50t50-120.667-50-120.667-120.667-50-120.667 50-50 120.667 50 120.667 120.667 50zM512 341.333q-35.333 0-60.333-25t-25-60.333 25-60.333 60.333-25 60.333 25 25 60.333-25 60.333-60.333 25z" />
<glyph unicode="&#xe024;" glyph-name="heart" d="M753.333 682.667q69.667 0 128.5-34.333t93.167-93.167 34.333-128.5q0-50-19.167-97.167t-55.833-83.833l-422.333-422.333-422.333 422.333q-36.667 36.667-55.833 83.833t-19.167 97.167q0 69.667 34.333 128.5t93.167 93.167 128.5 34.333q50.333 0 97.167-19t83.833-56l60.333-60.333 60.333 60.333q36.667 36.667 83.833 55.833t97.167 19.167zM753.333 597.333q-33.333 0-64.667-12.667t-56-37.333l-120.667-120.667-120.667 120.667q-24.667 24.667-56 37.333t-64.667 12.667q-46.667 0-85.833-22.833t-62-62-22.833-85.833q0-33.333 12.667-64.667t37.333-56l362-362 362 362q24.667 24.667 37.333 56t12.667 64.667q0 46.667-22.833 85.833t-62 62-85.833 22.833z" />
<glyph unicode="&#xe025;" glyph-name="paragraph" d="M426.667 725.333h384q17.667 0 30.167-12.5t12.5-30.167v-853.333q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v810.667h-85.333v-810.667q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v384h-170.667q-69.667 0-128.5 34.333t-93.167 93.167-34.333 128.5 34.333 128.5 93.167 93.167 128.5 34.333zM597.333 298.667v341.333h-170.667q-70.667 0-120.667-50t-50-120.667 50-120.667 120.667-50h170.667z" />
<glyph unicode="&#xe026;" glyph-name="align-justify" d="M128 554.667h768q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-768q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5zM128 42.667h768q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-768q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5zM128 213.333h768q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-768q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5zM128 384h768q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-768q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5z" />
<glyph unicode="&#xe027;" glyph-name="align-left" d="M128 554.667h768q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-768q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5zM128 42.667h597.333q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-597.333q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5zM128 213.333h768q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-768q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5zM128 384h597.333q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-597.333q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5z" />
<glyph unicode="&#xe028;" glyph-name="align-center" d="M128 554.667h768q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-768q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5zM213.333 42.667h597.333q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-597.333q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5zM128 213.333h768q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-768q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5zM213.333 384h597.333q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-597.333q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5z" />
<glyph unicode="&#xe029;" glyph-name="align-right" d="M128 554.667h768q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-768q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5zM298.667 42.667h597.333q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-597.333q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5zM128 213.333h768q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-768q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5zM298.667 384h597.333q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-597.333q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5z" />
<glyph unicode="&#xe030;" glyph-name="book" d="M213.333 725.333h682.667v-938.667h-682.667q-53 0-90.5 37.5t-37.5 90.5v682.667q0 53 37.5 90.5t90.5 37.5zM810.667-128v85.333h-597.333q-17.667 0-30.167-12.5t-12.5-30.167 12.5-30.167 30.167-12.5h597.333zM810.667 42.667v597.333h-597.333q-17.667 0-30.167-12.5t-12.5-30.167v-562q21 7.333 42.667 7.333h597.333z" />
<glyph unicode="&#xe031;" glyph-name="layers" d="M0 469.333l512 256 512-256-512-256zM512-53.667l416 208.333 96-48-512-256.333-512 256.333 96 48zM512 127.667l416 208 96-48-512-256-512 256 96 48zM833.333 469.333l-321.333 160.667-321.333-160.667 321.333-160.667z" />
<glyph unicode="&#xe032;" glyph-name="stack" d="M469.333 725.333h384q53 0 90.5-37.5t37.5-90.5v-384q0-53-37.5-90.5t-90.5-37.5h-170.667v-170.667q0-53-37.5-90.5t-90.5-37.5h-384q-53 0-90.5 37.5t-37.5 90.5v384q0 53 37.5 90.5t90.5 37.5h170.667v170.667q0 53 37.5 90.5t90.5 37.5zM341.333 213.333v128h-170.667q-17.667 0-30.167-12.5t-12.5-30.167v-384q0-17.667 12.5-30.167t30.167-12.5h384q17.667 0 30.167 12.5t12.5 30.167v170.667h-128q-53 0-90.5 37.5t-37.5 90.5zM853.333 640h-384q-17.667 0-30.167-12.5t-12.5-30.167v-384q0-17.667 12.5-30.167t30.167-12.5h384q17.667 0 30.167 12.5t12.5 30.167v384q0 17.667-12.5 30.167t-30.167 12.5z" />
<glyph unicode="&#xe033;" glyph-name="stack-2" d="M384 682.667h426.667q53 0 90.5-37.5t37.5-90.5v-426.667q0-53-37.5-90.5t-90.5-37.5h-426.667q-53 0-90.5 37.5t-37.5 90.5v426.667q0 53 37.5 90.5t90.5 37.5zM170.667 504.667v-547.333q0-17.667 12.5-30.167t30.167-12.5h547.333q-13.333-37.667-46.333-61.5t-74.333-23.833h-426.667q-53 0-90.5 37.5t-37.5 90.5v426.667q0 41.333 23.833 74.333t61.5 46.333zM810.667 597.333h-426.667q-17.667 0-30.167-12.5t-12.5-30.167v-426.667q0-17.667 12.5-30.167t30.167-12.5h426.667q17.667 0 30.167 12.5t12.5 30.167v426.667q0 17.667-12.5 30.167t-30.167 12.5z" />
<glyph unicode="&#xe034;" glyph-name="paper" d="M213.333 768h597.333q53 0 90.5-37.5t37.5-90.5v-768q0-53-37.5-90.5t-90.5-37.5h-597.333q-53 0-90.5 37.5t-37.5 90.5v768q0 53 37.5 90.5t90.5 37.5zM341.333 42.667h341.333q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-341.333q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5zM341.333 213.333h341.333q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-341.333q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5zM810.667 682.667h-597.333q-17.667 0-30.167-12.5t-12.5-30.167v-768q0-17.667 12.5-30.167t30.167-12.5h597.333q17.667 0 30.167 12.5t12.5 30.167v768q0 17.667-12.5 30.167t-30.167 12.5zM341.333 384h341.333q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-341.333q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5zM341.333 554.667h170.667q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-170.667q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5z" />
<glyph unicode="&#xe035;" glyph-name="paper-stack" d="M384 768h426.667q53 0 90.5-37.5t37.5-90.5v-597.333q0-53-37.5-90.5t-90.5-37.5h-426.667q-53 0-90.5 37.5t-37.5 90.5v597.333q0 53 37.5 90.5t90.5 37.5zM170.667 590v-718q0-17.667 12.5-30.167t30.167-12.5h547.333q-13.333-37.667-46.333-61.5t-74.333-23.833h-426.667q-53 0-90.5 37.5t-37.5 90.5v597.333q0 41.333 23.833 74.333t61.5 46.333zM810.667 682.667h-426.667q-17.667 0-30.167-12.5t-12.5-30.167v-597.333q0-17.667 12.5-30.167t30.167-12.5h426.667q17.667 0 30.167 12.5t12.5 30.167v597.333q0 17.667-12.5 30.167t-30.167 12.5z" />
<glyph unicode="&#xe036;" glyph-name="search" d="M426.667 725.333q78 0 149.167-30.5t122.5-81.833 81.833-122.5 30.5-149.167q0-67-21.833-128.333t-62.167-111.333l242.333-242q12.333-12.333 12.333-30.333 0-18.333-12.167-30.5t-30.5-12.167q-18 0-30.333 12.333l-242 242.333q-50-40.333-111.333-62.167t-128.333-21.833q-78 0-149.167 30.5t-122.5 81.833-81.833 122.5-30.5 149.167 30.5 149.167 81.833 122.5 122.5 81.833 149.167 30.5zM426.667 640q-60.667 0-116-23.667t-95.333-63.667-63.667-95.333-23.667-116 23.667-116 63.667-95.333 95.333-63.667 116-23.667 116 23.667 95.333 63.667 63.667 95.333 23.667 116-23.667 116-63.667 95.333-95.333 63.667-116 23.667z" />
<glyph unicode="&#xe037;" glyph-name="zoom-in" d="M426.667 725.333q78 0 149.167-30.5t122.5-81.833 81.833-122.5 30.5-149.167q0-67-21.833-128.333t-62.167-111.333l242.333-242q12.333-12.333 12.333-30.333 0-18.333-12.167-30.5t-30.5-12.167q-18 0-30.333 12.333l-242 242.333q-50-40.333-111.333-62.167t-128.333-21.833q-78 0-149.167 30.5t-122.5 81.833-81.833 122.5-30.5 149.167 30.5 149.167 81.833 122.5 122.5 81.833 149.167 30.5zM426.667 640q-60.667 0-116-23.667t-95.333-63.667-63.667-95.333-23.667-116 23.667-116 63.667-95.333 95.333-63.667 116-23.667 116 23.667 95.333 63.667 63.667 95.333 23.667 116-23.667 116-63.667 95.333-95.333 63.667-116 23.667zM426.667 512q17.667 0 30.167-12.5t12.5-30.167v-85.333h85.333q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-85.333v-85.333q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v85.333h-85.333q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5h85.333v85.333q0 17.667 12.5 30.167t30.167 12.5z" />
<glyph unicode="&#xe038;" glyph-name="zoom-out" d="M426.667 725.333q78 0 149.167-30.5t122.5-81.833 81.833-122.5 30.5-149.167q0-67-21.833-128.333t-62.167-111.333l242.333-242q12.333-12.333 12.333-30.333 0-18.333-12.167-30.5t-30.5-12.167q-18 0-30.333 12.333l-242 242.333q-50-40.333-111.333-62.167t-128.333-21.833q-78 0-149.167 30.5t-122.5 81.833-81.833 122.5-30.5 149.167 30.5 149.167 81.833 122.5 122.5 81.833 149.167 30.5zM426.667 640q-60.667 0-116-23.667t-95.333-63.667-63.667-95.333-23.667-116 23.667-116 63.667-95.333 95.333-63.667 116-23.667 116 23.667 95.333 63.667 63.667 95.333 23.667 116-23.667 116-63.667 95.333-95.333 63.667-116 23.667zM298.667 384h256q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-256q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5z" />
<glyph unicode="&#xe039;" glyph-name="reply" d="M356.667 613q17.333 0 30-12.5t12.667-30.167-12.667-30.333l-198.667-198.667h409.333q78 0 149.167-30.333t122.5-81.833 81.833-122.5 30.5-149.333v-42.667q0-17.667-12.5-30.167t-30.167-12.5q-17.333 0-30 12.667t-12.667 30v42.667q0 60.667-23.667 116t-63.667 95.333-95.333 63.667-116 23.667h-409.333l198.667-199q12.667-12.667 12.667-30 0-17.667-12.5-30.333t-30.167-12.667-30.333 12.667l-271.333 271.667q-12.333 12.333-12.333 30.333 0 17.667 12.333 30l271.333 271.667q12.667 12.667 30.333 12.667z" />
<glyph unicode="&#xe040;" glyph-name="circle-plus" d="M512 725.333q95.667 0 182.5-37.167t149.667-100 100-149.667 37.167-182.5-37.167-182.5-100-149.667-149.667-100-182.5-37.167-182.5 37.167-149.667 100-100 149.667-37.167 182.5 37.167 182.5 100 149.667 149.667 100 182.5 37.167zM512 640q-78 0-149.167-30.5t-122.5-81.833-81.833-122.5-30.5-149.167 30.5-149.167 81.833-122.5 122.5-81.833 149.167-30.5 149.167 30.5 122.5 81.833 81.833 122.5 30.5 149.167-30.5 149.167-81.833 122.5-122.5 81.833-149.167 30.5zM512 469.333q17.667 0 30.167-12.5t12.5-30.167v-128h128q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-128v-128q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v128h-128q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5h128v128q0 17.667 12.5 30.167t30.167 12.5z" />
<glyph unicode="&#xe041;" glyph-name="circle-minus" d="M512 725.333q95.667 0 182.5-37.167t149.667-100 100-149.667 37.167-182.5-37.167-182.5-100-149.667-149.667-100-182.5-37.167-182.5 37.167-149.667 100-100 149.667-37.167 182.5 37.167 182.5 100 149.667 149.667 100 182.5 37.167zM512 640q-78 0-149.167-30.5t-122.5-81.833-81.833-122.5-30.5-149.167 30.5-149.167 81.833-122.5 122.5-81.833 149.167-30.5 149.167 30.5 122.5 81.833 81.833 122.5 30.5 149.167-30.5 149.167-81.833 122.5-122.5 81.833-149.167 30.5zM341.333 298.667h341.333q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-341.333q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5z" />
<glyph unicode="&#xe042;" glyph-name="circle-check" d="M512 725.333q95.667 0 182.5-37.167t149.667-100 100-149.667 37.167-182.5-37.167-182.5-100-149.667-149.667-100-182.5-37.167-182.5 37.167-149.667 100-100 149.667-37.167 182.5 37.167 182.5 100 149.667 149.667 100 182.5 37.167zM512 640q-78 0-149.167-30.5t-122.5-81.833-81.833-122.5-30.5-149.167 30.5-149.167 81.833-122.5 122.5-81.833 149.167-30.5 149.167 30.5 122.5 81.833 81.833 122.5 30.5 149.167-30.5 149.167-81.833 122.5-122.5 81.833-149.167 30.5zM655.667 384.333q17.667 0 30.167-12.5t12.5-30.167-12.667-30.333l-181-181q-12.333-12.333-30-12.333-18 0-30.333 12.333l-90.667 90.333q-12.333 12.333-12.333 30.333 0 17.667 12.5 30.167t30.167 12.5 30.333-12.667l60.333-60.333 150.667 151q12.667 12.667 30.333 12.667z" />
<glyph unicode="&#xe043;" glyph-name="circle-cross" d="M512 725.333q95.667 0 182.5-37.167t149.667-100 100-149.667 37.167-182.5-37.167-182.5-100-149.667-149.667-100-182.5-37.167-182.5 37.167-149.667 100-100 149.667-37.167 182.5 37.167 182.5 100 149.667 149.667 100 182.5 37.167zM512 640q-78 0-149.167-30.5t-122.5-81.833-81.833-122.5-30.5-149.167 30.5-149.167 81.833-122.5 122.5-81.833 149.167-30.5 149.167 30.5 122.5 81.833 81.833 122.5 30.5 149.167-30.5 149.167-81.833 122.5-122.5 81.833-149.167 30.5zM632.667 419.667q17.667 0 30.333-12.5t12.667-30.167-12.667-30.333l-90.667-90.667 90.667-90.333q12.667-12.667 12.667-30 0-17.667-12.667-30.167t-30.333-12.5-30 12.333l-90.667 90.333-90.333-90.333q-12.333-12.333-30.333-12.333-17.667 0-30.167 12.333t-12.5 30q0 18 12.333 30.333l90.667 90.333-90.667 90.667q-12.333 12.333-12.333 30t12.5 30.333 30.167 12.667 30.333-12.667l90.333-90.667 90.667 90.667q12.667 12.667 30 12.667z" />
<glyph unicode="&#xe044;" glyph-name="square-plus" d="M170.667 725.333h682.667q53 0 90.5-37.5t37.5-90.5v-682.667q0-53-37.5-90.5t-90.5-37.5h-682.667q-53 0-90.5 37.5t-37.5 90.5v682.667q0 53 37.5 90.5t90.5 37.5zM853.333 640h-682.667q-17.667 0-30.167-12.5t-12.5-30.167v-682.667q0-17.667 12.5-30.167t30.167-12.5h682.667q17.667 0 30.167 12.5t12.5 30.167v682.667q0 17.667-12.5 30.167t-30.167 12.5zM512 469.333q17.667 0 30.167-12.5t12.5-30.167v-128h128q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-128v-128q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v128h-128q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5h128v128q0 17.667 12.5 30.167t30.167 12.5z" />
<glyph unicode="&#xe045;" glyph-name="square-minus" d="M170.667 725.333h682.667q53 0 90.5-37.5t37.5-90.5v-682.667q0-53-37.5-90.5t-90.5-37.5h-682.667q-53 0-90.5 37.5t-37.5 90.5v682.667q0 53 37.5 90.5t90.5 37.5zM853.333 640h-682.667q-17.667 0-30.167-12.5t-12.5-30.167v-682.667q0-17.667 12.5-30.167t30.167-12.5h682.667q17.667 0 30.167 12.5t12.5 30.167v682.667q0 17.667-12.5 30.167t-30.167 12.5zM341.333 298.667h341.333q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-341.333q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5z" />
<glyph unicode="&#xe046;" glyph-name="square-check" d="M170.667 725.333h682.667q53 0 90.5-37.5t37.5-90.5v-682.667q0-53-37.5-90.5t-90.5-37.5h-682.667q-53 0-90.5 37.5t-37.5 90.5v682.667q0 53 37.5 90.5t90.5 37.5zM853.333 640h-682.667q-17.667 0-30.167-12.5t-12.5-30.167v-682.667q0-17.667 12.5-30.167t30.167-12.5h682.667q17.667 0 30.167 12.5t12.5 30.167v682.667q0 17.667-12.5 30.167t-30.167 12.5zM682.667 404.333q17.333 0 30-12.5t12.667-30.167-12.667-30.333l-211-211q-12.333-12.333-30-12.333-18 0-30.333 12.333l-120.667 120.667q-12.333 12.333-12.333 30.333 0 17.667 12.5 30.167t30.167 12.5q17.333 0 30-12.667l90.333-90.667 181 181q12.667 12.667 30.333 12.667z" />
<glyph unicode="&#xe047;" glyph-name="square-cross" d="M170.667 725.333h682.667q53 0 90.5-37.5t37.5-90.5v-682.667q0-53-37.5-90.5t-90.5-37.5h-682.667q-53 0-90.5 37.5t-37.5 90.5v682.667q0 53 37.5 90.5t90.5 37.5zM853.333 640h-682.667q-17.667 0-30.167-12.5t-12.5-30.167v-682.667q0-17.667 12.5-30.167t30.167-12.5h682.667q17.667 0 30.167 12.5t12.5 30.167v682.667q0 17.667-12.5 30.167t-30.167 12.5zM632.667 419.667q17.667 0 30.333-12.667t12.667-30.333-12.667-30.333l-90.667-90.333 90.667-90.333q12.667-12.667 12.667-30.333t-12.667-30.167-30.333-12.5-30 12.333l-90.667 90.667-90.667-90.667q-12-12.333-30-12.333-18.333 0-30.5 12.167t-12.167 30.5q0 18 12.333 30.333l90.667 90.333-90.667 90.333q-12.333 12.333-12.333 30.333 0 17.667 12.5 30.333t30.167 12.667q18 0 30-12.667l90.667-90.667 90.667 90.667q12.667 12.667 30 12.667z" />
<glyph unicode="&#xe048;" glyph-name="microphone" d="M810.667 384q17.667 0 30.167-12.5t12.5-30.167v-85.333q0-64-23.167-123.167t-63-103.667-95-74.333-117.5-37.5v-88h128q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-341.333q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5h128v88q-62.333 7.667-117.5 37.5t-95 74.333-63 103.667-23.167 123.167v85.333q0 17.667 12.5 30.167t30.167 12.5 30.167-12.5 12.5-30.167v-85.333q0-69.667 34.333-128.5t93.167-93.167 128.5-34.333 128.5 34.333 93.167 93.167 34.333 128.5v85.333q0 17.667 12.5 30.167t30.167 12.5zM512 768q70.667 0 120.667-50t50-120.667v-341.333q0-70.667-50-120.667t-120.667-50-120.667 50-50 120.667v341.333q0 70.667 50 120.667t120.667 50zM512 682.667q-35.333 0-60.333-25t-25-60.333v-341.333q0-35.333 25-60.333t60.333-25 60.333 25 25 60.333v341.333q0 35.333-25 60.333t-60.333 25z" />
<glyph unicode="&#xe049;" glyph-name="record" d="M512 640q78 0 149.167-30.5t122.5-81.833 81.833-122.5 30.5-149.167-30.5-149.167-81.833-122.5-122.5-81.833-149.167-30.5-149.167 30.5-122.5 81.833-81.833 122.5-30.5 149.167 30.5 149.167 81.833 122.5 122.5 81.833 149.167 30.5zM512 554.667q-60.667 0-116-23.667t-95.333-63.667-63.667-95.333-23.667-116 23.667-116 63.667-95.333 95.333-63.667 116-23.667 116 23.667 95.333 63.667 63.667 95.333 23.667 116-23.667 116-63.667 95.333-95.333 63.667-116 23.667z" />
<glyph unicode="&#xe050;" glyph-name="skip-back" d="M725.333 597.333q17.667 0 30.167-12.5t12.5-30.167q0-18-12.333-30.333l-268.667-268.333 268.667-268.667q12.333-12.333 12.333-30.333 0-17.667-12.5-30t-30.167-12.333q-18 0-30.333 12.333l-298.667 298.667q-12.333 13-12.333 30.333 0 17 12.333 30l298.667 298.667q12.667 12.667 30.333 12.667zM256 597.333q17.667 0 30.167-12.5t12.5-30.167v-597.333q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v597.333q0 17.667 12.5 30.167t30.167 12.5z" />
<glyph unicode="&#xe051;" glyph-name="rewind" d="M768 597.333q17.667 0 30.167-12.5t12.5-30.167-12.667-30.333l-268.333-268.333 268.333-268.333q12.667-12.667 12.667-30.333t-12.5-30.167-30.167-12.5q-18 0-30.333 12.333l-298.667 298.667q-12.333 12.333-12.333 30.333t12.333 30.333l298.667 298.667q12.333 12.333 30.333 12.333zM512 597.333q17.667 0 30.167-12.5t12.5-30.167-12.667-30.333l-268.333-268.333 268.333-268.333q12.667-12.667 12.667-30.333t-12.5-30.167-30.167-12.5q-18 0-30.333 12.333l-298.667 298.667q-12.333 12.333-12.333 30.333t12.333 30.333l298.667 298.667q12.333 12.333 30.333 12.333z" />
<glyph unicode="&#xe052;" glyph-name="play" d="M170.667-128v768l640-384zM644.667 256l-388.667 233.333v-466.667z" />
<glyph unicode="&#xe053;" glyph-name="pause" d="M682.667 640q53 0 90.5-37.5t37.5-90.5v-512q0-53-37.5-90.5t-90.5-37.5-90.5 37.5-37.5 90.5v512q0 53 37.5 90.5t90.5 37.5zM341.333 640q53 0 90.5-37.5t37.5-90.5v-512q0-53-37.5-90.5t-90.5-37.5-90.5 37.5-37.5 90.5v512q0 53 37.5 90.5t90.5 37.5zM341.333 554.667q-17.667 0-30.167-12.5t-12.5-30.167v-512q0-17.667 12.5-30.167t30.167-12.5 30.167 12.5 12.5 30.167v512q0 17.667-12.5 30.167t-30.167 12.5zM682.667 554.667q-17.667 0-30.167-12.5t-12.5-30.167v-512q0-17.667 12.5-30.167t30.167-12.5 30.167 12.5 12.5 30.167v512q0 17.667-12.5 30.167t-30.167 12.5z" />
<glyph unicode="&#xe054;" glyph-name="stop" d="M256 640h512q53 0 90.5-37.5t37.5-90.5v-512q0-53-37.5-90.5t-90.5-37.5h-512q-53 0-90.5 37.5t-37.5 90.5v512q0 53 37.5 90.5t90.5 37.5zM768 554.667h-512q-17.667 0-30.167-12.5t-12.5-30.167v-512q0-17.667 12.5-30.167t30.167-12.5h512q17.667 0 30.167 12.5t12.5 30.167v512q0 17.667-12.5 30.167t-30.167 12.5z" />
<glyph unicode="&#xe055;" glyph-name="fast-forward" d="M469.333 597.333q17.667 0 30-12.333l298.667-298.667q12.667-12.667 12.667-30.333t-12.667-30.333l-298.667-298.667q-12.333-12.333-30-12.333t-30.167 12.5-12.5 30.167q0 18 12.333 30.333l268.333 268.333-268.333 268.333q-12.333 12.333-12.333 30.333 0 18.333 12.167 30.5t30.5 12.167zM213.333 597.333q17.667 0 30-12.333l298.667-298.667q12.667-12.667 12.667-30.333t-12.667-30.333l-298.667-298.667q-12.333-12.333-30-12.333t-30.167 12.5-12.5 30.167q0 18 12.333 30.333l268.333 268.333-268.333 268.333q-12.333 12.333-12.333 30.333 0 18.333 12.167 30.5t30.5 12.167z" />
<glyph unicode="&#xe056;" glyph-name="skip-forward" d="M256 597.333q17.667 0 30.333-12.667l298.667-298.667q12.333-12.333 12.333-30 0-18-12.333-30.333l-298.667-298.667q-12.333-12.333-30.333-12.333-17.667 0-30.167 12.333t-12.5 30q0 17.333 12.333 30.333l268.667 268.667-268.667 268.333q-12.333 13-12.333 30.333 0 17.667 12.5 30.167t30.167 12.5zM725.333 597.333q17.667 0 30.167-12.5t12.5-30.167v-597.333q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v597.333q0 17.667 12.5 30.167t30.167 12.5z" />
<glyph unicode="&#xe057;" glyph-name="shuffle" d="M768 768q17.667 0 30.333-12.667l170.667-170.667q12.333-12.333 12.333-30 0-18-12.333-30.333l-170.667-170.667q-12.333-12.333-30.333-12.333-17.667 0-30.167 12.5t-12.5 30.167q0 17 12.333 30l98 98h-67.667q-60 0-112.667-26.167t-88.333-71.5q-55-70-55-158.333 0-89-42.667-165.333-22.667-41-55-73.667-47.333-48.333-110.333-75.333t-133.333-27h-85.333q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5h85.333q60.333 0 112.833 26t88.167 71.333q55 70 55 158.667 0 89 42.667 165.333 23 41.333 55 73.333 47.333 48.333 110.333 75.5t133.333 27.167h67.667l-98 97.667q-12.333 13-12.333 30.333 0 17.667 12.5 30.167t30.167 12.5zM768 170.667q17.667 0 30.333-12.667l170.667-170.667q12.333-12.333 12.333-30.333 0-17.667-12.333-30l-170.667-170.667q-12.333-12.333-30.333-12.333-17.667 0-30.167 12.333t-12.5 30q0 17.333 12.333 30.333l98 98h-67.667q-70.333 0-133.333 27t-110.333 75.333q25.667 37.667 42.667 80.333 35.667-45.333 88.167-71.333t112.833-26h67.667l-98 97.667q-12.333 13-12.333 30.333 0 17.667 12.5 30.167t30.167 12.5zM85.333 597.333h85.333q70.333 0 133.333-27.167t110.333-75.5q-26-38.333-42.667-80.333-35.667 45.333-88.333 71.5t-112.667 26.167h-85.333q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5z" />
<glyph unicode="&#xe058;" glyph-name="repeat" d="M42.667 213.333h256q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-144l116-113.333q49.333-49.667 113-75 61-25 128.333-25t128.333 25q33.333 13.667 62.5 33.5t49.667 40.667 37.333 44.667 27 43.833 17.167 40q6 16.667 22 24.167t32.333 1.833q16.667-6 24.167-21.833t1.833-32.167q-14-42.667-40.667-84.667t-60-75.333q-61.333-61.333-141-93.667-77.333-31.333-160.667-31.333-83 0-160.667 31.333-79.667 32.333-141 93.667l-125 122.333v-162q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v256q0 17.667 12.5 30.167t30.167 12.5zM512 682.667q83 0 160.667-31.333 79.667-32.333 141-93.667l0.667-0.667 124.333-121.667v162q0 17.667 12.5 30.167t30.167 12.5 30.167-12.5 12.5-30.167v-256q0-17.667-12.5-30.167t-30.167-12.5h-256q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5h144l-116 113.333q-48.667 48.667-110.833 74.333t-130.5 25.667q-67.333 0-128.333-25-63.667-25.333-113-75-20-17.667-43.833-53.833t-36.833-73.833q-6-16.667-22-24.167t-32.333-1.833q-16.667 6-24.167 21.833t-1.833 32.167q14 42.667 40.667 84.667t60 75.333q61.333 61.333 141 93.667 77.667 31.333 160.667 31.333z" />
<glyph unicode="&#xe059;" glyph-name="folder" d="M170.667 682.667h213.333l85.333-128h384q53 0 90.5-37.5t37.5-90.5v-469.333q0-53-37.5-90.5t-90.5-37.5h-682.667q-53 0-90.5 37.5t-37.5 90.5v597.333q0 53 37.5 90.5t90.5 37.5zM423.667 469.333l-82.333 128h-170.667q-17.667 0-30.167-12.5t-12.5-30.167v-597.333q0-17.667 12.5-30.167t30.167-12.5h682.667q17.667 0 30.167 12.5t12.5 30.167v469.333q0 17.667-12.5 30.167t-30.167 12.5h-429.667z" />
<glyph unicode="&#xe060;" glyph-name="umbrella" d="M512 725.333q75 0 145.833-21t130-59.667 106.667-91.167 79-117.833 43.5-137q7-41.333 7-85.333h-469.333v-256q0-35.333 25-60.333t60.333-25 60.333 25 25 60.333q0 17.667 12.5 30.167t30.167 12.5 30.167-12.5 12.5-30.167q0-70.667-50-120.667t-120.667-50-120.667 50-50 120.667v256h-469.333q0 44 7 85.333 12 71.667 43.5 137t79 117.833 106.667 91.167 130 59.667 145.833 21zM512 640q-101.333 0-190.333-44.667t-148.5-122.333-79.167-174.333h836q-19.667 96.667-79.167 174.333t-148.5 122.333-190.333 44.667z" />
<glyph unicode="&#xe061;" glyph-name="moon" d="M512 682.667q14.333 0 28.333-1-28.333-61-28.333-127 0-60.667 23.667-116t63.667-95.333 95.333-63.667 116-23.667q66 0 127 28.333 1-14 1-28.333 0-58-15.333-113.333t-42.833-102.167-66.833-86.167-86.167-66.833-102.167-42.833-113.333-15.333-113.333 15.333-102.167 42.833-86.167 66.833-66.833 86.167-42.833 102.167-15.333 113.333 15.333 113.333 42.833 102.167 66.833 86.167 86.167 66.833 102.167 42.833 113.333 15.333zM428 587q-55-14-102.5-45.333t-81.667-74.333-53.667-97.833-19.5-113.5q0-69.333 27-132.5t72.833-109 109-72.833 132.5-27q58.667 0 113.5 19.5t97.833 53.667 74.333 81.667 45.333 102.5q-14.333-1.333-32.333-1.333-78 0-149 30.5t-122.5 82-82 122.5-30.5 149q0 18 1.333 32.333z" />
<glyph unicode="&#xe062;" glyph-name="thermometer" d="M490.667 768q61.667 0 105.5-43.833t43.833-105.5v-459q39.667-33 62.5-80.167t22.833-100.833q0-47.667-18.5-91.167t-50-75-75-50-91.167-18.5-91.167 18.5-75 50-50 75-18.5 91.167q0 53.667 22.833 100.833t62.5 80.167v459q0 61.667 43.833 105.5t105.5 43.833zM490.667 682.667q-26.667 0-45.333-18.667t-18.667-45.333v-505.333q-38.333-18.333-61.833-54.5t-23.5-80.167q0-61.667 43.833-105.5t105.5-43.833 105.5 43.833 43.833 105.5q0 44-23.5 80.167t-61.833 54.5v505.333q0 26.667-18.667 45.333t-45.333 18.667z" />
<glyph unicode="&#xe063;" glyph-name="drop" d="M240.333 442.333l271.667 271.667 271.667-271.667q55.333-55.333 83.833-126t28.5-145.667q0-75.333-28.5-145.667t-83.833-125.667-126-84-145.667-28.667-145.667 28.667-126 84q-55 55.333-83.667 125.833t-28.667 145.5 28.667 145.667 83.667 126zM723.333 382l-211.333 211.333-211.333-211.333q-42.667-43-65-98t-22.333-113.333 22.167-113.167 65.167-97.833 98-65.333 113.333-22.333q58.667 0 113.5 22.333t97.833 65.333 65.167 97.667 22.167 113.333q0 58.333-22.167 113.333t-65.167 98z" />
<glyph unicode="&#xe064;" glyph-name="sun" d="M512 512q69.667 0 128.5-34.333t93.167-93.167 34.333-128.5-34.333-128.5-93.167-93.167-128.5-34.333-128.5 34.333-93.167 93.167-34.333 128.5 34.333 128.5 93.167 93.167 128.5 34.333zM240.667 27.333q17.667 0 30.167-12.667t12.5-30.333q0-17.333-12.667-30l-60.333-60.333q-12.667-12.667-30-12.667-17.667 0-30.167 12.5t-12.5 30.167q0 18 12.333 30.333l60.333 60.333q12.667 12.667 30.333 12.667zM512-85.333q17.667 0 30.167-12.5t12.5-30.167v-85.333q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v85.333q0 17.667 12.5 30.167t30.167 12.5zM42.667 298.667h85.333q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-85.333q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5zM512 426.667q-70.667 0-120.667-50t-50-120.667 50-120.667 120.667-50 120.667 50 50 120.667-50 120.667-120.667 50zM783.667 27.333q17.333 0 30-12.667l60.333-60.333q12.667-12.667 12.667-30.333 0-17.333-12.667-30t-30-12.667q-17.667 0-30.333 12.667l-60.333 60.333q-12.333 12.333-12.333 30t12.5 30.333 30.167 12.667zM180.333 630.667q17.333 0 30-12.667l60.333-60.333q12.667-12.667 12.667-30 0-17.667-12.5-30.167t-30.167-12.5q-18 0-30.333 12.333l-60.333 60.333q-12.333 12.333-12.333 30.333 0 17.667 12.5 30.167t30.167 12.5zM512 768q17.667 0 30.167-12.5t12.5-30.167v-85.333q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v85.333q0 17.667 12.5 30.167t30.167 12.5zM896 298.667h85.333q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-85.333q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5zM844 630.667q17.333 0 30-12.667t12.667-30q0-17.667-12.667-30.333l-60.333-60.333q-12.333-12.333-30-12.333-18.333 0-30.5 12.167t-12.167 30.5q0 17.667 12.333 30l60.333 60.333q12.667 12.667 30.333 12.667z" />
<glyph unicode="&#xe065;" glyph-name="cloud" d="M640 640q78 0 149.167-30.5t122.5-81.833 81.833-122.5 30.5-149.167-30.5-149.167-81.833-122.5-122.5-81.833-149.167-30.5h-384q-69.667 0-128.5 34.333t-93.167 93.167-34.333 128.5 34.333 128.5 93.167 93.167 128.5 34.333h22q26.333 74.333 79.333 132.167t126.833 90.833 155.833 33zM640 554.667q-55.333 0-106.5-19.833t-90-53.833-65-81.333-33.833-101h-88.667q-70.667 0-120.667-50t-50-120.667 50-120.667 120.667-50h384q60.667 0 116 23.667t95.333 63.667 63.667 95.333 23.667 116-23.667 116-63.667 95.333-95.333 63.667-116 23.667z" />
<glyph unicode="&#xe066;" glyph-name="cloud-upload" d="M640 682.667q78 0 149.167-30.5t122.5-81.833 81.833-122.5 30.5-149.167q0-72.667-26.5-139.667t-72-117.333-108.667-83.5-134.167-41.167v86q71.667 10.333 130.167 51.833t92.167 105.667 33.667 138.167q0 60.667-23.667 116t-63.667 95.333-95.333 63.667-116 23.667q-55.333 0-106.5-19.833t-90-53.833-65-81.333-33.833-101h-88.667q-70.667 0-120.667-50t-50-120.667q0-38.667 15.167-71.667t39.833-54.167 54.833-33 60.833-11.833h170.667v-85.333h-170.667q-69.667 0-128.5 34.333t-93.167 93.167-34.333 128.5 34.333 128.5 93.167 93.167 128.5 34.333h22q26.333 74.333 79.333 132.167t126.833 90.833 155.833 33zM554.667 341.333q17.667 0 30.333-12.667l128-128q12.333-12.333 12.333-30 0-18.333-12.167-30.5t-30.5-12.167q-18 0-30.333 12.333l-55 55.333v-281q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v281l-55-55.333q-12.333-12.333-30.333-12.333-17.667 0-30.167 12.5t-12.5 30.167q0 17 12.333 30l128 128q12.667 12.667 30.333 12.667z" />
<glyph unicode="&#xe067;" glyph-name="cloud-download" d="M640 682.667q78 0 149.167-30.5t122.5-81.833 81.833-122.5 30.5-149.167q0-85-35-160.667t-96.667-129.167-140-77.5l21 20.667q18 18.333 28 42.667 9.333 22.667 9.333 49.333 0 6.667-0.333 9.333 59.333 41.333 93.833 105.833t34.5 139.5q0 60.667-23.667 116t-63.667 95.333-95.333 63.667-116 23.667q-55.333 0-106.5-19.833t-90-53.833-65-81.333-33.833-101h-88.667q-70.667 0-120.667-50t-50-120.667q0-38.667 15.167-71.667t39.833-54.167 54.833-33 60.833-11.833h50q11.667-29.333 30-48l37.667-37.333h-117.667q-69.667 0-128.5 34.333t-93.167 93.167-34.333 128.5 34.333 128.5 93.167 93.167 128.5 34.333h22q26.333 74.333 79.333 132.167t126.833 90.833 155.833 33zM554.667 341.333q17.667 0 30.167-12.5t12.5-30.167v-281l55 55.333q12.333 12.333 30.333 12.333 18.333 0 30.5-12.167t12.167-30.5q0-18-12.333-30.333l-128-128q-12.333-12.333-30.333-12.333t-30.333 12.333l-128 128q-12.333 13-12.333 30.333 0 17.667 12.5 30.167t30.167 12.5q18 0 30.333-12.333l55-55.333v281q0 17.667 12.5 30.167t30.167 12.5z" />
<glyph unicode="&#xe068;" glyph-name="upload" d="M213.333 768h597.333q53 0 90.5-37.5t37.5-90.5v-597.333q0-53-37.5-90.5t-90.5-37.5h-170.667v85.333h170.667q17.667 0 30.167 12.5t12.5 30.167v597.333q0 17.667-12.5 30.167t-30.167 12.5h-597.333q-17.667 0-30.167-12.5t-12.5-30.167v-597.333q0-17.667 12.5-30.167t30.167-12.5h170.667v-85.333h-170.667q-53 0-90.5 37.5t-37.5 90.5v597.333q0 53 37.5 90.5t90.5 37.5zM512 469.333q18 0 30.333-12.333l170.667-170.667q12.333-12.333 12.333-30.333 0-17.667-12.5-30.167t-30.167-12.5q-17.333 0-30.333 12.333l-97.667 98v-537q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v537l-97.667-98q-13-12.333-30.333-12.333-17.667 0-30.167 12.5t-12.5 30.167q0 17.333 12.333 30.333l170.667 170.667q12.333 12.333 30.333 12.333z" />
<glyph unicode="&#xe069;" glyph-name="download" d="M640 597.333h170.667q53 0 90.5-37.5t37.5-90.5v-597.333q0-53-37.5-90.5t-90.5-37.5h-597.333q-53 0-90.5 37.5t-37.5 90.5v597.333q0 53 37.5 90.5t90.5 37.5h170.667v-85.333h-170.667q-17.667 0-30.167-12.5t-12.5-30.167v-597.333q0-17.667 12.5-30.167t30.167-12.5h597.333q17.667 0 30.167 12.5t12.5 30.167v597.333q0 17.667-12.5 30.167t-30.167 12.5h-170.667v85.333zM512 768q17.667 0 30.167-12.5t12.5-30.167v-537l97.667 98q12.333 12.333 30.333 12.333 18.333 0 30.5-12.167t12.167-30.5q0-18-12.333-30.333l-170.667-170.667q-12.333-12.333-30.333-12.333t-30.333 12.333l-170.667 170.667q-12.333 13-12.333 30.333 0 17.667 12.5 30.167t30.167 12.5q18 0 30.333-12.333l97.667-98v537q0 17.667 12.5 30.167t30.167 12.5z" />
<glyph unicode="&#xe070;" glyph-name="location" d="M0 298.667l1024 469.333-469.333-1024-128 426.667zM571.333-14.667l279.333 609.333-609.333-279.333 254-76z" />
<glyph unicode="&#xe071;" glyph-name="location-2" d="M512 725.333q95.667 0 182.5-37.167t149.667-100 100-149.667 37.167-182.5-37.167-182.5-100-149.667-149.667-100-182.5-37.167-182.5 37.167-149.667 100-100 149.667-37.167 182.5 37.167 182.5 100 149.667 149.667 100 182.5 37.167zM554.667 637.667v-125.667q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v125.667q-66-7.333-125.167-36.333t-103.833-73.667-73.667-103.833-36.333-125.167h125.667q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-125.667q7.333-66 36.333-125.167t73.667-103.833 103.833-73.667 125.167-36.333v125.667q0 17.667 12.5 30.167t30.167 12.5 30.167-12.5 12.5-30.167v-125.667q66 7.333 125.167 36.333t103.833 73.667 73.667 103.833 36.333 125.167h-125.667q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5h125.667q-7.333 66-36.333 125.167t-73.667 103.833-103.833 73.667-125.167 36.333z" />
<glyph unicode="&#xe072;" glyph-name="map" d="M682.667 554.667l341.333 213.333v-810.667l-341.333-213.333-341.333 213.333-341.333-213.333v810.667l341.333 213.333zM298.667 31.333v609l-213.333-133.333v-609zM640 480.667l-256 160.333v-609.667l256-160v609.333zM938.667 4.667v609.333l-213.333-133.333v-609.333z" />
<glyph unicode="&#xe073;" glyph-name="battery" d="M128 554.667h640q53 0 90.5-37.5t37.5-90.5q53 0 90.5-37.5t37.5-90.5v-85.333q0-53-37.5-90.5t-90.5-37.5q0-53-37.5-90.5t-90.5-37.5h-640q-53 0-90.5 37.5t-37.5 90.5v341.333q0 53 37.5 90.5t90.5 37.5zM768 469.333h-640q-17.667 0-30.167-12.5t-12.5-30.167v-341.333q0-17.667 12.5-30.167t30.167-12.5h640q17.667 0 30.167 12.5t12.5 30.167v341.333q0 17.667-12.5 30.167t-30.167 12.5zM896 341.333v-170.667q17.667 0 30.167 12.5t12.5 30.167v85.333q0 17.667-12.5 30.167t-30.167 12.5z" />
<glyph unicode="&#xe074;" glyph-name="head" d="M512 768q69.667 0 128.5-34.333t93.167-93.167 34.333-128.5v-128q0-53.333-20.667-101t-57.667-83q97.333-15.333 173-45.167t118.5-70.5 42.833-85.667v-84q0-53-37.5-90.5t-90.5-37.5h-768q-53 0-90.5 37.5t-37.5 90.5v84.333q0 45 42.833 85.667t118.333 70.5 172.833 44.833q-36.667 35.667-57.333 83.167t-20.667 100.833v128q0 69.667 34.333 128.5t93.167 93.167 128.5 34.333zM512 128q-92.667 0-178.833-14.833t-150.167-41.5q-25.667-10.667-45.833-22.667t-30.667-21.667-15.833-16.833-5.333-11.5v-84.333q0-17.667 12.5-30.167t30.167-12.5h768q17.667 0 30.167 12.5t12.5 30.167v84q0 4.333-5.333 11.5t-15.833 16.833-30.667 21.667-45.833 23q-64 26.667-150.167 41.5t-178.833 14.833zM512 682.667q-70.667 0-120.667-50t-50-120.667v-128q0-70.667 50-120.667t120.667-50 120.667 50 50 120.667v128q0 70.667-50 120.667t-120.667 50z" />
<glyph unicode="&#xe075;" glyph-name="briefcase" d="M426.667 682.667h170.667q53 0 90.5-37.5t37.5-90.5v-42.667h128q53 0 90.5-37.5t37.5-90.5v-426.667q0-53-37.5-90.5t-90.5-37.5h-682.667q-53 0-90.5 37.5t-37.5 90.5v426.667q0 53 37.5 90.5t90.5 37.5h128v42.667q0 53 37.5 90.5t90.5 37.5zM213.333-85.333v512h-42.667q-17.667 0-30.167-12.5t-12.5-30.167v-426.667q0-17.667 12.5-30.167t30.167-12.5h42.667zM725.333-85.333v512h-426.667v-512h426.667zM853.333 426.667h-42.667v-512h42.667q17.667 0 30.167 12.5t12.5 30.167v426.667q0 17.667-12.5 30.167t-30.167 12.5zM597.333 597.333h-170.667q-17.667 0-30.167-12.5t-12.5-30.167v-42.667h256v42.667q0 17.667-12.5 30.167t-30.167 12.5z" />
<glyph unicode="&#xe076;" glyph-name="speech-bubble" d="M170.667 725.333h682.667q53 0 90.5-37.5t37.5-90.5v-469.333q0-53-37.5-90.5t-90.5-37.5h-341.333l-298.667-213.333v213.333h-42.667q-53 0-90.5 37.5t-37.5 90.5v469.333q0 53 37.5 90.5t90.5 37.5zM853.333 640h-682.667q-17.667 0-30.167-12.5t-12.5-30.167v-469.333q0-17.667 12.5-30.167t30.167-12.5h128v-133l186 133h368.667q17.667 0 30.167 12.5t12.5 30.167v469.333q0 17.667-12.5 30.167t-30.167 12.5z" />
<glyph unicode="&#xe077;" glyph-name="anchor" d="M512 725.333q70.667 0 120.667-50t50-120.667q0-59-36-104.833t-92-60.167v-515.333q71 8 134.167 41.167t108.667 83.5 72 117.333 26.5 139.667q0 17.667 12.5 30.167t30.167 12.5 30.167-12.5 12.5-30.167q0-95.667-37.167-182.5t-100-149.667-149.667-100-182.5-37.167-182.5 37.167-149.667 100-100 149.667-37.167 182.5q0 17.667 12.5 30.167t30.167 12.5 30.167-12.5 12.5-30.167q0-72.667 26.5-139.667t72-117.333 108.667-83.5 134.167-41.167v515.333q-56 14.333-92 60.167t-36 104.833q0 70.667 50 120.667t120.667 50zM512 640q-35.333 0-60.333-25t-25-60.333 25-60.333 60.333-25 60.333 25 25 60.333-25 60.333-60.333 25z" />
<glyph unicode="&#xe078;" glyph-name="globe" d="M512 725.333q12 0 18-0.333 62-2.333 120.5-20.5t108.167-48.833 91.167-73.833 70.333-93.833 45-110.167 16.167-121.833-16.167-121.833-45-110.167-70.333-93.833-91.167-73.833-108.167-48.833-120.5-20.5q-6-0.333-18-0.333t-18 0.333q-62 2.333-120.5 20.5t-108.167 48.833-91.167 73.833-70.333 93.833-45 110.167-16.167 121.833 16.167 121.833 45 110.167 70.333 93.833 91.167 73.833 108.167 48.833 120.5 20.5q6 0.333 18 0.333zM300.333 213.333h-170q13.333-119 91.667-209t192.667-120q-43.333 65.667-75.5 148.833t-38.833 180.167zM638.333 213.333h-252.667q3.333-42.667 13.833-85.333t23.5-75.5 30-64.833 30.667-52.667 28.333-39.667q14.667 19 28.333 39.833t30.667 52.833 30 64.833 23.5 75.333 13.833 85.167zM414.667 627.667q-114.333-30-192.667-120t-91.667-209h170q11.667 174 114.333 329zM893.667 213.333h-169.667q-12.333-174.333-114.667-329 114.333 30 192.667 120t91.667 209zM512 616.667q-14.667-19-28.167-39.833t-30.667-52.833-30.167-64.833-23.5-75.333-13.833-85.167h252.667q-3.333 42.667-13.833 85.333t-23.5 75.5-30 64.833-30.667 52.667-28.333 39.667zM609.333 627.667q102.333-154.667 114.667-329h169.667q-13.333 119-91.667 209t-192.667 120z" />
<glyph unicode="&#xe079;" glyph-name="box" d="M42.667 554.667l469.333 213.333 469.333-213.333v-597.333l-469.333-213.333-469.333 213.333v597.333zM469.333 314l-341.333 155v-456.667l341.333-155.333v457zM896 12.333v456.667l-341.333-155v-457zM826.667 531.333l-314.667 143-314.667-143 314.667-143z" />
<glyph unicode="&#xe080;" glyph-name="reload" d="M469.333 682.667q83 0 160.667-31.333 79.667-32.333 141-93.667 0.333-0.333 125-122.333v162q0 17.667 12.5 30.167t30.167 12.5 30.167-12.5 12.5-30.167v-256q0-17.667-12.5-30.167t-30.167-12.5h-256q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5h144q-92.667 90-116 113.333-49.667 49.667-113 75-61 25-128.333 25t-128.333-25q-63.667-25.333-113-75-49.333-49.333-75-113-25-61-25-128.333t25-128.333q25.667-63.667 75-113 49.333-49.667 113-75 61-25 128.333-25t128.333 25q63.333 25.333 113 75 55.333 55.333 80.667 127.667 5.667 16.667 21.667 24.167t32.667 1.833q16.667-6 24.333-22t1.667-32.667q-15.333-43.667-41.5-85.333t-59.167-74q-61.333-61.333-141-93.667-77.667-31.333-160.667-31.333t-160.667 31.333q-79.667 32.333-141 93.667t-93.667 141q-31.333 77.667-31.333 160.667t31.333 160.667q32.333 79.667 93.667 141t141 93.667q77.667 31.333 160.667 31.333z" />
<glyph unicode="&#xe081;" glyph-name="share" d="M768 682.667q70.667 0 120.667-50t50-120.667-50-120.667-120.667-50q-37.667 0-71.167 15.5t-57.5 43.167l-216.333-108.333q3.667-17.667 3.667-35.667t-3.667-35.667l216.333-108.333q24 27.667 57.5 43.167t71.167 15.5q70.667 0 120.667-50t50-120.667-50-120.667-120.667-50-120.667 50-50 120.667q0 18 3.667 35.667l-216.333 108.333q-24-27.667-57.5-43.167t-71.167-15.5q-70.667 0-120.667 50t-50 120.667 50 120.667 120.667 50q37.667 0 71.167-15.5t57.5-43.167l216.333 108.333q-3.667 17.667-3.667 35.667 0 70.667 50 120.667t120.667 50zM256 341.333q-35.333 0-60.333-25t-25-60.333 25-60.333 60.333-25 60.333 25 25 60.333-25 60.333-60.333 25zM768 85.333q-35.333 0-60.333-25t-25-60.333 25-60.333 60.333-25 60.333 25 25 60.333-25 60.333-60.333 25zM768 597.333q-35.333 0-60.333-25t-25-60.333 25-60.333 60.333-25 60.333 25 25 60.333-25 60.333-60.333 25z" />
<glyph unicode="&#xe082;" glyph-name="marquee" d="M768 725.333h85.333q53 0 90.5-37.5t37.5-90.5v-85.333q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v85.333q0 17.667-12.5 30.167t-30.167 12.5h-85.333q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5zM85.333 42.667q17.667 0 30.167-12.5t12.5-30.167v-85.333q0-17.667 12.5-30.167t30.167-12.5h85.333q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-85.333q-53 0-90.5 37.5t-37.5 90.5v85.333q0 17.667 12.5 30.167t30.167 12.5zM85.333 384q17.667 0 30.167-12.5t12.5-30.167v-170.667q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v170.667q0 17.667 12.5 30.167t30.167 12.5zM426.667-128h170.667q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-170.667q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5zM170.667 725.333h85.333q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-85.333q-17.667 0-30.167-12.5t-12.5-30.167v-85.333q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v85.333q0 53 37.5 90.5t90.5 37.5zM938.667 42.667q17.667 0 30.167-12.5t12.5-30.167v-85.333q0-53-37.5-90.5t-90.5-37.5h-85.333q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5h85.333q17.667 0 30.167 12.5t12.5 30.167v85.333q0 17.667 12.5 30.167t30.167 12.5zM938.667 384q17.667 0 30.167-12.5t12.5-30.167v-170.667q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v170.667q0 17.667 12.5 30.167t30.167 12.5zM426.667 725.333h170.667q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-170.667q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5z" />
<glyph unicode="&#xe083;" glyph-name="marquee-plus" d="M512 469.333q17.667 0 30.167-12.5t12.5-30.167v-128h128q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-128v-128q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v128h-128q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5h128v128q0 17.667 12.5 30.167t30.167 12.5zM85.333 42.667q17.667 0 30.167-12.5t12.5-30.167v-85.333q0-17.667 12.5-30.167t30.167-12.5h85.333q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-85.333q-53 0-90.5 37.5t-37.5 90.5v85.333q0 17.667 12.5 30.167t30.167 12.5zM85.333 384q17.667 0 30.167-12.5t12.5-30.167v-170.667q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v170.667q0 17.667 12.5 30.167t30.167 12.5zM426.667-128h170.667q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-170.667q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5zM170.667 725.333h85.333q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-85.333q-17.667 0-30.167-12.5t-12.5-30.167v-85.333q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v85.333q0 53 37.5 90.5t90.5 37.5zM938.667 42.667q17.667 0 30.167-12.5t12.5-30.167v-85.333q0-53-37.5-90.5t-90.5-37.5h-85.333q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5h85.333q17.667 0 30.167 12.5t12.5 30.167v85.333q0 17.667 12.5 30.167t30.167 12.5zM938.667 384q17.667 0 30.167-12.5t12.5-30.167v-170.667q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v170.667q0 17.667 12.5 30.167t30.167 12.5zM426.667 725.333h170.667q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-170.667q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5zM768 725.333h85.333q53 0 90.5-37.5t37.5-90.5v-85.333q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v85.333q0 17.667-12.5 30.167t-30.167 12.5h-85.333q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5z" />
<glyph unicode="&#xe084;" glyph-name="marquee-minus" d="M768 725.333h85.333q53 0 90.5-37.5t37.5-90.5v-85.333q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v85.333q0 17.667-12.5 30.167t-30.167 12.5h-85.333q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5zM85.333 42.667q17.667 0 30.167-12.5t12.5-30.167v-85.333q0-17.667 12.5-30.167t30.167-12.5h85.333q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-85.333q-53 0-90.5 37.5t-37.5 90.5v85.333q0 17.667 12.5 30.167t30.167 12.5zM85.333 384q17.667 0 30.167-12.5t12.5-30.167v-170.667q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v170.667q0 17.667 12.5 30.167t30.167 12.5zM426.667-128h170.667q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-170.667q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5zM170.667 725.333h85.333q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-85.333q-17.667 0-30.167-12.5t-12.5-30.167v-85.333q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v85.333q0 53 37.5 90.5t90.5 37.5zM938.667 42.667q17.667 0 30.167-12.5t12.5-30.167v-85.333q0-53-37.5-90.5t-90.5-37.5h-85.333q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5h85.333q17.667 0 30.167 12.5t12.5 30.167v85.333q0 17.667 12.5 30.167t30.167 12.5zM341.333 298.667h341.333q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-341.333q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5zM938.667 384q17.667 0 30.167-12.5t12.5-30.167v-170.667q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v170.667q0 17.667 12.5 30.167t30.167 12.5zM426.667 725.333h170.667q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-170.667q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5z" />
<glyph unicode="&#xe085;" glyph-name="tag" d="M42.667 725.333h482.667l418.667-418.333q37.333-37.333 37.333-90.333 0-53.333-37.333-90.667l-302-302q-37.333-37.333-90.333-37.333-53.333 0-90.667 37.333l-418.333 418.667v482.667zM883.667 246.667l-393.667 393.333h-362v-362l393.333-393.667q12.667-12.333 30.333-12.333t30 12.333l302 302q12.333 12.333 12.333 30t-12.333 30.333zM362.667 512q44.333 0 75.5-31.167t31.167-75.5-31.167-75.5-75.5-31.167-75.5 31.167-31.167 75.5 31.167 75.5 75.5 31.167zM362.667 426.667q-8.667 0-15-6.333t-6.333-15 6.333-15 15-6.333 15 6.333 6.333 15-6.333 15-15 6.333z" />
<glyph unicode="&#xe086;" glyph-name="power" d="M813.667 515q59-59 91.333-135.667 33.667-79.333 33.667-166t-33.667-166q-32.333-76.667-91.333-135.667t-135.667-91.333q-79.333-33.667-166-33.667t-166 33.667q-76.667 32.333-135.667 91.333t-91.333 135.667q-33.667 79.333-33.667 166t33.667 166q32.333 76.667 91.333 135.667 12.333 12.333 30 12.333t30.333-12.333 12.667-30-12.667-30.333q-47-47-73.333-108.333-26.667-64-26.667-133t26.667-133q26.333-61.333 73.333-108.333t108.333-73.333q64-26.667 133-26.667t133 26.667q61.333 26.333 108.333 73.333t73.333 108.333q26.667 64 26.667 133t-26.667 133q-26.333 61.333-73.333 108.333-12.667 12.667-12.667 30.333t12.667 30 30.333 12.333 30-12.333zM512 725.333q17.667 0 30.167-12.5t12.5-30.167v-426.667q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v426.667q0 17.667 12.5 30.167t30.167 12.5z" />
<glyph unicode="&#xe087;" glyph-name="command" d="M768 682.667q70.667 0 120.667-50t50-120.667-50-120.667-120.667-50h-85.333v-170.667h85.333q70.667 0 120.667-50t50-120.667-50-120.667-120.667-50-120.667 50-50 120.667v85.333h-170.667v-85.333q0-70.667-50-120.667t-120.667-50-120.667 50-50 120.667 50 120.667 120.667 50h85.333v170.667h-85.333q-70.667 0-120.667 50t-50 120.667 50 120.667 120.667 50 120.667-50 50-120.667v-85.333h170.667v85.333q0 70.667 50 120.667t120.667 50zM341.333 0v85.333h-85.333q-35.333 0-60.333-25t-25-60.333 25-60.333 60.333-25 60.333 25 25 60.333zM256 597.333q-35.333 0-60.333-25t-25-60.333 25-60.333 60.333-25h85.333v85.333q0 35.333-25 60.333t-60.333 25zM597.333 170.667v170.667h-170.667v-170.667h170.667zM768 85.333h-85.333v-85.333q0-35.333 25-60.333t60.333-25 60.333 25 25 60.333-25 60.333-60.333 25zM768 597.333q-35.333 0-60.333-25t-25-60.333v-85.333h85.333q35.333 0 60.333 25t25 60.333-25 60.333-60.333 25z" />
<glyph unicode="&#xe088;" glyph-name="alt" d="M128 597.333h213.333q24.333 0 37-21.333l329-576h188.667q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-213.333q-24.333 0-37 21.333l-329 576h-188.667q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5zM597.333 597.333h213.333q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-213.333q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5z" />
<glyph unicode="&#xe089;" glyph-name="esc" d="M559 723q86.333-8.667 163.833-47.667t136.167-103.333q57.667-63.333 89.667-143.667 32.667-83 32.667-172.333 0-95.667-37-182.667-34.333-82.333-100.333-149.333-67-66-149.333-100.333-87-37-182.667-37-89.333 0-172.333 32.667-80.333 32-143.667 89.667-64.333 58.667-103.333 136.167t-47.667 163.833q-1.667 19 10.833 33t31.833 14q16.333 0 28.5-11t13.833-27.333q7-71 38.833-134.333t84.833-111.333q51.667-47.667 117.333-73.333 68-26.667 141-26.667 78.333 0 149.333 30 67.333 28.333 122.333 82.333 54 55 82.333 122.333 30 71 30 149.333 0 73-26.667 141-25.667 65.667-73.333 117.333-48 53-111.333 84.833t-134.333 38.833q-16.333 1.667-27.333 13.833t-11 28.5q0 12.667 4.833 21.667t12.833 13.333 15.167 6 14.167 1.667zM85.333 725.333h256q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-153l354-354q12.333-12 12.333-30 0-18.333-12.167-30.5t-30.5-12.167q-18 0-30.333 12.333l-353.667 354v-153q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v256q0 17.667 12.5 30.167t30.167 12.5z" />
<glyph unicode="&#xe090;" glyph-name="bar-graph" d="M853.333 725.333q53 0 90.5-37.5t37.5-90.5v-682.667q0-53-37.5-90.5t-90.5-37.5-90.5 37.5-37.5 90.5v682.667q0 53 37.5 90.5t90.5 37.5zM170.667 213.333q53 0 90.5-37.5t37.5-90.5v-170.667q0-53-37.5-90.5t-90.5-37.5-90.5 37.5-37.5 90.5v170.667q0 53 37.5 90.5t90.5 37.5zM170.667 128q-17.667 0-30.167-12.5t-12.5-30.167v-170.667q0-17.667 12.5-30.167t30.167-12.5 30.167 12.5 12.5 30.167v170.667q0 17.667-12.5 30.167t-30.167 12.5zM512 469.333q53 0 90.5-37.5t37.5-90.5v-426.667q0-53-37.5-90.5t-90.5-37.5-90.5 37.5-37.5 90.5v426.667q0 53 37.5 90.5t90.5 37.5zM512 384q-17.667 0-30.167-12.5t-12.5-30.167v-426.667q0-17.667 12.5-30.167t30.167-12.5 30.167 12.5 12.5 30.167v426.667q0 17.667-12.5 30.167t-30.167 12.5zM853.333 640q-17.667 0-30.167-12.5t-12.5-30.167v-682.667q0-17.667 12.5-30.167t30.167-12.5 30.167 12.5 12.5 30.167v682.667q0 17.667-12.5 30.167t-30.167 12.5z" />
<glyph unicode="&#xe091;" glyph-name="bar-graph-2" d="M512 725.333q53 0 90.5-37.5t37.5-90.5v-682.667q0-53-37.5-90.5t-90.5-37.5-90.5 37.5-37.5 90.5v682.667q0 53 37.5 90.5t90.5 37.5zM170.667 213.333q53 0 90.5-37.5t37.5-90.5v-170.667q0-53-37.5-90.5t-90.5-37.5-90.5 37.5-37.5 90.5v170.667q0 53 37.5 90.5t90.5 37.5zM170.667 128q-17.667 0-30.167-12.5t-12.5-30.167v-170.667q0-17.667 12.5-30.167t30.167-12.5 30.167 12.5 12.5 30.167v170.667q0 17.667-12.5 30.167t-30.167 12.5zM512 640q-17.667 0-30.167-12.5t-12.5-30.167v-682.667q0-17.667 12.5-30.167t30.167-12.5 30.167 12.5 12.5 30.167v682.667q0 17.667-12.5 30.167t-30.167 12.5zM853.333 469.333q53 0 90.5-37.5t37.5-90.5v-426.667q0-53-37.5-90.5t-90.5-37.5-90.5 37.5-37.5 90.5v426.667q0 53 37.5 90.5t90.5 37.5zM853.333 384q-17.667 0-30.167-12.5t-12.5-30.167v-426.667q0-17.667 12.5-30.167t30.167-12.5 30.167 12.5 12.5 30.167v426.667q0 17.667-12.5 30.167t-30.167 12.5z" />
<glyph unicode="&#xe092;" glyph-name="pie-graph" d="M512 725.333q95.667 0 182.5-37.167t149.667-100 100-149.667 37.167-182.5-37.167-182.5-100-149.667-149.667-100-182.5-37.167-182.5 37.167-149.667 100-100 149.667-37.167 182.5 37.167 182.5 100 149.667 149.667 100 182.5 37.167zM469.333 213.333v424.333q-71-8-134.167-41.167t-108.667-83.5-72-117.333-26.5-139.667q0-78 30.5-149.167t81.833-122.5 122.5-81.833 149.167-30.5q72.667 0 139.667 26.5t117.333 72 83.5 108.667 41.167 134.167h-424.333zM554.667 637.667v-339h339q-7.333 66-36.333 125.167t-73.667 103.833-103.833 73.667-125.167 36.333z" />
<glyph unicode="&#xe093;" glyph-name="star" d="M396.667 384l115.333 355 115.333-355h373.333l-302-209.667 115.333-348.667-302 221-302-219.333 115.333 347-302 209.667h373.333zM565.333 298.667l-53.333 169.667-53.333-169.667h-165.667l133.333-88.333-52.333-157.667 138.333 100 137.667-101-52.333 157.667 133 89.333h-165.333z" />
<glyph unicode="&#xe094;" glyph-name="arrow-left" d="M426.667 597.333q17.667 0 30.167-12.5t12.5-30.167q0-18-12.667-30.333l-225.667-225.667h665q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-665l225.667-225.667q12.667-12.333 12.667-30.333 0-17.667-12.5-30.167t-30.167-12.5q-18 0-30.333 12.333l-298.667 298.667q-12.333 13-12.333 30.333t12.333 30.333l298.667 298.667q12.667 12.333 30.333 12.333z" />
<glyph unicode="&#xe095;" glyph-name="arrow-right" d="M597.333 597.333q18 0 30.333-12.333l298.667-298.667q12.333-12.333 12.333-30.333t-12.333-30.333l-298.667-298.667q-12.333-12.333-30.333-12.333-18.333 0-30.5 12.167t-12.167 30.5q0 18 12.333 30.333l226 225.667h-665q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5h665l-226 225.667q-12.333 12.333-12.333 30.333 0 18.333 12.167 30.5t30.5 12.167z" />
<glyph unicode="&#xe096;" glyph-name="arrow-up" d="M512 682.667q18 0 30.333-12.333l298.667-298.667q12.333-12.333 12.333-30.333 0-18.333-12.167-30.5t-30.5-12.167q-18 0-30.333 12.333l-225.667 226v-665q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v665l-225.667-226q-12.333-12.333-30.333-12.333-18.333 0-30.5 12.167t-12.167 30.5q0 18 12.333 30.333l298.667 298.667q12.333 12.333 30.333 12.333z" />
<glyph unicode="&#xe097;" glyph-name="arrow-down" d="M512 682.667q17.667 0 30.167-12.5t12.5-30.167v-665l225.667 226q12.333 12.333 30.333 12.333 18.333 0 30.5-12.167t12.167-30.5q0-18-12.333-30.333l-298.667-298.667q-12.333-12.333-30.333-12.333t-30.333 12.333l-298.667 298.667q-12.333 12.333-12.333 30.333 0 18.333 12.167 30.5t30.5 12.167q18 0 30.333-12.333l225.667-226v665q0 17.667 12.5 30.167t30.167 12.5z" />
<glyph unicode="&#xe098;" glyph-name="volume" d="M213.333 426.667l213.333 213.333v-768l-213.333 213.333h-85.333q-53 0-90.5 37.5t-37.5 90.5v83.667q0 53 37.5 91.333t90.5 38.333h85.333zM341.333 78v357.667l-92.667-94.333h-120.667q-17.333 0-30-13.167t-12.667-31.167v-83.667q0-17.667 12.5-30.167t30.167-12.5h120.667zM620 398.333q12.333 0 23.167-7t16.167-19q23.333-56.333 23.333-116.333 0-61-23.333-115.667-5-12-15.833-19.167t-23.5-7.167q-15.667 0-29.167 11.833t-13.5 30.833q0 7.667 3.333 16.667 16.667 39.333 16.667 82.667 0 43-16.667 83-3.333 7.667-3.333 16.667 0 19 12.833 30.833t29.833 11.833zM750.333 517.333q24 0 36.667-21 33-55 49-113.667 17.333-62.667 17.333-126.667 0-63.667-17.333-127-16.333-59.333-49-113.667-12.333-20.667-36.667-20.667-16.667 0-29.667 12t-13 30.667q0 11.667 6.333 22 26 43.333 39.667 92.667 14.333 50 14.333 104 0 53.667-14.333 103.667-13.667 49.333-39.667 93-6.333 9.667-6.333 21.667 0 18 13.167 30.5t29.5 12.5zM878 634.333q23 0 35.333-18.667 54.333-79.667 82.5-171.333t28.167-188.333-28.167-188.333-82.5-171.333q-12-18.667-35.333-18.667-17.333 0-29.833 12t-12.5 30.667q0 13.333 7.333 24 95.667 140.333 95.667 311.667 0 84-24.333 163.333t-71.333 148.333q-7.333 10.667-7.333 24 0 18.667 12.5 30.667t29.833 12z" />
<glyph unicode="&#xe099;" glyph-name="mute" d="M256 426.667l213.333 213.333v-768l-213.333 213.333h-85.333q-53 0-90.5 37.5t-37.5 90.5v83.667q0 53 37.5 91.333t90.5 38.333h85.333zM384 78v357.667l-92.667-94.333h-120.667q-17.333 0-30-13.167t-12.667-31.167v-83.667q0-17.667 12.5-30.167t30.167-12.5h120.667zM896 426.667q18.333 0 30.5-12.167t12.167-30.5q0-18-12.333-30.333l-98-97.667 98-97.667q12.333-12.333 12.333-30.333 0-18.333-12.167-30.5t-30.5-12.167q-18 0-30.333 12.333l-97.667 98-97.667-98q-12.333-12.333-30.333-12.333-18.333 0-30.5 12.167t-12.167 30.5q0 18 12.333 30.333l98 97.667-98 97.667q-12.333 12.333-12.333 30.333 0 18.333 12.167 30.5t30.5 12.167q18 0 30.333-12.333l97.667-98 97.667 98q12.333 12.333 30.333 12.333z" />
<glyph unicode="&#xe100;" glyph-name="content-right" d="M682.667 725.333h170.667q53 0 90.5-37.5t37.5-90.5v-682.667q0-53-37.5-90.5t-90.5-37.5h-170.667q-53 0-90.5 37.5t-37.5 90.5v682.667q0 53 37.5 90.5t90.5 37.5zM170.667 213.333h170.667q53 0 90.5-37.5t37.5-90.5v-170.667q0-53-37.5-90.5t-90.5-37.5h-170.667q-53 0-90.5 37.5t-37.5 90.5v170.667q0 53 37.5 90.5t90.5 37.5zM341.333 128h-170.667q-17.667 0-30.167-12.5t-12.5-30.167v-170.667q0-17.667 12.5-30.167t30.167-12.5h170.667q17.667 0 30.167 12.5t12.5 30.167v170.667q0 17.667-12.5 30.167t-30.167 12.5zM170.667 725.333h170.667q53 0 90.5-37.5t37.5-90.5v-170.667q0-53-37.5-90.5t-90.5-37.5h-170.667q-53 0-90.5 37.5t-37.5 90.5v170.667q0 53 37.5 90.5t90.5 37.5zM341.333 640h-170.667q-17.667 0-30.167-12.5t-12.5-30.167v-170.667q0-17.667 12.5-30.167t30.167-12.5h170.667q17.667 0 30.167 12.5t12.5 30.167v170.667q0 17.667-12.5 30.167t-30.167 12.5zM853.333 640h-170.667q-17.667 0-30.167-12.5t-12.5-30.167v-682.667q0-17.667 12.5-30.167t30.167-12.5h170.667q17.667 0 30.167 12.5t12.5 30.167v682.667q0 17.667-12.5 30.167t-30.167 12.5z" />
<glyph unicode="&#xe101;" glyph-name="content-left" d="M170.667 725.333h170.667q53 0 90.5-37.5t37.5-90.5v-682.667q0-53-37.5-90.5t-90.5-37.5h-170.667q-53 0-90.5 37.5t-37.5 90.5v682.667q0 53 37.5 90.5t90.5 37.5zM341.333 640h-170.667q-17.667 0-30.167-12.5t-12.5-30.167v-682.667q0-17.667 12.5-30.167t30.167-12.5h170.667q17.667 0 30.167 12.5t12.5 30.167v682.667q0 17.667-12.5 30.167t-30.167 12.5zM682.667 213.333h170.667q53 0 90.5-37.5t37.5-90.5v-170.667q0-53-37.5-90.5t-90.5-37.5h-170.667q-53 0-90.5 37.5t-37.5 90.5v170.667q0 53 37.5 90.5t90.5 37.5zM853.333 128h-170.667q-17.667 0-30.167-12.5t-12.5-30.167v-170.667q0-17.667 12.5-30.167t30.167-12.5h170.667q17.667 0 30.167 12.5t12.5 30.167v170.667q0 17.667-12.5 30.167t-30.167 12.5zM682.667 725.333h170.667q53 0 90.5-37.5t37.5-90.5v-170.667q0-53-37.5-90.5t-90.5-37.5h-170.667q-53 0-90.5 37.5t-37.5 90.5v170.667q0 53 37.5 90.5t90.5 37.5zM853.333 640h-170.667q-17.667 0-30.167-12.5t-12.5-30.167v-170.667q0-17.667 12.5-30.167t30.167-12.5h170.667q17.667 0 30.167 12.5t12.5 30.167v170.667q0 17.667-12.5 30.167t-30.167 12.5z" />
<glyph unicode="&#xe102;" glyph-name="grid" d="M682.667 725.333h170.667q53 0 90.5-37.5t37.5-90.5v-170.667q0-53-37.5-90.5t-90.5-37.5h-170.667q-53 0-90.5 37.5t-37.5 90.5v170.667q0 53 37.5 90.5t90.5 37.5zM170.667 213.333h170.667q53 0 90.5-37.5t37.5-90.5v-170.667q0-53-37.5-90.5t-90.5-37.5h-170.667q-53 0-90.5 37.5t-37.5 90.5v170.667q0 53 37.5 90.5t90.5 37.5zM341.333 128h-170.667q-17.667 0-30.167-12.5t-12.5-30.167v-170.667q0-17.667 12.5-30.167t30.167-12.5h170.667q17.667 0 30.167 12.5t12.5 30.167v170.667q0 17.667-12.5 30.167t-30.167 12.5zM170.667 725.333h170.667q53 0 90.5-37.5t37.5-90.5v-170.667q0-53-37.5-90.5t-90.5-37.5h-170.667q-53 0-90.5 37.5t-37.5 90.5v170.667q0 53 37.5 90.5t90.5 37.5zM341.333 640h-170.667q-17.667 0-30.167-12.5t-12.5-30.167v-170.667q0-17.667 12.5-30.167t30.167-12.5h170.667q17.667 0 30.167 12.5t12.5 30.167v170.667q0 17.667-12.5 30.167t-30.167 12.5zM682.667 213.333h170.667q53 0 90.5-37.5t37.5-90.5v-170.667q0-53-37.5-90.5t-90.5-37.5h-170.667q-53 0-90.5 37.5t-37.5 90.5v170.667q0 53 37.5 90.5t90.5 37.5zM853.333 128h-170.667q-17.667 0-30.167-12.5t-12.5-30.167v-170.667q0-17.667 12.5-30.167t30.167-12.5h170.667q17.667 0 30.167 12.5t12.5 30.167v170.667q0 17.667-12.5 30.167t-30.167 12.5zM853.333 640h-170.667q-17.667 0-30.167-12.5t-12.5-30.167v-170.667q0-17.667 12.5-30.167t30.167-12.5h170.667q17.667 0 30.167 12.5t12.5 30.167v170.667q0 17.667-12.5 30.167t-30.167 12.5z" />
<glyph unicode="&#xe103;" glyph-name="grid-2" d="M170.667 725.333h682.667q53 0 90.5-37.5t37.5-90.5v-682.667q0-53-37.5-90.5t-90.5-37.5h-682.667q-53 0-90.5 37.5t-37.5 90.5v682.667q0 53 37.5 90.5t90.5 37.5zM469.333-128v341.333h-341.333v-298.667q0-17.667 12.5-30.167t30.167-12.5h298.667zM469.333 298.667v341.333h-298.667q-17.667 0-30.167-12.5t-12.5-30.167v-298.667h341.333zM896-85.333v298.667h-341.333v-341.333h298.667q17.667 0 30.167 12.5t12.5 30.167zM853.333 640h-298.667v-341.333h341.333v298.667q0 17.667-12.5 30.167t-30.167 12.5z" />
<glyph unicode="&#xe104;" glyph-name="columns" d="M128 640h768q53 0 90.5-37.5t37.5-90.5v-512q0-53-37.5-90.5t-90.5-37.5h-768q-53 0-90.5 37.5t-37.5 90.5v512q0 53 37.5 90.5t90.5 37.5zM298.667-42.667v597.333h-170.667q-17.667 0-30.167-12.5t-12.5-30.167v-512q0-17.667 12.5-30.167t30.167-12.5h170.667zM640-42.667v597.333h-256v-597.333h256zM896 554.667h-170.667v-597.333h170.667q17.667 0 30.167 12.5t12.5 30.167v512q0 17.667-12.5 30.167t-30.167 12.5z" />
<glyph unicode="&#xe105;" glyph-name="loader" d="M693.333 117.667q17.333 0 30-12.667l120.667-120.667q12.667-12.667 12.667-30.333 0-17.333-12.667-30t-30-12.667q-17.667 0-30.333 12.667l-120.667 120.667q-12.333 12.333-12.333 30.333 0 17.667 12.5 30.167t30.167 12.5zM331 117.667q17.667 0 30.167-12.5t12.5-30.167-12.667-30.333l-120.667-120.667q-12.667-12.667-30-12.667-17.667 0-30.167 12.5t-12.5 30.167q0 18 12.333 30.333l120.667 120.667q12.667 12.667 30.333 12.667zM85.333 298.667h170.667q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-170.667q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5zM512 42.667q17.667 0 30.167-12.5t12.5-30.167v-170.667q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v170.667q0 17.667 12.5 30.167t30.167 12.5zM210.333 600.667q17.333 0 30-12.667l120.667-120.667q12.667-12.667 12.667-30 0-17.667-12.5-30.167t-30.167-12.5q-18 0-30.333 12.333l-120.667 120.667q-12.333 12.333-12.333 30.333 0 17.667 12.5 30.167t30.167 12.5zM768 298.667h170.667q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-170.667q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5zM512 725.333q17.667 0 30.167-12.5t12.5-30.167v-170.667q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v170.667q0 17.667 12.5 30.167t30.167 12.5zM814 600.667q17.333 0 30-12.667t12.667-30q0-17.667-12.667-30.333l-120.667-120.667q-12.333-12.333-30-12.333-18.333 0-30.5 12.167t-12.167 30.5q0 17.667 12.333 30l120.667 120.667q12.667 12.667 30.333 12.667z" />
<glyph unicode="&#xe106;" glyph-name="bag" d="M512 768q43.333 0 82.833-17t68-45.5 45.5-68 17-82.833v-42.667h170.667v-640q0-53-37.5-90.5t-90.5-37.5h-512q-53 0-90.5 37.5t-37.5 90.5v640h170.667v42.667q0 43.333 17 82.833t45.5 68 68 45.5 82.833 17zM810.667-128v554.667h-597.333v-554.667q0-17.667 12.5-30.167t30.167-12.5h512q17.667 0 30.167 12.5t12.5 30.167zM512 682.667q-53 0-90.5-37.5t-37.5-90.5v-42.667h256v42.667q0 53-37.5 90.5t-90.5 37.5z" />
<glyph unicode="&#xe107;" glyph-name="ban" d="M512 725.333q95.667 0 182.5-37.167t149.667-100 100-149.667 37.167-182.5-37.167-182.5-100-149.667-149.667-100-182.5-37.167-182.5 37.167-149.667 100-100 149.667-37.167 182.5 37.167 182.5 100 149.667 149.667 100 182.5 37.167zM751.667-44l-539.667 539.667q-40-50.333-62-111.667t-22-128q0-78 30.5-149.167t81.833-122.5 122.5-81.833 149.167-30.5q67 0 128.333 21.833t111.333 62.167zM512 640q-67 0-128.333-21.833t-111.333-62.167l539.667-539.667q40.333 50 62.167 111.333t21.833 128.333q0 78-30.5 149.167t-81.833 122.5-122.5 81.833-149.167 30.5z" />
<glyph unicode="&#xe108;" glyph-name="flag" d="M298.667 725.333q35.333 0 76-8.833t78.333-21.333l75.333-25t78.333-21.333 76-8.833q36 0 71 4.333t59.667 10.667 44.167 12.667 29.167 10.667l9.333 4.333v-597.333q-3.333-1.667-10-4.5t-28.167-10.333-44.833-13-58.833-10.167-71.5-4.667q-35.333 0-76 8.833t-78.333 21.333l-75.333 25t-78.333 21.333-76 8.833q-63.667 0-128-14.333v-284.333q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v853.333q3.333 1.667 10 4.5t28.167 10.333 44.833 13 58.833 10.167 71.5 4.667zM298.667 640q-65.333 0-128-17v-422.333q64 12.667 128 12.667 47.333 0 94.667-10.833t107.667-30.833q7.667-2.667 28.833-9.833t31-10.333 28.833-8.667 31.833-8 29.5-4.667 31.667-2.167q65.333 0 128 17v422.333q-64-12.667-128-12.667-47.333 0-94.667 10.833t-107.667 30.833q-7.667 2.667-28.833 9.833t-31 10.333-28.833 8.667-31.833 8-29.5 4.667-31.667 2.167z" />
<glyph unicode="&#xe109;" glyph-name="trash" d="M426.667 725.333h170.667q53 0 90.5-37.5t37.5-90.5v-42.667h170.667q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-42.667v-512q0-53-37.5-90.5t-90.5-37.5h-426.667q-53 0-90.5 37.5t-37.5 90.5v512h-42.667q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5h170.667v42.667q0 53 37.5 90.5t90.5 37.5zM768-42.667v512h-512v-512q0-17.667 12.5-30.167t30.167-12.5h426.667q17.667 0 30.167 12.5t12.5 30.167zM597.333 640h-170.667q-17.667 0-30.167-12.5t-12.5-30.167v-42.667h256v42.667q0 17.667-12.5 30.167t-30.167 12.5z" />
<glyph unicode="&#xe110;" glyph-name="expand" d="M725.333 725.333h128q53 0 90.5-37.5t37.5-90.5v-128q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v128q0 17.667-12.5 30.167t-30.167 12.5h-128q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5zM85.333 85.333q17.667 0 30.167-12.5t12.5-30.167v-128q0-17.667 12.5-30.167t30.167-12.5h128q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-128q-53 0-90.5 37.5t-37.5 90.5v128q0 17.667 12.5 30.167t30.167 12.5zM170.667 725.333h128q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-128q-17.667 0-30.167-12.5t-12.5-30.167v-128q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v128q0 53 37.5 90.5t90.5 37.5zM938.667 85.333q17.667 0 30.167-12.5t12.5-30.167v-128q0-53-37.5-90.5t-90.5-37.5h-128q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5h128q17.667 0 30.167 12.5t12.5 30.167v128q0 17.667 12.5 30.167t30.167 12.5z" />
<glyph unicode="&#xe111;" glyph-name="contract" d="M725.333 725.333q17.667 0 30.167-12.5t12.5-30.167v-128q0-17.667 12.5-30.167t30.167-12.5h128q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-128q-53 0-90.5 37.5t-37.5 90.5v128q0 17.667 12.5 30.167t30.167 12.5zM85.333 85.333h128q53 0 90.5-37.5t37.5-90.5v-128q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v128q0 17.667-12.5 30.167t-30.167 12.5h-128q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5zM298.667 725.333q17.667 0 30.167-12.5t12.5-30.167v-128q0-53-37.5-90.5t-90.5-37.5h-128q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5h128q17.667 0 30.167 12.5t12.5 30.167v128q0 17.667 12.5 30.167t30.167 12.5zM810.667 85.333h128q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-128q-17.667 0-30.167-12.5t-12.5-30.167v-128q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v128q0 53 37.5 90.5t90.5 37.5z" />
<glyph unicode="&#xe112;" glyph-name="maximize" d="M597.333 213.667q17.667 0 30.333-12.667l268.333-268.333v195.667q0 17.667 12.5 30.167t30.167 12.5 30.167-12.5 12.5-30.167v-298.667q0-17.667-12.667-30.333t-30.333-12.667h-298.667q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5h195.667l-268.333 268.333q-12.333 13-12.333 30.333 0 17.667 12.5 30.333t30.167 12.667zM85.333 725.333h298.667q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-195.667l268.333-268q12.667-12.667 12.667-30.333t-12.667-30.167-30.333-12.5q-17 0-30.333 12.333l-268 268.333v-195.667q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v298.667q0 17.667 12.5 30.167t30.167 12.5z" />
<glyph unicode="&#xe113;" glyph-name="minimize" d="M85.333 725.333q18 0 30.333-12.333l268.333-268.333v195.667q0 17.667 12.5 30.167t30.167 12.5 30.167-12.5 12.5-30.167v-298.667q0-17.667-12.667-30.333t-30.333-12.667h-298.667q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5h195.667l-268.333 268.333q-12.333 12.333-12.333 30.333 0 18.333 12.167 30.5t30.5 12.167zM597.667 213.333h298.667q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-195.667l268-268.333q12.667-12.667 12.667-30.333t-12.5-30.167-30.167-12.5q-18 0-30.333 12.333l-268.333 268.333v-195.667q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v298.667q0 17.667 12.667 30.333t30.333 12.667z" />
<glyph unicode="&#xe114;" glyph-name="plus" d="M512 682.667q17.667 0 30.167-12.5t12.5-30.167v-341.333h341.333q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-341.333v-341.333q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v341.333h-341.333q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5h341.333v341.333q0 17.667 12.5 30.167t30.167 12.5z" />
<glyph unicode="&#xe115;" glyph-name="minus" d="M128 298.667h768q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-768q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5z" />
<glyph unicode="&#xe116;" glyph-name="check" d="M896 554.667q18.333 0 30.5-12.167t12.167-30.5q0-18-12.333-30.333l-512-512q-12.333-12.333-30.333-12.333t-30.333 12.333l-256 256q-12.333 12.333-12.333 30.333 0 18.333 12.167 30.5t30.5 12.167q18 0 30.333-12.333l225.667-226 481.667 482q12.333 12.333 30.333 12.333z" />
<glyph unicode="&#xe117;" glyph-name="cross" d="M810.667 597.333q18.333 0 30.5-12.167t12.167-30.5q0-18-12.333-30.333l-268.667-268.333 268.667-268.333q12.333-12.333 12.333-30.333 0-18.333-12.167-30.5t-30.5-12.167q-18 0-30.333 12.333l-268.333 268.667-268.333-268.667q-12.333-12.333-30.333-12.333-18.333 0-30.5 12.167t-12.167 30.5q0 18 12.333 30.333l268.667 268.333-268.667 268.333q-12.333 12.333-12.333 30.333 0 18.333 12.167 30.5t30.5 12.167q18 0 30.333-12.333l268.333-268.667 268.333 268.667q12.333 12.333 30.333 12.333z" />
<glyph unicode="&#xe118;" glyph-name="move" d="M512 768q18 0 30.333-12.333l150.667-151q12.667-12.667 12.667-30.333t-12.5-30.167-30.167-12.5-30.333 12.667l-78 78v-323.667h323.667l-78 78q-12.667 12.667-12.667 30.333t12.5 30.167 30.167 12.5 30.333-12.667l151-150.667q12.333-12.333 12.333-30.333t-12.333-30l-151-151q-12.667-12.667-30.333-12.667t-30.167 12.5-12.5 30.167 12.667 30.333l78 78h-323.667v-323.667l78 78q12.667 12.667 30.333 12.667t30.167-12.5 12.5-30.167-12.667-30.333l-150.667-151q-12.333-12.333-30.333-12.333-17.667 0-30 12.333l-151 151q-12.667 12.667-12.667 30.333t12.5 30.167 30.167 12.5 30.333-12.667l78-78v323.667h-323.667l78-78q12.667-12.667 12.667-30.333t-12.5-30.167-30.167-12.5-30.333 12.667l-151 150.667q-12.333 12.333-12.333 30.333t12.333 30.333l151 150.667q12.667 12.667 30.333 12.667t30.167-12.5 12.5-30.167-12.667-30.333l-78-78h323.667v323.667l-78-78q-12.667-12.667-30.333-12.667t-30.167 12.5-12.5 30.167 12.667 30.333l150.667 151q12.333 12.333 30.333 12.333z" />
<glyph unicode="&#xe119;" glyph-name="delete" d="M341.333 640h554.667q53 0 90.5-37.5t37.5-90.5v-512q0-53-37.5-90.5t-90.5-37.5h-554.667l-341.333 384zM896 554.667h-516.333l-265.333-298.667 265.333-298.667h516.333q17.667 0 30.167 12.5t12.5 30.167v512q0 17.667-12.5 30.167t-30.167 12.5zM810.667 384q0-18-12.333-30.333l-98-97.667 98-97.667q12.333-12.333 12.333-30.333 0-18.333-12.167-30.5t-30.5-12.167q-18 0-30.333 12.333l-97.667 98-97.667-98q-12.333-12.333-30.333-12.333-17.667 0-30.167 12.5t-12.5 30.167q0 17.333 12.333 30.333l98 97.667-98 97.667q-12.333 13-12.333 30.333 0 17.667 12.5 30.167t30.167 12.5q18 0 30.333-12.333l97.667-98 97.667 98q12.333 12.333 30.333 12.333 18.333 0 30.5-12.167t12.167-30.5z" />
<glyph unicode="&#xe120;" glyph-name="menu" d="M128 554.667h768q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-768q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5zM128 42.667h768q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-768q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5zM128 298.667h768q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-768q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5z" />
<glyph unicode="&#xe121;" glyph-name="archive" d="M256 640h512l256-256v-384q0-53-37.5-90.5t-90.5-37.5h-768q-53 0-90.5 37.5t-37.5 90.5v384zM938.667 0v298.667h-187.333q-28.333-74-94.5-122.333t-144.833-48.333q-52.333 0-101.667 22.333t-86 61.167-55 87.167h-184v-298.667q0-17.333 12.333-30t30.333-12.667h768q17.667 0 30.167 12.5t12.5 30.167zM903.333 384l-169 170.667h-443l-170.667-170.667h220.667q0-42.333 22.667-81.667t62.5-64.167 85.5-24.833 85.5 24.833 62.5 64.167 22.667 81.667h220.667z" />
<glyph unicode="&#xe122;" glyph-name="inbox" d="M512 725.333q17.667 0 30.167-12.5t12.5-30.167v-494.333l140.333 140.667q12.333 12.333 30.333 12.333 18.333 0 30.5-12.167t12.167-30.5q0-18-12.333-30.333l-213.333-213.333q-12.333-12.333-30.333-12.333t-30.333 12.333l-213.333 213.333q-12.333 13-12.333 30.333 0 17.667 12.5 30.167t30.167 12.5q18 0 30.333-12.333l140.333-140.667v494.333q0 17.667 12.5 30.167t30.167 12.5zM938.667 128q17.667 0 30.167-12.5t12.5-30.167v-170.667q0-53.333-37-90.333-37.667-37.667-90-37.667h-683.667q-52.333 0-90.667 37.333-37.333 38.333-37.333 90.667v170.667q0 17.667 12.5 30.167t30.167 12.5 30.167-12.5 12.5-30.167v-170.667q0-17.667 12.5-30.167t30.167-12.5h683.667q17.333 0 29.5 12.5t12.167 30.167v170.667q0 17.667 12.5 30.167t30.167 12.5z" />
<glyph unicode="&#xe123;" glyph-name="outbox" d="M512 723.333q18 0 30.333-12.333l213.333-213.333q12.333-12.333 12.333-30.333 0-18.333-12.167-30.5t-30.5-12.167q-18 0-30.333 12.333l-140.333 140.667v-494.333q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v494.333l-140.333-140.667q-13-12.333-30.333-12.333-17.667 0-30.167 12.5t-12.5 30.167q0 17.333 12.333 30.333l213.333 213.333q12.333 12.333 30.333 12.333zM938.667 126q17.667 0 30.167-12.5t12.5-30.167v-170.667q0-53.333-37-90.333-37.667-37.667-90-37.667h-683.667q-52.333 0-90.667 37.333-37.333 38.333-37.333 90.667v170.667q0 17.667 12.5 30.167t30.167 12.5 30.167-12.5 12.5-30.167v-170.667q0-17.667 12.5-30.167t30.167-12.5h683.667q17.333 0 29.5 12.5t12.167 30.167v170.667q0 17.667 12.5 30.167t30.167 12.5z" />
<glyph unicode="&#xe124;" glyph-name="file" d="M213.333 768h426.667l298.667-298.667v-597.333q0-53-37.5-90.5t-90.5-37.5h-597.333q-53 0-90.5 37.5t-37.5 90.5v768q0 53 37.5 90.5t90.5 37.5zM554.667 384v298.667h-341.333q-18 0-30.333-12.333t-12.333-30.333v-768q0-18 12.333-30.333t30.333-12.333h597.333q18 0 30.333 12.333t12.333 30.333v512h-298.667zM818 469.333l-178 178v-178h178z" />
<glyph unicode="&#xe125;" glyph-name="file-add" d="M213.333 768h426.667l298.667-298.667v-597.333q0-53-37.5-90.5t-90.5-37.5h-597.333q-53 0-90.5 37.5t-37.5 90.5v768q0 53 37.5 90.5t90.5 37.5zM512 298.667q17.667 0 30.167-12.5t12.5-30.167v-85.333h85.333q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-85.333v-85.333q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v85.333h-85.333q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5h85.333v85.333q0 17.667 12.5 30.167t30.167 12.5zM554.667 384v298.667h-341.333q-18 0-30.333-12.333t-12.333-30.333v-768q0-18 12.333-30.333t30.333-12.333h597.333q18 0 30.333 12.333t12.333 30.333v512h-298.667zM818 469.333l-178 178v-178h178z" />
<glyph unicode="&#xe126;" glyph-name="file-subtract" d="M213.333 768h426.667l298.667-298.667v-597.333q0-53-37.5-90.5t-90.5-37.5h-597.333q-53 0-90.5 37.5t-37.5 90.5v768q0 53 37.5 90.5t90.5 37.5zM384 170.667h256q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-256q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5zM554.667 384v298.667h-341.333q-18 0-30.333-12.333t-12.333-30.333v-768q0-18 12.333-30.333t30.333-12.333h597.333q18 0 30.333 12.333t12.333 30.333v512h-298.667zM818 469.333l-178 178v-178h178z" />
<glyph unicode="&#xe127;" glyph-name="help" d="M512 725.333q92 0 178.333-35t153.667-102.333 102.333-153.667 35-178.333-35-178.333-102.333-153.667-153.667-102.333-178.333-35-178.333 35-153.667 102.333-102.333 153.667-35 178.333 35 178.333 102.333 153.667 153.667 102.333 178.333 35zM334 373.667l-122 122q-41.333-51.667-62.667-113.333t-21.333-126.333 21.333-126.333 62.667-113.333l122 122q-35.333 53.333-35.333 117.667t35.333 117.667zM751.667-44l-122 122q-53.333-35.333-117.667-35.333t-117.667 35.333l-122-122q51.667-41.333 113.333-62.667t126.333-21.333 126.333 21.333 113.333 62.667zM512 384q-53 0-90.5-37.5t-37.5-90.5 37.5-90.5 90.5-37.5 90.5 37.5 37.5 90.5-37.5 90.5-90.5 37.5zM512 640q-64.667 0-126.333-21.333t-113.333-62.667l122-122q53.333 35.333 117.667 35.333t117.667-35.333l122 122q-51.667 41.333-113.333 62.667t-126.333 21.333zM812 495.667l-122-122q35.333-53.333 35.333-117.667t-35.333-117.667l122-122q41.333 51.667 62.667 113.333t21.333 126.333-21.333 126.333-62.667 113.333z" />
<glyph unicode="&#xe128;" glyph-name="open" d="M170.667 725.333h298.667q17.667 0 30.167-12.5t12.5-30.167-12.5-30.167-30.167-12.5h-298.667q-17.667 0-30.167-12.5t-12.5-30.167v-682.667q0-17.667 12.5-30.167t30.167-12.5h682.667q17.667 0 30.167 12.5t12.5 30.167v298.667q0 17.667 12.5 30.167t30.167 12.5 30.167-12.5 12.5-30.167v-298.667q0-53-37.5-90.5t-90.5-37.5h-682.667q-53 0-90.5 37.5t-37.5 90.5v682.667q0 53 37.5 90.5t90.5 37.5zM682.667 725.333h256q17.667 0 30.167-12.5t12.5-30.167v-256q0-17.667-12.5-30.167t-30.167-12.5-30.167 12.5-12.5 30.167v153l-354-354q-12.333-12.333-30-12.333-18.333 0-30.5 12.167t-12.167 30.5q0 17.667 12.333 30l354 354h-153q-17.667 0-30.167 12.5t-12.5 30.167 12.5 30.167 30.167 12.5z" />
<glyph unicode="&#xe129;" glyph-name="ellipsis" d="M853.333 384q53 0 90.5-37.5t37.5-90.5-37.5-90.5-90.5-37.5-90.5 37.5-37.5 90.5 37.5 90.5 90.5 37.5zM170.667 384q53 0 90.5-37.5t37.5-90.5-37.5-90.5-90.5-37.5-90.5 37.5-37.5 90.5 37.5 90.5 90.5 37.5zM170.667 298.667q-17.667 0-30.167-12.5t-12.5-30.167 12.5-30.167 30.167-12.5 30.167 12.5 12.5 30.167-12.5 30.167-30.167 12.5zM512 384q53 0 90.5-37.5t37.5-90.5-37.5-90.5-90.5-37.5-90.5 37.5-37.5 90.5 37.5 90.5 90.5 37.5zM512 298.667q-17.667 0-30.167-12.5t-12.5-30.167 12.5-30.167 30.167-12.5 30.167 12.5 12.5 30.167-12.5 30.167-30.167 12.5zM853.333 298.667q-17.667 0-30.167-12.5t-12.5-30.167 12.5-30.167 30.167-12.5 30.167 12.5 12.5 30.167-12.5 30.167-30.167 12.5z" />
</font></defs></svg>
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
@font-face {
font-family: 'heyuiadmin';
src: url('fonts/heyuiadmin.eot?minjmi');
src: url('fonts/heyuiadmin.eot?minjmi#iefix') format('embedded-opentype'),
url('fonts/heyuiadmin.ttf?minjmi') format('truetype'),
url('fonts/heyuiadmin.woff?minjmi') format('woff'),
url('fonts/heyuiadmin.svg?minjmi#heyuiadmin') format('svg');
font-weight: normal;
font-style: normal;
}
[class^="icon-"], [class*=" icon-"] {
/* use !important to prevent issues with browser extensions that change fonts */
font-family: 'heyuiadmin' !important;
speak: none;
font-style: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
line-height: 1;
/* Better Font Rendering =========== */
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-eye:before {
content: "\e000";
}
.icon-paper-clip:before {
content: "\e001";
}
.icon-mail:before {
content: "\e002";
}
.icon-toggle:before {
content: "\e003";
}
.icon-layout:before {
content: "\e004";
}
.icon-link:before {
content: "\e005";
}
.icon-bell:before {
content: "\e006";
}
.icon-lock:before {
content: "\e007";
}
.icon-unlock:before {
content: "\e008";
}
.icon-ribbon:before {
content: "\e009";
}
.icon-image:before {
content: "\e010";
}
.icon-signal:before {
content: "\e011";
}
.icon-target:before {
content: "\e012";
}
.icon-clipboard:before {
content: "\e013";
}
.icon-clock:before {
content: "\e014";
}
.icon-watch:before {
content: "\e015";
}
.icon-air-play:before {
content: "\e016";
}
.icon-camera:before {
content: "\e017";
}
.icon-video:before {
content: "\e018";
}
.icon-disc:before {
content: "\e019";
}
.icon-printer:before {
content: "\e020";
}
.icon-monitor:before {
content: "\e021";
}
.icon-server:before {
content: "\e022";
}
.icon-cog:before {
content: "\e023";
}
.icon-heart:before {
content: "\e024";
}
.icon-paragraph:before {
content: "\e025";
}
.icon-align-justify:before {
content: "\e026";
}
.icon-align-left:before {
content: "\e027";
}
.icon-align-center:before {
content: "\e028";
}
.icon-align-right:before {
content: "\e029";
}
.icon-book:before {
content: "\e030";
}
.icon-layers:before {
content: "\e031";
}
.icon-stack:before {
content: "\e032";
}
.icon-stack-2:before {
content: "\e033";
}
.icon-paper:before {
content: "\e034";
}
.icon-paper-stack:before {
content: "\e035";
}
.icon-search:before {
content: "\e036";
}
.icon-zoom-in:before {
content: "\e037";
}
.icon-zoom-out:before {
content: "\e038";
}
.icon-reply:before {
content: "\e039";
}
.icon-circle-plus:before {
content: "\e040";
}
.icon-circle-minus:before {
content: "\e041";
}
.icon-circle-check:before {
content: "\e042";
}
.icon-circle-cross:before {
content: "\e043";
}
.icon-square-plus:before {
content: "\e044";
}
.icon-square-minus:before {
content: "\e045";
}
.icon-square-check:before {
content: "\e046";
}
.icon-square-cross:before {
content: "\e047";
}
.icon-microphone:before {
content: "\e048";
}
.icon-record:before {
content: "\e049";
}
.icon-skip-back:before {
content: "\e050";
}
.icon-rewind:before {
content: "\e051";
}
.icon-play:before {
content: "\e052";
}
.icon-pause:before {
content: "\e053";
}
.icon-stop:before {
content: "\e054";
}
.icon-fast-forward:before {
content: "\e055";
}
.icon-skip-forward:before {
content: "\e056";
}
.icon-shuffle:before {
content: "\e057";
}
.icon-repeat:before {
content: "\e058";
}
.icon-folder:before {
content: "\e059";
}
.icon-umbrella:before {
content: "\e060";
}
.icon-moon:before {
content: "\e061";
}
.icon-thermometer:before {
content: "\e062";
}
.icon-drop:before {
content: "\e063";
}
.icon-sun:before {
content: "\e064";
}
.icon-cloud:before {
content: "\e065";
}
.icon-cloud-upload:before {
content: "\e066";
}
.icon-cloud-download:before {
content: "\e067";
}
.icon-upload:before {
content: "\e068";
}
.icon-download:before {
content: "\e069";
}
.icon-location:before {
content: "\e070";
}
.icon-location-2:before {
content: "\e071";
}
.icon-map:before {
content: "\e072";
}
.icon-battery:before {
content: "\e073";
}
.icon-head:before {
content: "\e074";
}
.icon-briefcase:before {
content: "\e075";
}
.icon-speech-bubble:before {
content: "\e076";
}
.icon-anchor:before {
content: "\e077";
}
.icon-globe:before {
content: "\e078";
}
.icon-box:before {
content: "\e079";
}
.icon-reload:before {
content: "\e080";
}
.icon-share:before {
content: "\e081";
}
.icon-marquee:before {
content: "\e082";
}
.icon-marquee-plus:before {
content: "\e083";
}
.icon-marquee-minus:before {
content: "\e084";
}
.icon-tag:before {
content: "\e085";
}
.icon-power:before {
content: "\e086";
}
.icon-command:before {
content: "\e087";
}
.icon-alt:before {
content: "\e088";
}
.icon-esc:before {
content: "\e089";
}
.icon-bar-graph:before {
content: "\e090";
}
.icon-bar-graph-2:before {
content: "\e091";
}
.icon-pie-graph:before {
content: "\e092";
}
.icon-star:before {
content: "\e093";
}
.icon-arrow-left:before {
content: "\e094";
}
.icon-arrow-right:before {
content: "\e095";
}
.icon-arrow-up:before {
content: "\e096";
}
.icon-arrow-down:before {
content: "\e097";
}
.icon-volume:before {
content: "\e098";
}
.icon-mute:before {
content: "\e099";
}
.icon-content-right:before {
content: "\e100";
}
.icon-content-left:before {
content: "\e101";
}
.icon-grid:before {
content: "\e102";
}
.icon-grid-2:before {
content: "\e103";
}
.icon-columns:before {
content: "\e104";
}
.icon-loader:before {
content: "\e105";
}
.icon-bag:before {
content: "\e106";
}
.icon-ban:before {
content: "\e107";
}
.icon-flag:before {
content: "\e108";
}
.icon-trash:before {
content: "\e109";
}
.icon-expand:before {
content: "\e110";
}
.icon-contract:before {
content: "\e111";
}
.icon-maximize:before {
content: "\e112";
}
.icon-minimize:before {
content: "\e113";
}
.icon-plus:before {
content: "\e114";
}
.icon-minus:before {
content: "\e115";
}
.icon-check:before {
content: "\e116";
}
.icon-cross:before {
content: "\e117";
}
.icon-move:before {
content: "\e118";
}
.icon-delete:before {
content: "\e119";
}
.icon-menu:before {
content: "\e120";
}
.icon-archive:before {
content: "\e121";
}
.icon-inbox:before {
content: "\e122";
}
.icon-outbox:before {
content: "\e123";
}
.icon-file:before {
content: "\e124";
}
.icon-file-add:before {
content: "\e125";
}
.icon-file-subtract:before {
content: "\e126";
}
.icon-help:before {
content: "\e127";
}
.icon-open:before {
content: "\e128";
}
.icon-ellipsis:before {
content: "\e129";
}
@import "variables";
@font-face {
font-family: '@{icomoon-font-family}';
src: url('@{icomoon-font-path}/@{icomoon-font-family}.eot?minjmi');
src: url('@{icomoon-font-path}/@{icomoon-font-family}.eot?minjmi#iefix') format('embedded-opentype'),
url('@{icomoon-font-path}/@{icomoon-font-family}.ttf?minjmi') format('truetype'),
url('@{icomoon-font-path}/@{icomoon-font-family}.woff?minjmi') format('woff'),
url('@{icomoon-font-path}/@{icomoon-font-family}.svg?minjmi#@{icomoon-font-family}') format('svg');
font-weight: normal;
font-style: normal;
}
[class^="icon-"], [class*=" icon-"] {
/* use !important to prevent issues with browser extensions that change fonts */
font-family: '@{icomoon-font-family}' !important;
speak: none;
font-style: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
line-height: 1;
/* Better Font Rendering =========== */
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-eye {
&:before {
content: @icon-eye;
}
}
.icon-paper-clip {
&:before {
content: @icon-paper-clip;
}
}
.icon-mail {
&:before {
content: @icon-mail;
}
}
.icon-toggle {
&:before {
content: @icon-toggle;
}
}
.icon-layout {
&:before {
content: @icon-layout;
}
}
.icon-link {
&:before {
content: @icon-link;
}
}
.icon-bell {
&:before {
content: @icon-bell;
}
}
.icon-lock {
&:before {
content: @icon-lock;
}
}
.icon-unlock {
&:before {
content: @icon-unlock;
}
}
.icon-ribbon {
&:before {
content: @icon-ribbon;
}
}
.icon-image {
&:before {
content: @icon-image;
}
}
.icon-signal {
&:before {
content: @icon-signal;
}
}
.icon-target {
&:before {
content: @icon-target;
}
}
.icon-clipboard {
&:before {
content: @icon-clipboard;
}
}
.icon-clock {
&:before {
content: @icon-clock;
}
}
.icon-watch {
&:before {
content: @icon-watch;
}
}
.icon-air-play {
&:before {
content: @icon-air-play;
}
}
.icon-camera {
&:before {
content: @icon-camera;
}
}
.icon-video {
&:before {
content: @icon-video;
}
}
.icon-disc {
&:before {
content: @icon-disc;
}
}
.icon-printer {
&:before {
content: @icon-printer;
}
}
.icon-monitor {
&:before {
content: @icon-monitor;
}
}
.icon-server {
&:before {
content: @icon-server;
}
}
.icon-cog {
&:before {
content: @icon-cog;
}
}
.icon-heart {
&:before {
content: @icon-heart;
}
}
.icon-paragraph {
&:before {
content: @icon-paragraph;
}
}
.icon-align-justify {
&:before {
content: @icon-align-justify;
}
}
.icon-align-left {
&:before {
content: @icon-align-left;
}
}
.icon-align-center {
&:before {
content: @icon-align-center;
}
}
.icon-align-right {
&:before {
content: @icon-align-right;
}
}
.icon-book {
&:before {
content: @icon-book;
}
}
.icon-layers {
&:before {
content: @icon-layers;
}
}
.icon-stack {
&:before {
content: @icon-stack;
}
}
.icon-stack-2 {
&:before {
content: @icon-stack-2;
}
}
.icon-paper {
&:before {
content: @icon-paper;
}
}
.icon-paper-stack {
&:before {
content: @icon-paper-stack;
}
}
.icon-search {
&:before {
content: @icon-search;
}
}
.icon-zoom-in {
&:before {
content: @icon-zoom-in;
}
}
.icon-zoom-out {
&:before {
content: @icon-zoom-out;
}
}
.icon-reply {
&:before {
content: @icon-reply;
}
}
.icon-circle-plus {
&:before {
content: @icon-circle-plus;
}
}
.icon-circle-minus {
&:before {
content: @icon-circle-minus;
}
}
.icon-circle-check {
&:before {
content: @icon-circle-check;
}
}
.icon-circle-cross {
&:before {
content: @icon-circle-cross;
}
}
.icon-square-plus {
&:before {
content: @icon-square-plus;
}
}
.icon-square-minus {
&:before {
content: @icon-square-minus;
}
}
.icon-square-check {
&:before {
content: @icon-square-check;
}
}
.icon-square-cross {
&:before {
content: @icon-square-cross;
}
}
.icon-microphone {
&:before {
content: @icon-microphone;
}
}
.icon-record {
&:before {
content: @icon-record;
}
}
.icon-skip-back {
&:before {
content: @icon-skip-back;
}
}
.icon-rewind {
&:before {
content: @icon-rewind;
}
}
.icon-play {
&:before {
content: @icon-play;
}
}
.icon-pause {
&:before {
content: @icon-pause;
}
}
.icon-stop {
&:before {
content: @icon-stop;
}
}
.icon-fast-forward {
&:before {
content: @icon-fast-forward;
}
}
.icon-skip-forward {
&:before {
content: @icon-skip-forward;
}
}
.icon-shuffle {
&:before {
content: @icon-shuffle;
}
}
.icon-repeat {
&:before {
content: @icon-repeat;
}
}
.icon-folder {
&:before {
content: @icon-folder;
}
}
.icon-umbrella {
&:before {
content: @icon-umbrella;
}
}
.icon-moon {
&:before {
content: @icon-moon;
}
}
.icon-thermometer {
&:before {
content: @icon-thermometer;
}
}
.icon-drop {
&:before {
content: @icon-drop;
}
}
.icon-sun {
&:before {
content: @icon-sun;
}
}
.icon-cloud {
&:before {
content: @icon-cloud;
}
}
.icon-cloud-upload {
&:before {
content: @icon-cloud-upload;
}
}
.icon-cloud-download {
&:before {
content: @icon-cloud-download;
}
}
.icon-upload {
&:before {
content: @icon-upload;
}
}
.icon-download {
&:before {
content: @icon-download;
}
}
.icon-location {
&:before {
content: @icon-location;
}
}
.icon-location-2 {
&:before {
content: @icon-location-2;
}
}
.icon-map {
&:before {
content: @icon-map;
}
}
.icon-battery {
&:before {
content: @icon-battery;
}
}
.icon-head {
&:before {
content: @icon-head;
}
}
.icon-briefcase {
&:before {
content: @icon-briefcase;
}
}
.icon-speech-bubble {
&:before {
content: @icon-speech-bubble;
}
}
.icon-anchor {
&:before {
content: @icon-anchor;
}
}
.icon-globe {
&:before {
content: @icon-globe;
}
}
.icon-box {
&:before {
content: @icon-box;
}
}
.icon-reload {
&:before {
content: @icon-reload;
}
}
.icon-share {
&:before {
content: @icon-share;
}
}
.icon-marquee {
&:before {
content: @icon-marquee;
}
}
.icon-marquee-plus {
&:before {
content: @icon-marquee-plus;
}
}
.icon-marquee-minus {
&:before {
content: @icon-marquee-minus;
}
}
.icon-tag {
&:before {
content: @icon-tag;
}
}
.icon-power {
&:before {
content: @icon-power;
}
}
.icon-command {
&:before {
content: @icon-command;
}
}
.icon-alt {
&:before {
content: @icon-alt;
}
}
.icon-esc {
&:before {
content: @icon-esc;
}
}
.icon-bar-graph {
&:before {
content: @icon-bar-graph;
}
}
.icon-bar-graph-2 {
&:before {
content: @icon-bar-graph-2;
}
}
.icon-pie-graph {
&:before {
content: @icon-pie-graph;
}
}
.icon-star {
&:before {
content: @icon-star;
}
}
.icon-arrow-left {
&:before {
content: @icon-arrow-left;
}
}
.icon-arrow-right {
&:before {
content: @icon-arrow-right;
}
}
.icon-arrow-up {
&:before {
content: @icon-arrow-up;
}
}
.icon-arrow-down {
&:before {
content: @icon-arrow-down;
}
}
.icon-volume {
&:before {
content: @icon-volume;
}
}
.icon-mute {
&:before {
content: @icon-mute;
}
}
.icon-content-right {
&:before {
content: @icon-content-right;
}
}
.icon-content-left {
&:before {
content: @icon-content-left;
}
}
.icon-grid {
&:before {
content: @icon-grid;
}
}
.icon-grid-2 {
&:before {
content: @icon-grid-2;
}
}
.icon-columns {
&:before {
content: @icon-columns;
}
}
.icon-loader {
&:before {
content: @icon-loader;
}
}
.icon-bag {
&:before {
content: @icon-bag;
}
}
.icon-ban {
&:before {
content: @icon-ban;
}
}
.icon-flag {
&:before {
content: @icon-flag;
}
}
.icon-trash {
&:before {
content: @icon-trash;
}
}
.icon-expand {
&:before {
content: @icon-expand;
}
}
.icon-contract {
&:before {
content: @icon-contract;
}
}
.icon-maximize {
&:before {
content: @icon-maximize;
}
}
.icon-minimize {
&:before {
content: @icon-minimize;
}
}
.icon-plus {
&:before {
content: @icon-plus;
}
}
.icon-minus {
&:before {
content: @icon-minus;
}
}
.icon-check {
&:before {
content: @icon-check;
}
}
.icon-cross {
&:before {
content: @icon-cross;
}
}
.icon-move {
&:before {
content: @icon-move;
}
}
.icon-delete {
&:before {
content: @icon-delete;
}
}
.icon-menu {
&:before {
content: @icon-menu;
}
}
.icon-archive {
&:before {
content: @icon-archive;
}
}
.icon-inbox {
&:before {
content: @icon-inbox;
}
}
.icon-outbox {
&:before {
content: @icon-outbox;
}
}
.icon-file {
&:before {
content: @icon-file;
}
}
.icon-file-add {
&:before {
content: @icon-file-add;
}
}
.icon-file-subtract {
&:before {
content: @icon-file-subtract;
}
}
.icon-help {
&:before {
content: @icon-help;
}
}
.icon-open {
&:before {
content: @icon-open;
}
}
.icon-ellipsis {
&:before {
content: @icon-ellipsis;
}
}
@icomoon-font-family: "heyuiadmin";
@icomoon-font-path: "fonts";
@icon-eye: "\e000";
@icon-paper-clip: "\e001";
@icon-mail: "\e002";
@icon-toggle: "\e003";
@icon-layout: "\e004";
@icon-link: "\e005";
@icon-bell: "\e006";
@icon-lock: "\e007";
@icon-unlock: "\e008";
@icon-ribbon: "\e009";
@icon-image: "\e010";
@icon-signal: "\e011";
@icon-target: "\e012";
@icon-clipboard: "\e013";
@icon-clock: "\e014";
@icon-watch: "\e015";
@icon-air-play: "\e016";
@icon-camera: "\e017";
@icon-video: "\e018";
@icon-disc: "\e019";
@icon-printer: "\e020";
@icon-monitor: "\e021";
@icon-server: "\e022";
@icon-cog: "\e023";
@icon-heart: "\e024";
@icon-paragraph: "\e025";
@icon-align-justify: "\e026";
@icon-align-left: "\e027";
@icon-align-center: "\e028";
@icon-align-right: "\e029";
@icon-book: "\e030";
@icon-layers: "\e031";
@icon-stack: "\e032";
@icon-stack-2: "\e033";
@icon-paper: "\e034";
@icon-paper-stack: "\e035";
@icon-search: "\e036";
@icon-zoom-in: "\e037";
@icon-zoom-out: "\e038";
@icon-reply: "\e039";
@icon-circle-plus: "\e040";
@icon-circle-minus: "\e041";
@icon-circle-check: "\e042";
@icon-circle-cross: "\e043";
@icon-square-plus: "\e044";
@icon-square-minus: "\e045";
@icon-square-check: "\e046";
@icon-square-cross: "\e047";
@icon-microphone: "\e048";
@icon-record: "\e049";
@icon-skip-back: "\e050";
@icon-rewind: "\e051";
@icon-play: "\e052";
@icon-pause: "\e053";
@icon-stop: "\e054";
@icon-fast-forward: "\e055";
@icon-skip-forward: "\e056";
@icon-shuffle: "\e057";
@icon-repeat: "\e058";
@icon-folder: "\e059";
@icon-umbrella: "\e060";
@icon-moon: "\e061";
@icon-thermometer: "\e062";
@icon-drop: "\e063";
@icon-sun: "\e064";
@icon-cloud: "\e065";
@icon-cloud-upload: "\e066";
@icon-cloud-download: "\e067";
@icon-upload: "\e068";
@icon-download: "\e069";
@icon-location: "\e070";
@icon-location-2: "\e071";
@icon-map: "\e072";
@icon-battery: "\e073";
@icon-head: "\e074";
@icon-briefcase: "\e075";
@icon-speech-bubble: "\e076";
@icon-anchor: "\e077";
@icon-globe: "\e078";
@icon-box: "\e079";
@icon-reload: "\e080";
@icon-share: "\e081";
@icon-marquee: "\e082";
@icon-marquee-plus: "\e083";
@icon-marquee-minus: "\e084";
@icon-tag: "\e085";
@icon-power: "\e086";
@icon-command: "\e087";
@icon-alt: "\e088";
@icon-esc: "\e089";
@icon-bar-graph: "\e090";
@icon-bar-graph-2: "\e091";
@icon-pie-graph: "\e092";
@icon-star: "\e093";
@icon-arrow-left: "\e094";
@icon-arrow-right: "\e095";
@icon-arrow-up: "\e096";
@icon-arrow-down: "\e097";
@icon-volume: "\e098";
@icon-mute: "\e099";
@icon-content-right: "\e100";
@icon-content-left: "\e101";
@icon-grid: "\e102";
@icon-grid-2: "\e103";
@icon-columns: "\e104";
@icon-loader: "\e105";
@icon-bag: "\e106";
@icon-ban: "\e107";
@icon-flag: "\e108";
@icon-trash: "\e109";
@icon-expand: "\e110";
@icon-contract: "\e111";
@icon-maximize: "\e112";
@icon-minimize: "\e113";
@icon-plus: "\e114";
@icon-minus: "\e115";
@icon-check: "\e116";
@icon-cross: "\e117";
@icon-move: "\e118";
@icon-delete: "\e119";
@icon-menu: "\e120";
@icon-archive: "\e121";
@icon-inbox: "\e122";
@icon-outbox: "\e123";
@icon-file: "\e124";
@icon-file-add: "\e125";
@icon-file-subtract: "\e126";
@icon-help: "\e127";
@icon-open: "\e128";
@icon-ellipsis: "\e129";
@frame-box-shadow: rgba(0,21,41,.08);
#app{
.app-frame {
min-height: 100vh;
}
.h-layout-sider{
z-index: 2;
box-shadow: 0 1px 4px @frame-box-shadow;
}
.h-layout-header{
overflow: hidden;
box-shadow: 0px 1px 4px 0 @frame-box-shadow;
}
.h-layout-sider-collapsed {
.app-logo{
padding-left: 5px;
}
.h-layout-header-fixed {
.sys-tabs-vue {
left: @layout-sider-collapse-width;
}
}
}
.h-layout-header-fixed {
.sys-tabs-vue {
position: fixed;
top: @layout-header-height;
right: 0;
z-index: 2;
left: @layout-sider-width;
}
.sys-tabs-vue + .h-layout-content {
margin-top: 45px;
}
}
.h-layout-sider-fixed .h-layout-header-fixed {
.h-layout-content {
overflow: auto;
height: calc(~"100vh - @{layout-header-height}");
}
.sys-tabs-vue + .h-layout-content {
height: calc(~"100vh - @{layout-header-height} - @{sys-tabs-height}");
}
}
.h-layout-sider-theme-dark .app-logo a{
color: #FFF;
}
}
@media (max-width: 900px) {
#app {
.app-header-info {
.h-autocomplete, .app-header-icon-item {
display: none;
}
}
.h-layout {
padding-left: 0;
.app-menu-mask {
position: fixed;
left: @layout-sider-width;
right: 0;
top: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.2);
z-index: 1;
}
&.h-layout-sider-collapsed {
> .h-layout-sider {
transform: translateX(-@layout-sider-collapse-width);
overflow: hidden;
}
.app-menu-mask {
display: none;
}
}
}
.h-layout-content {
-webkit-overflow-scrolling: touch;
}
.h-layout-header-fixed .h-layout-header {
left: 0 !important;
}
.sys-tabs-vue {
left: 0 !important;
}
}
}
\ No newline at end of file
.markdown-info-show {
li {
list-style: disc;
}
h1,
h2,
h3,
h4 {
color: #111111;
font-weight: 400;
margin-top: 1em;
}
h1,
h2,
h3,
h4,
h5,
p,
dl {
margin-bottom: 16px;
padding: 0;
}
h1 {
font-size: 38px;
line-height: 54px;
}
h2 {
font-size: 30px;
line-height: 42px;
}
h1,
h2 {
border-bottom: 1px solid #EFEAEA;
padding-bottom: 10px;
}
h3 {
font-size: 24px;
line-height: 30px;
}
h4 {
font-size: 21px;
line-height: 26px;
}
h5 {
font-size: 18px;
list-style: 23px;
}
a {
color: #0099ff;
margin: 0;
padding: 0;
vertical-align: baseline;
}
a:hover {
text-decoration: none;
color: #ff6600;
}
a:visited {
/*color: purple;*/
}
ul,
ol {
padding: 0;
padding-left: 24px;
margin: 0;
}
li {
line-height: 24px;
}
p,
ul,
ol {
font-size: 16px;
line-height: 24px;
}
ol ol,
ul ol {
list-style-type: lower-roman;
}
code,
pre {
border-radius: 3px;
background-color: #f7f7f7;
color: inherit;
}
code {
font-family: Consolas, Monaco, Andale Mono, monospace;
margin: 0 2px;
}
pre {
line-height: 1.7em;
overflow: auto;
padding: 6px 10px;
border-left: 5px solid @primary-color;
}
pre>code {
border: 0;
display: inline;
max-width: initial;
padding: 0;
margin: 0;
overflow: initial;
line-height: inherit;
font-size: .85em;
white-space: pre;
background: 0 0;
}
code {
color: #666555;
}
aside {
display: block;
float: right;
width: 390px;
}
blockquote {
border-left: .5em solid #eee;
padding: 0 0 0 2em;
margin-left: 0;
}
blockquote cite {
font-size: 14px;
line-height: 20px;
color: #bfbfbf;
}
blockquote cite:before {
content: '\2014 \00A0';
}
blockquote p {
color: #666;
}
hr {
text-align: left;
color: #999;
height: 2px;
padding: 0;
margin: 16px 0;
background-color: #e7e7e7;
border: 0 none;
}
dl {
padding: 0;
}
dl dt {
padding: 10px 0;
margin-top: 16px;
font-size: 1em;
font-style: italic;
font-weight: bold;
}
dl dd {
padding: 0 16px;
margin-bottom: 16px;
}
dd {
margin-left: 0;
}
}
\ No newline at end of file
.h-panel {
border: none;
&-title {
color: @dark-color;
}
&-bar {
padding: 15px 25px;
}
&-tabs-bar {
.h-tabs-default > .h-tabs-item {
padding: 16px 15px;
font-size: 18px;
}
}
&-bar-s {
padding-top: 8px;
padding-bottom: 8px;
.h-panel-title {
font-size: 15px;
}
}
&-body {
padding: 25px;
}
}
.h-menu-white .h-menu-li .h-menu-li-selected {
background-color: #f0f6ff;
}
.h-table {
td, th {
padding: 10px 0 10px 16px;
height: 48px;
}
}
\ No newline at end of file
@import (css) "~wangeditor/release/wangEditor.min.css";
.w-e-text-container {
border-radius: 0 0 3px 3px;
border-color: #e4e4e4 !important;
.w-e-panel-container .w-e-panel-tab-content input[type=text] {
height: 30px;
border-radius: 0px;
&:focus {
box-shadow: none;
}
}
}
.w-e-toolbar {
border-radius: 3px 3px 0 0;
border-color: #e4e4e4 !important;
}
\ No newline at end of file
const vars = require('heyui/themes/var.js');
Object.assign(vars, {
'primary-color': '#3788ee',
'link-color': '#3788ee',
'blue-color': '#2d7bf4',
'green-color': '#0acf97',
'yellow-color': '#f9bc0b',
'red-color': '#f1556c',
'hover-background-color': '#f8f8f8',
'input-height': '32px',
'layout-header-height': '60px',
'layout-sider-width': '240px',
'layout-sider-collapse-width': '70px',
'menu-dark-color': '#001529',
'menu-white-background-color': '#ecf8f2',
'sys-tabs-height': '45px'
});
module.exports = vars;
@import (less) "~heyui/themes/var.less";
@primary-color: #3788ee;
@red-color: #f1556c;
@green-color: #0acf97;
@yellow-color: #f9bc0b;
@blue-color: #2d7bf4;
@input-height: 32px;
@layout-sider-width: 240px;
@layout-header-height: 60px;
@menu-dark-color: #001529;
@sys-tabs-height: 45px;
\ No newline at end of file
/* eslint-disable */
import { saveAs } from 'file-saver'
import XLSX from 'xlsx'
......
/* eslint-disable */
import { saveAs } from 'file-saver'
import JSZip from 'jszip'
......
......@@ -210,7 +210,7 @@ export default {
},
};
</script>
<style lang="less" scoped>
<style lang="scss" scoped>
.app-container {
& > div.page-wrapper {
margin: 10px 0px;
......
<template>
<div class="app-container">
<el-form :inline="true" :model="form" size="mini">
<el-form-item><el-button type="warning" @click="onAdd">绑定设备</el-button></el-form-item>
</el-form>
<el-table v-loading="isLoading" element-loading-text="Loading" :data="list" size="mini" border stripe fit highlight-current-row>
<el-table-column prop="name" label="设备名称" align="center" min-width="100"></el-table-column>
<el-table-column prop="imei" label="IMEI" align="center" width="150"></el-table-column>
<el-table-column prop="create_at" label="创建时间" width="150"></el-table-column>
<el-table-column prop="create_by.username" label="创建者" width="150"></el-table-column>
<el-table-column prop="update_at" label="更新时间" width="150" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="update_by.username" label="更新者" width="150"></el-table-column>
<el-table-column label="操作" align="center" width="180" fixed="right">
<template slot-scope="scope">
<el-button size="mini" type="success" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
<el-button size="mini" type="danger" @click="handleDelete(scope.$index, scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
<div class="page-wrapper">
<el-pagination @current-change="handleCurrentChange" :current-page.sync="form.pagenum" background small :page-size="form.pagesize" :pager-count="5" layout="pager, prev, next, total" :total="total"></el-pagination>
</div>
<el-dialog
:title="dialogTitle"
:visible.sync="dialogVisible"
width="45%"
>
<el-form :model="post" status-icon :rules="rules" ref="post" size="mini" label-width="100px">
<el-form-item label="设备名称" prop="name">
<el-input type="text" v-model="post.name" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="IMEI" prop="imei">
<el-input type="text" v-model="post.imei" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="设备描述" prop="desc">
<el-input type="text" v-model="post.desc" autocomplete="off"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" size="mini" plain @click="submitForm('post')">提交</el-button>
<el-button type="success" size="mini" plain @click="onReset('post')">重置</el-button>
<el-button size="mini" @click="dialogVisible = false">关闭</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { getDeviceList, deleteDevice, addDevice, updateDevice } from '@/api/app-store'
import { mapTrim, compareObjectDiff } from '@/utils/index'
export default {
name: "Device",
data() {
return {
total: 0,
list: [],
isLoading: false,
roles: [],
depots: [],
form: {
uuid: null,
name: null,
pagesize: 15,
pagenum: 1
},
dialogTitle: "",
dialogVisible: false,
post: {
imei: null,
name: null,
type: "watch",
desc: null
},
rules: {
imei: [{ type: 'string', required: true, message: 'IMEI不能为空', trigger: 'blur' }],
name: [
{ type: 'string', required: true, message: '用户名不能为空', trigger: 'blur' },
{ min: 1, max: 20, message: '字符串长度在 1 到 20 之间', trigger: 'blur' }
]
}
}
},
methods: {
fetchData(params) {
this.isLoading = true
getDeviceList(Object.assign({
pagenum: this.form.pagenum,
pagesize: this.form.pagesize,
}, params)).then(res => {
if (res.code == 200) {
this.total = res.count
this.list = res.data
}
}).catch(err => {
// this.$message.error(err.message)
console.log(err.message)
}).finally(() => {
this.isLoading = false
})
},
fetchSelectData() {
getDeviceList({ "scope_type": "list" }).then(res => {
this.roles = res.data
}).catch(err => {
// this.$message.error(err.message)
console.log(err.message)
})
},
handleSizeChange(e) {
this.form.pagesize = e
this.fetchData(mapTrim(this.form))
},
handleCurrentChange(e) {
this.form.pagenum = e
this.fetchData(mapTrim(this.form))
},
handleEdit(index, row) {
this.post.name = row.name
this.post.imei = row.imei
this.post.desc = row.desc
this.dialogTitle = "编辑"
this.dialogVisible = true
},
handleDelete(index, row) {
this.$alert('您确定要删除么?删除操作将不可恢复。如需取消操作,请点击右上角关闭按钮。', '删除提醒', {
confirmButtonText: '确定',
callback: action => {
if (action == 'confirm') deleteDevice(row.id).then(res => {
console.log(res)
this.total -= 1
this.$delete(this.list, index)
this.$message({ type: 'success', message: `成功删除第${ index }行` })
this.fetchData(mapTrim(this.form))
}).catch(err => {
this.$message.error(err.message)
})
}
})
},
submitForm(formName) {
this.$refs[formName].validate((valid) => {
let result = true
if (valid) {
if (this.dialogTitle === '添加') addDevice(mapTrim(this.post)).then(res => {
console.log(res)
this.$message({ type: 'success', message: res.message })
this.fetchData(mapTrim(this.form))
}).catch(err => {
this.$message.error(err.message)
})
else if (this.dialogTitle === '编辑') updateDevice(this.currentValue.id, compareObjectDiff(this.post, this.currentValue)).then(res => {
console.log(res)
// this.$set(this.list, this.currentIndex, Object.assign(this.currentValue, tmp))
this.$message({ type: 'success', message: '更新成功' })
this.fetchData(mapTrim(this.form))
}).catch(err => {
this.$message.error(err.message)
})
} else {
result = false
}
this.dialogVisible = false
return result
})
},
onAdd() {
this.dialogTitle = "添加"
this.dialogVisible = true
},
onSubmit() {
this.form.pagenum = 1
this.form.pagesize = 15
this.fetchData(mapTrim(this.form))
},
onReset(formName) {
this.form.name = null
this.form.pagesize = 15
this.form.pagenum = 1
this.$refs[formName].resetFields()
this.fetchData()
}
},
mounted() {
},
created() {
this.fetchData()
this.fetchSelectData()
}
}
</script>
<style lang="scss" scoped>
.app-container {
& > div.page-wrapper {
margin: 10px 0px;
}
}
</style>
<template>
<div class="container">
<iframe src="https://www.yuque.com/dragondjf/ihusbn" height="100%" width="100%" name="demo" scrolling="auto" frameborder="0"></iframe>
</div>
</template>
<script>
export default {
name: "Document",
components: {},
data() {
return {};
},
computed: {},
methods: {},
beforeMount() {},
};
</script>
<style lang="scss" scoped>
.container {
width: 100%;
height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
& > img {
display: block;
}
}
</style>
\ No newline at end of file
......@@ -100,7 +100,7 @@ export default {
}
}
</script>
<style lang="less" scoped>
<style lang="scss" scoped>
.app-container {
& > div.page-wrapper {
margin: 10px 0px;
......
......@@ -226,7 +226,7 @@ export default {
}
}
</script>
<style lang="less" scoped>
<style lang="scss" scoped>
.app-container {
& > div.page-wrapper {
margin: 10px 0px;
......
......@@ -321,7 +321,6 @@ export default {
});
})
.catch((err) => {
// this.$message.error(err.message)
console.log(err.message);
})
.finally(() => {
......@@ -488,7 +487,7 @@ export default {
},
};
</script>
<style lang="less" scoped>
<style lang="scss" scoped>
.app-container {
& > div.page-wrapper {
margin: 10px 0px;
......
<template>
<div>
<el-dialog :visible.sync="isVisible" v-bind="$attrs" v-on="$listeners" @open="onOpen" @close="onClose" :title="title" :width="width">
<formpage ref="formpage"></formpage>
<div slot="footer">
<el-button size="medium" @click="close">取消</el-button>
<el-button size="medium" type="primary" @click="handelConfirm">确定</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import formpage from './form'
export default {
inheritAttrs: false,
components: {formpage},
props: {
visible: {
type: Boolean,
default() {
return false
}
},
title: {
type: String,
default () {
return "dialog"
}
},
width: {
type: String,
required: false,
default() {
return "50%"
}
}
},
data() {
return {}
},
computed: {
isVisible: {
get: function () {
return this.visible;
},
set: function (newValue) {
return newValue;
}
}
},
watch: {},
created() {},
mounted() {},
methods: {
update(data) {
this.$nextTick(() => {
this.$refs['formpage'].formData = data;
})
},
onOpen() {},
onClose() {
this.close()
},
close() {
this.$emit('close', this.formData)
},
handelConfirm() {
const elform = this.$refs['formpage'].$refs['elForm']
elform.validate(valid => {
if (!valid) return
this.$emit('confirm', elform.model)
this.close()
})
},
}
}
</script>
<style>
</style>
{
"fields": [{
"__config__": {
"label": "事件标题",
"labelWidth": null,
"showLabel": true,
"changeTag": true,
"tag": "el-input",
"tagIcon": "input",
"required": true,
"layout": "colFormItem",
"span": 24,
"document": "https://element.eleme.cn/#/zh-CN/component/input",
"regList": [],
"formId": 101,
"renderKey": 1609589864146
},
"__slot__": {
"prepend": "",
"append": ""
},
"placeholder": "请输入设备名称事件标题",
"style": {
"width": "100%"
},
"clearable": true,
"prefix-icon": "",
"suffix-icon": "",
"maxlength": null,
"show-word-limit": false,
"readonly": false,
"disabled": false,
"__vModel__": "title"
}, {
"__config__": {
"label": "开始时间",
"tag": "el-date-picker",
"tagIcon": "date",
"defaultValue": null,
"showLabel": true,
"labelWidth": null,
"span": 24,
"layout": "colFormItem",
"required": true,
"regList": [],
"changeTag": true,
"document": "https://element.eleme.cn/#/zh-CN/component/date-picker",
"formId": 108,
"renderKey": 1609595122327
},
"placeholder": "请选择开始时间",
"type": "datetime",
"style": {
"width": "100%"
},
"disabled": false,
"clearable": true,
"format": "yyyy-MM-dd HH:mm:ss",
"value-format": "yyyy-MM-dd HH:mm:ss",
"readonly": false,
"__vModel__": "start_time"
}, {
"__config__": {
"label": "结束时间",
"tag": "el-date-picker",
"tagIcon": "date",
"defaultValue": null,
"showLabel": true,
"labelWidth": null,
"span": 24,
"layout": "colFormItem",
"required": true,
"regList": [],
"changeTag": true,
"document": "https://element.eleme.cn/#/zh-CN/component/date-picker",
"formId": 107,
"renderKey": 1609591081474
},
"placeholder": "请选择结束时间",
"type": "datetime",
"style": {
"width": "100%"
},
"disabled": false,
"clearable": true,
"format": "yyyy-MM-dd HH:mm:ss",
"value-format": "yyyy-MM-dd HH:mm:ss",
"readonly": false,
"__vModel__": "end_time"
}],
"formRef": "elForm",
"formModel": "formData",
"size": "medium",
"labelPosition": "right",
"labelWidth": 100,
"formRules": "rules",
"gutter": 15,
"disabled": false,
"span": 24,
"formBtns": true
}
\ No newline at end of file
<template>
<el-form
ref="elForm"
:model="formData"
:rules="rules"
size="medium"
label-width="100px"
>
<el-form-item label="事件标题" prop="title">
<el-input
v-model="formData.title"
placeholder="请输入设备名称事件标题"
clearable
:style="{ width: '100%' }"
>
</el-input>
</el-form-item>
<el-form-item label="开始时间" prop="start_time">
<el-date-picker
type="datetime"
v-model="formData.start_time"
format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss"
:style="{ width: '100%' }"
placeholder="请选择开始时间"
clearable
>
</el-date-picker>
</el-form-item>
<el-form-item label="结束时间" prop="end_time">
<el-date-picker
type="datetime"
v-model="formData.end_time"
format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss"
:style="{ width: '100%' }"
placeholder="请选择结束时间"
clearable
>
</el-date-picker>
</el-form-item>
<el-form-item size="large">
<el-button type="primary" @click="submitForm">提交</el-button>
<el-button @click="resetForm">重置</el-button>
</el-form-item>
</el-form>
</template>
<script>
export default {
inheritAttrs: false,
components: {},
props: {
data: {
type: Object,
},
isReadOnly: {
type: Boolean,
default: false,
},
},
data() {
return {
formData: {
title: undefined,
start_time: null,
end_time: null,
},
rules: {
title: [
{
required: true,
message: "请输入设备名称事件标题",
trigger: "blur",
},
],
start_time: [
{
required: true,
message: "请选择开始时间",
trigger: "change",
},
],
end_time: [
{
required: true,
message: "请选择结束时间",
trigger: "change",
},
],
},
};
},
computed: {},
watch: {},
created() {},
mounted() {
if (this.data) this.formData = this.data;
},
methods: {
submitForm() {
this.$refs["elForm"].validate((valid) => {
if (!valid) return false;
});
},
resetForm() {
this.$refs["elForm"].resetFields();
},
},
};
</script>
<style>
</style>
<template>
<div>
<FullCalendar :options="calendarOptions" ref="calendar" />
<el-dialog :title="dialogTitle" :visible.sync="dialogVisible">
<el-form :model="form" :rules="rules" ref="form" size="medium" label-width="80px">
<el-form-item label="事件名称" prop="title">
<el-input
v-model="form.title"
auto-complete="off"
placeholder="请输入事件名称"
></el-input>
</el-form-item>
<el-form-item label="开始时间" prop="start_time">
<el-date-picker
v-model="form.start_time"
format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss"
type="datetime"
placeholder="选择日期时间"
>
</el-date-picker>
</el-form-item>
<el-form-item label="结束时间" prop="end_time">
<el-date-picker
v-model="form.end_time"
format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss"
type="datetime"
placeholder="选择日期时间"
>
</el-date-picker>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button
type="warning"
@click="deleteEvent"
v-if="form.id"
style="float: left"
>删 除</el-button
>
<el-button size="medium" @click="dialogVisible = false"
>取 消</el-button
>
<el-button size="medium" type="primary" @click="saveEvent"
>确 定</el-button
>
</div>
</el-dialog>
</div>
</template>
<script>
import FullCalendar from "@fullcalendar/vue";
import dayGridPlugin from "@fullcalendar/daygrid";
import timeGridPlugin from "@fullcalendar/timegrid";
import interactionPlugin /*, { Draggable }*/ from "@fullcalendar/interaction";
import {
getCalendarList,
addCalendar,
updateCalendar,
deleteCalendar,
} from "@/api/index";
import { /*getUUID, */mapTrim, parseTime } from "@/utils/index"
export default {
name: "Calendar",
components: {
FullCalendar,
},
data() {
return {
calendarOptions: {
height: "auto",
firstDay: "1",
locale: "zh-cn",
initialView: "dayGridMonth",
// timeZone: "UTC",
weekNumberCalculation: "ISO",
headerToolbar: {
start: "prevYear,prev,today,next,nextYear",
center: "title",
end: "dayGridMonth,timeGridWeek,timeGridDay",
},
buttonText: {
today: "今天",
month: "",
week: "",
day: "",
},
eventTimeFormat: {
// hour: "numeric",
hour: "2-digit",
minute: "2-digit",
second: "2-digit",
meridiem: false,
hour12: false, // 24小时
},
selectable: true,
droppable: true,
displayEventEnd: true,
dayMaxEventRows: 5,
dayMaxEvents: 5,
editable: true,
moreLinkClick: 'popover',
events: [],
plugins: [dayGridPlugin, timeGridPlugin, interactionPlugin],
dateClick: this.handleDateClick,
eventClick: this.handleEventClick,
select: this.handleSelect,
eventDrop: this.handleEventDrop,
datesSet: this.handleViewChange,
},
dialogVisible: false,
form: {
id: null,
title: null,
start_time: null,
end_time: null,
},
rules: {
title: [
{
type: "string",
required: true,
message: "事件标题不能为空",
trigger: "blur",
},
],
start_time: [
{
type: "string",
required: true,
message: "事件开始时间不能为空",
trigger: "blur",
},
],
end_time: [
{
type: "string",
required: true,
message: "事件结束时间不能为空",
trigger: "blur",
},
],
},
dialogTitle: "添加",
};
},
// created() {
// const startTime = new Date();
// startTime.setDate(1);
// startTime.setHours(0);
// startTime.setMinutes(0);
// startTime.setSeconds(0);
// const endTime = new Date(startTime);
// endTime.setMonth(startTime.getMonth() + 1);
// endTime.setDate(0);
// endTime.setHours(0);
// endTime.setMinutes(0);
// endTime.setSeconds(0);
// this.getEventsList({
// 'scope_type': 'list',
// 'start_time': parseTime(startTime),
// 'end_time': parseTime(endTime),
// })
// },
// mounted() {
// const calendar = this.$refs.calendar.getApi()
// calendar.addEvent({ title: '测试', start: '2021-01-05', allDay: true })
// },
methods: {
getCalendarEvents(info, successCallback) { // 获取日历事件
// info, successCallback, failureCallback
let events = [
...this.calendarOptions.events,
{
title: info.startStr,
start: info.start.valueOf(),
},
];
successCallback(events);
},
getEventsList(params) {
const calendar = this.$refs.calendar.getApi()
calendar.getEvents().forEach(evt => { // 先清除所有事件
evt.remove();
})
getCalendarList(params)
.then((res) => {
res.data.forEach(evt => {
calendar.addEvent({
id: evt.id,
title: evt.content,
start: evt.start,
end: evt.end,
content: evt.title
});
})
})
.catch((err) => {
console.log(err.message)
// this.$message.error(err.message)
});
},
handleMoreLinkClick() {},
handleEventDrop(info) { // 当事件被拖动时会触发此函数
// 拖动事件
this.form.id = info.event.id
this.form.title = info.event.extendedProps.content
this.form.start_time = parseTime(info.event.start)
if (info.event.end) this.form.end_time = parseTime(info.event.end)
else this.form.end_time = this.form.start_time
const calendar = this.$refs.calendar.getApi()
updateCalendar(this.form.id, mapTrim(this.form))
.then((res) => {
this.$message({ type: "success", message: "修改成功" });
const event = calendar.getEventById(this.form.id)
event.setProp("title", res.data.content)
event.setExtendedProp("content", res.data.title)
})
.catch((err) => {
this.$message.error(err.message)
});
},
handleSelect(info) { // 拖拽选择单元格会触发此函数
this.form.start_time = parseTime(info.start)
this.form.end_time = parseTime(info.end)
},
handleViewChange(info) { // 当视图切换后,需要重新获取数据
this.getEventsList({
'scope_type': 'calendar',
'start_time': parseTime(info.start),
'end_time': parseTime(info.end),
})
},
handleDateClick(info) { // 点击单元格触发此函数
this.dialogVisible = true;
this.dialogTitle = "添加";
this.form.title = "";
this.form.start_time = parseTime(info.date);
this.form.end_time = parseTime(info.date);
},
handleEventClick(info) { // 当事件被点击时会触发此函数
console.log(info)
// info.el.style.borderColor = "yellow";
this.dialogVisible = true;
this.dialogTitle = "修改";
this.form.id = info.event.id
this.form.title = info.event.extendedProps.content
this.form.start_time = parseTime(info.event.start)
if (info.event.end) this.form.end_time = parseTime(info.event.end)
},
saveEvent() {
const calendar = this.$refs.calendar.getApi()
// 保存事件
this.$refs["form"].validate((valid) => {
let result = true;
if (valid) {
if (this.dialogTitle === "添加")
addCalendar(this.form)
.then((res) => {
this.$message({ type: "success", message: "添加成功" });
calendar.addEvent({
id: res.data.id,
title: res.data.content,
start: res.data.start,
end: res.data.end,
content: res.data.title
});
})
.catch((err) => {
this.$message.error(err.message)
});
else if (this.dialogTitle === "修改")
updateCalendar(this.form.id, this.form)
.then((res) => {
this.$message({ type: "success", message: "修改成功" });
const event = calendar.getEventById(this.form.id)
event.setProp("title", res.data.content)
event.setExtendedProp("content", res.data.title)
})
.catch((err) => {
this.$message.error(err.message)
});
} else {
result = false;
this.$message.error("表单校验未通过,请检查输入")
}
this.dialogVisible = false;
return result;
});
},
deleteEvent() {
// 删除事件
deleteCalendar(this.form.id)
.then((res) => {
this.calendarOptions.events.forEach((item, index, arr) => {
console.log(res);
if (item.id == this.form.id) arr.splice(index, 1);
});
this.dialogVisible = false;
this.$message({ message: "删除成功", type: "success" });
})
.catch((err) => {
this.$message.error(err.message)
});
},
},
};
</script>
<style lang="less" scoped>
@import "~@fullcalendar/common/main.css";
@import "~@fullcalendar/daygrid/main.css";
@import "~@fullcalendar/timegrid/main.css";
</style>
......@@ -301,7 +301,7 @@ export default {
}
}
</script>
<style lang="less" scoped>
<style lang="scss" scoped>
.app-container {
& > div.page-wrapper {
margin: 10px 0px;
......
<template>
<div class="container">
<div class="module" data-spm="a2cwo">
<div class="m-help">
<input type="hidden" name="type" value="GBK"/>
<div class="con">
<div class="p-help-tab clearfix">
<a data-index="0" class="tab-one current" href="#"><s class="icon"></s>帮助中心首页</a>
<a data-index="1" class="tab-one" href="#"><s class="icon user"></s>应用规范指引</a>
<a data-index="2" class="tab-one" href="#"><s class="icon designer"></s>开发者文档</a>
<a data-index="3" class="tab-one" href="#"><s class="icon cert"></s>Q&A</a>
</div>
<div class="container">
<div class="tab-content">
<div class="agreement-box"> <h3 class="title"><b>侵权投诉指南</b></h3> <p> 应用中心”作为中立的信息存储空间服务者,一直致力于为广大的第三方建立一个公平、公开、公正的平台,并对“应用中心”进行运营管理、系统维护和业务推广。</p> <p> 鉴于,“应用中心”中的第三方提供的内容数量之庞大,为了建立良好的市场秩序和保护权利人的合法权益,根据相关法律之规定,“应用中心”特制定本指引,</p><p>以尽可能保护权利人的合法权益。</p> <p class="sub-title">1.通知“应用中心”</p> <p>如果权利人认为第三方在“应用中心”提供的游戏应用侵犯其合法权益,请按以下要求进行投诉,通知“应用中心”:</p> <p>权利人向“应用中心”提交书面的通知书及证明材料(请使用“应用中心”提供的<a href="//m.alicdn.com/appdev2/model20150106.docx">通知书模板</a>按要求填写并提供相关材料)。</p> <p>“应用中心”接收通知书方式:</p> <p>(1)将通知书及证明材料扫描后通过电子邮件发送至电子邮箱:patrol@service.alibaba.com </p> <p>(2)通过邮寄的方式将通知书及证明材料原件邮寄至:</p> <p> 地址:杭州市余杭区文一西路969号阿里巴巴西溪园区3号楼3层</p> <p> 邮编:311121</p> <p class="sub-title">2. “应用中心”反馈</p> <p>“应用中心”作为中立的平台服务者,在收到权利人符合要求的通知书及证明材料后,会转送给被投诉方。</p> <p>被投诉方认可侵权事实的,“应用中心”会尽快按照相关法规的规定进行处理。被投诉方不认可侵权事实的,被投诉方按照下文反通知要求进行。</p> <p class="sub-title">3. 反通知</p> <p>如果被投诉方不认可侵权事实的,请按以下要求在3个工作日内进行反通知:</p> <p>被投诉方向“应用中心”提交书面的反通知书及证明材料(请使“应用中心”提供的<a href="//m.alicdn.com/appdev2/modelback20150106.docx">反通知书模板</a>按要求填写并提供相关材料)。</p> <p“应用中心”接收反通知书方式:</p> <p>(1)将反通知书及证明材料扫描后通过电子邮件发送至电子邮箱:patrol@service.alibaba.com </p> <p>通过邮寄的方式将反通知书及证明材料原件邮寄至: </p> <p> 地址:杭州市余杭区文一西路969号阿里巴巴西溪园区3号楼3层</p> <p> 邮编:311121 </p> <p>“应用中心”作为中立的平台服务者,收到被投诉人符合要求的反通知书及证明材料后,会转送给权利人。</p> <p>权利人对于被投诉方的反通知内容有异议,并有新的、可充分推翻被投诉方意见的证明材料,可向“应用中心”提供。</p> <p>权利人也可另行通过行政投诉、法院诉讼等方式直接和被投诉方解决争议。</p> <p class="sub-title">4. 注意事项</p> <p>(1)如果材料涉外的,应按照法律的规定进行公证转递,并同时提供相应的公证转递材料。</p> <p>(2)如果权利人已就相关侵权事项向有关行政部门或法院提起投诉或诉讼的,请将相关受理证明及提交行政部门或法院的证据材料一同提交,</p> <p>这将有利于权利人的投诉处理。</p> <p>(3)如果根据投诉情况,被投诉的游戏产品应在“应用中心”终止运营的,“应用中心”需要遵守相关法规关于游戏终止运营时限的要求,</p> <p>例如根据目前《网络游戏管理暂行办法》的规定,对于网络游戏的终止运营,需要提前60日予以公告后方可终止运营。</p> </div>
</div>
<div style="display:none;" class="tab-content">
<div class="agreement-box"> <p class="sub-title">一、总则</p><p>1.1请确保您对所发布的应用及其相关素材拥有合法的知识产权或已取得合法充分的知识产权授权。若您使用受知识产权保护的第三方材料(商标、著作权、商业机密或其它知识产权),需在发布应用过程中上载知识产权证明材料。</p><p>1.2请根据本指引进行自检,以保证您的应用更易通过审核,快速发布。针对不合符要求的应用,“应用中心”有权不允许发布或予以驳回,同时,“应用中心”对下述的规范指引内容保留修订权。</p><p class="sub-title">二、用户隐私安全</p><p>2.1 在未经用户确认的情况下读取、复制、转发、编辑、传播或删除终端内储存的文件或数据的应用不允许发布。</p><p>2.2 在采集或使用用户隐私数据之前未通知并获得用户同意的应用不允许发布。</p><p>2.3 恶意泄漏用户个人信息的应用不允许发布。</p><p>2.4 具有拨打骚扰电话或发送类似短信/彩信功能的应用不允许发布。&nbsp;</p><p>2.5 未获得用户同意随便发送推送消息的应用不允许发布。</p><p>2.6 用于钓鱼或群发垃圾邮件用途的应用不允许发布。</p><p class="sub-title">三、内容规范</p><p>3.1 任何误导和暗示YunOS是该应用程序来源或提供商,或者应用含有任何表示YunOS认可其质量或功能的说明的应用不允许发布。</p><p>3.2 与YunOS企业形象品牌、产品或业务名称混淆,或内置“云标识”的应用不允许发布。</p><p>3.3 包含虚假,欺诈或误导性陈述的应用不允许发布。</p><p>3.4 内置中奖或抽奖信息的应用不允许发布。</p><p>3.5 容易与第三方知名应用产生混淆的应用不允许发布。</p><p>3.6 与“应用中心”已有的应用重复或雷同的应用不允许发布。</p><p>3.7 主要内容为营销或使用推送通知发送广告等没有过多价值的应用不允许发布。</p><p>3.8 需使用积分、金币等才能运行的应用不允许发布。</p> <p>3.9 在后台自动安装其他应用,或推荐与当前应用无关的其他应用(包括应用链接和推荐插件),或推荐其他应用市场的应用不允许发布。</p> <p>3.10 需要root权限或自带系统破解的应用不允许发布。</p> <p class="sub-title">四、内容审核:</p><p>4.1软件名称</p><p>请提供与软件内容相符的软件名称,如是英文名称请在前面先进行中文翻译,长度在18个字符以内为佳。</p><p>以下现象会导致审核不通过</p><p>4.1.1 应用名称中涉及“安卓“或“Android”字眼的;</p> <p>4.1.2 应用名称中涉及敏感字眼(含淫秽色情、暴力、root、破解版、Crack等)的;</p> <p>4.1.3 应用名称为纯英文名称,但无法翻译的除外;</p> <p>4.1.4 应用名称中包含版本信息的;</p> <p>4.1.5 应用名称中使用特殊符号,不利于展示的;</p> <p>4.1.6 应用名称过长不利于展示的。</p> <p>4.2 应用分类:</p><p>请根据提供的软件内容选择正确类目。</p><p>以下现象会导致审核不通过:</p><p>4.2.1所选类目与软件实际功能不符。&nbsp;</p><p>4.3关键字:</p><p>请根据软件内容如实进行关键字描述,多个关键字用全角或者半角“,”分开。</p><p>以下现象会导致审核不通过:</p><p>4.3.1 关键字未使用字、词的;</p><p>4.3.2 关键字涉及敏感字眼(含淫秽色情、暴力、root、破解版、Crack等)的;</p><p>4.3.3 关键字使用多个与应用本身关联性不是非常紧密的热门字词。</p> <p>4.4简介:</p><p>请提供50个字内能简单概括软件内容且凸显软件特性的简介。</p><p>以下现象会导致审核不通过:</p><p>4.4.1 简介内容中含错误代码、显示乱码不利于展示的;</p><p>4.4.2 简介内容过于简单,不能表达应用内容的;</p><p>4.4.3简介内容无完整断句;</p> <p>4.4.4 简介内容涉及敏感字眼(含淫秽色情、暴力、root、破解版、Crack等)的。</p> <p>4.5描述:</p><p>请详细提供应用的特点、功能、作用、操作方式和一些需要明确告之用户细则说明(如涉及资费需明示、安装数据包在50M以上大小需告之、借助其他应用支持的要提醒等)。</p><p>以下现象会导致审核不通过:</p><p>4.5.1 应用描述过于简单、笼统无法体现应用特点、功能、作用、操作方式等内容的;</p><p>4.5.2 应用描述含错误代码、显示乱码不利于展示的;</p><p>4.5.3 收费应用,应用描述中未明示用户资费标准的;</p><p>4.5.4 安装数据包超过50M,应用描述未明示用户使用wifi环境的;</p><p>4.5.5 如需借助其他应用支持,应用描述未明示用户的;</p><p>4.5.6 应用描述中内容排序错乱未经整理的;</p><p>4.5.7 应用描述专门针对安卓系统开发或“仅限于安卓”或“安卓版”等字样的;</p><p>4.5.8 应用描述专为某一手机或某个手机厂商开发的(该手机并未承载YunOS系统),或内容中涉及非承载YunOS系统的某款硬件厂商和机型名称。</p> <p>4.6软件截图:</p><p>请提供3张以上软件运行时优质、清晰、完整的截图,建议截选软件开启、进行、设置、结束等不同时段的界面截图。(目前手机上应用中心仅支持竖向截图,如为横向截图则会被压缩成竖向,影响美观,&nbsp;图片大小在320x480,图片格式为 JPG)。</p><p>以下现象会导致审核不通过:</p><p>4.6.1截图模糊、明显压缩痕迹不利于展示的;</p> <p>4.6.2 上传的截图有重复或相似度较高的;</p> <p>4.6.3 截图上明显带其他应用市场水印logo的。</p> <p class="sub-title">五、功能审核:</p><p>5.1安装&nbsp;</p><p>正常安装到手机,图标logo显示正常,安装后显示的名称与提供的应用名称相符。</p><p>以下现象会导致审核不通过:</p><p>5.1.1 应用无法正常安装或对YunOS兼容不佳的;</p><p>5.1.2安装后出现异常现象(如出现两个图标入口);</p><p>5.1.3安装后图标Logo无显示或显示比例与其他软件图标差距过大,不利于展示的。&nbsp;</p> <p>5.1.4 需注册但无注册入口或注册方式提醒的;</p> <p>5.1.5 应用如带有识别手机系统功能,未正确识别并显示为YunOS系统;涉及来源信息未展示来自于YunOS的。</p> <p>5.2安全</p><p>应用安装后,经过安全软件扫描显示无异常。</p><p>以下现象会导致审核不通过:</p><p>5.2.1 被检测出有病毒的;</p><p>5.2.2 被检测出有广告插件,提示涉及风险或广告插件与应用本身无关联的;</p><p>5.2.3 被检测出广告插件中含有积分墙或通知栏的;</p><p>5.2.4 被检测出调取与应用本身完全无关联的权限接口的;</p><p>5.2.5 被检测出或用户反馈应用会未经同意上行多条与应用使用无关短信的;</p> <p>5.2.6.被检测出可能威胁到YunOS系统安全或稳定性的。</p> <p>5.3 卸载</p><p>通过软件管理界面或桌面直接卸载软,能完全卸载。</p><p>以下现象会导致审核不通过:</p><p>5.3.1无法卸载成功的软件;</p><p>5.3.2卸载不完全的软件;</p><p>5.3.3卸载软件的同时会导致手机重启或其他异常现象。</p> <p class="sub-title">六、更新审核</p><p> 6.1 更新描述</p><p>提供新版本的更新日志,明确修饰和更新的内容,且更新日志仅保留最新版日志。</p><p>以下现象会导致审核不通过:</p><p>6.1.1 更新日志未增减(版本更新日志则需与当前版本一致)的</p><p>6.1.2更新日志与提供版本不一致。&nbsp;</p> <p>6.2 应用截图</p><p>&nbsp;提供新版本与老版本修改、优化处界面的软件截图。</p><p>以下现象会导致审核不通过:</p><p>6.2.1软件运行展示界面与提供截图有明显差异。</p><p>6.3 应用更新</p> <p>在“应用中心”能正常进行版本更新。</p><p>以下现象会导致审核不通过:</p><p>6.3.1无法正常提示版本更新;</p><p>6.3.2提示后无法进行更新;</p><p>6.3.3更新后软件不能正常运行。</p></div>
</div>
<div style="display:none;" class="tab-content">
<div class="agreement-box"> <h3 class="title"><b>YunOS开发者服务协议</b></h3> <p class="bold">特别提示: </p> <p class="bold">签订之前,您应当认真阅读并遵守《YunOS开发者服务协议》(以下简称“本协议”),请您务必审慎阅读、充分理解各条款内容,</p> <p class="bold">特别是免除或者限制责任的条款、争议解决和法律适用条款。免除或者限制责任的条款可能将以加粗字体显示,您应重点阅读。</p> <p class="bold">当您阅读本协议且点击同意后,即表示您已充分阅读、理解并接受本协议的全部内容。您承诺接受并遵守本协议的约定,届时您不应以未阅读本协议的内容等理由,主张本协议无效或要求撤销本协议。</p> <p> </p> <p>本协议是YunOS应用中心开放平台(以下简称“应用中心”)与应用中心的开发者 (开发者:指经有效申请并通过应用中心验证的,基于应用中心进行开发、提交或</p> <p> 发布应用的单位或者个人,以下简称“乙方”)就应用中心为乙方提供应用中心信息存储空间技术服务(以下简称“应用中心服务”)相关事项所订立的有效合约。</p> <p> 乙方通过网络页面点击确认选择接受本协议,即表示双方已达成协议并同意接受本协议的全部约定内容。</p> <p>在接受本协议之前,请乙方仔细阅读本协议的全部内容。如果乙方对本协议的条款有疑问的,请通过YunOS应用中心相关业务部门进行询问,应用中心相关人员将向</p> <p>乙方解释条款内容。如果乙方不同意本协议的任意内容或者无法准确理解应用中心对条款的解释,请不要进行后续操作。</p> <p class="sub-title">一、定义</p> <p>除非上下文另有所指或文义另作说明,下列词语在本协议中具有如下含义:</p> <p>1.1. 智能终端:指具备开放的操作系统平台、个人电脑级的处理能力、高速接入能力和丰富的人机交互界面的终端产品,目前主要是指智能手机、平板电脑、智能电视等。</p> <p>1.2. YunOS:指应用中心的智能终端操作系统,包括对YunOS修改而产生的衍生作品等。</p> <p>1.3. 应用中心:应用中心提供的、聚合了广大YunOS系统开发者开发、提供的应用资源,面向YunOS用户的开放性平台。在应用中心:1)开发者可以按照法律及应</p> <p>用中心的要求开发应用、提交应用、发布应用、有偿或无偿许可用户下载和使用应用或提供其他服务;2)用户可以按照法律及应用中心的要求有偿或无偿地下载、使</p> <p>用应用或接受其他服务;3)应用中心将负责平台的运营管理、系统维护、提供信息存储空间服务等。</p> <p> 1.4. 乙方应用:指应用中心根据本协议为乙方提供服务所指向的、乙方自主享有知识产权或获得合法授权的应用、服务、相关标志图片和广告等。</p> <p> 1.5. 最终用户:指按照法律及应用中心的要求,在应用中心有偿或无偿地下载、使用乙方应用或接受乙方其他服务的人。</p> <p class="sub-title">二、应用中心服务内容</p> <p>2.1. 应用中心为乙方提供免费的信息存储空间技术服务。应用中心为最终用户提供互联网信息服务。</p> <p>2.2. 乙方可享受应用中心提供的信息存储空间技术服务为最终用户提供乙方应用的许可授权,并自行与最终用户达成许可协议。</p> <p>2.3. 最终用户可以浏览应用中心、可有偿或者无偿的获得乙方应用的许可授权,并可就其所下载的乙方应用发表评论等。</p> <p class="sub-title">三、乙方应用</p> <p>3.1. 乙方明确理解并同意,其在正式向最终用户提供乙方应用的使用许可之前,应与最终用户单独签署相应的《应用许可使用协议》,并严格按照协议的约定履行。</p> <p>3.2. 乙方应用的描述:乙方提供的在应用中心上展示的文字描述、截图和/或照片,可以是(a) 对乙方合法拥有且乙方希望许可的乙方应用描述;或 (b) 对最终用</p> <p>户正寻找的乙方应用的描述。应用中心将对应用做分类并提供分类目录,乙方可在应用中心上发布任一类乙方应用描述,或两种类型同时发布,条件是乙方必须取得</p> <p>应用中心的同意,并将该等乙方应用和乙方应用描述归入正确的类目内。应用中心不对乙方应用描述和分类的准确性或内容负责。</p> <p>3.3. 由于乙方违反本协议的相关约定,应用中心有权从应用中心删除乙方应用或限制其发布,此时将造成最终用户使用的乙方应用无法正常提供服务。该等情况的</p> <p>发生属于乙方过错或过失,相关责任应由乙方独立承担。</p> <p>3.4. 乙方应秉承为最终用户提供优质服务的理念为最终用户提供便利。最终用户使用乙方提供的乙方应用和服务发生的任何纠纷应由最终用户和乙方自行协商解</p> <p>决,应用中心不承担任何责任。应用中心在最终用户与乙方产生纠纷时可以协助双方进行协调,但应用中心并不保证协调取得实际效果。 </p> <p class="sub-title">四、应用中心权利义务</p> <p>4.1. 应用中心负责平台的运营、制定应用中心的规划、内容管理与组织、运营体系等相关的管理规范、流程、审核标准等。</p> <p>4.2. 应用中心有权利核实乙方身份信息,包括但不限于核实乙方注册信息、身份证号、营业执照、组织机构代码证等相关资料。</p> <p>4.3. 应用中心有权对乙方提交和发布的乙方应用和信息进行标题和简介审核、功能性和安全性测试等。若应用中心发现(包括但不限于应用中心自行发现及/或第三</p> <p>方告知应用中心)乙方应用或信息有违反任何法律法规、违反应用中心管理规范或违反社会基本的伦理道德等情况(包括但不限于恶意扣费、信息窃取、远程控制、</p> <p>方告知应用中心)乙方应用或信息有违反任何法律法规、违反应用中心管理规范或违反社会基本的伦理道德等情况(包括但不限于恶意扣费、信息窃取、远程控制、</p> <p>恶意传播、资费消耗、系统破坏、诱骗欺诈以及法律法规明文禁止内容),应用中心有权对上述乙方应用或信息采取不予发布、删除、屏蔽、纳入黑名单等措施,并</p> <p>有权单方暂停、终止为乙方提供服务或做出其他合理处理。但乙方明确,乙方才是上述乙方应用内容、功能及安全测试的负责方,对此负全责。</p> <p>4.4. 应用中心仅为乙方提供上传存储空间服务,应用中心不会对乙方上传的乙方应用作任何形式的编辑、修改,也不会编辑或修改被链接的应用信息内容。任何经</p> <p>应用中心发布的乙方应用,均由乙方承担责任。</p> <p>4.5. 为了更好地服务最终用户及合作伙伴,应用中心有权对相应数据进行收集和使用:</p> <p>&nbsp;&nbsp;4.5.1. 应用中心有权收集和享有乙方和最终用户于YunOS、应用中心或应用中心网站上的注册数据、乙方服务信息和运营数据。如发现注册数据或服务行为中存在</p> <p>&nbsp;&nbsp;任何问题或怀疑,均有权向乙方发出询问或改正的通知,或者直接做出删除、屏蔽等处理。</p> <p>&nbsp;&nbsp;4.5.2. 应用中心有权收集乙方应用的下载、安装等统计数据。应用中心有权依法使用所收集的信息,并对外发布或披露所收集的统计性信息。应用中心有权要求</p> <p>&nbsp;&nbsp;乙方提供其掌握的用户资料、用户使用乙方应用情况及其它信息。</p> <p>4.6.乙方提供的乙方应用一旦产生纠纷,包括但不限于乙方应用侵犯他人的知识产权、诉讼、投诉、发生违反合同约定的任何情形等,应用中心有权单方暂停、终止</p> <p>为乙方提供服务或做出其他合理处理,同时乙方需承担由此引起的全部法律责任及应用中心遭第三方追索而损失的全部费用。</p> <p>4.7.应用中心有权要求乙方在市场推广和用户宣传中标注YunOS的名称或品牌标识。</p> <p>4.8.应用中心有权将乙方应用或乙方的商标、标识、截图、名称、文字描述等信息使用在应用中心网站、客户端或相关营销传播活动、推广渠道等进行应用详情展示。</p> <p>4.9.应用中心可以提前3日邮件通知乙方的方式将本协议下的权利义务的部分或全部转让给关联公司。</p> <p>4.10.若发生乙方应用被投诉或起诉等事宜时,应用中心有权视情况向投诉方或起诉方等披露乙方信息和联系方式等。</p> <p class="sub-title">五、乙方权利义务</p> <p>5.1. 乙方必须是具备完全民事行为能力的自然人或者是具有合法经营资格的实体组织。无民事行为能力人、限制民事行为能力人以及无经营或特定经营资格的组织 </p> <p>不当注册为开发者或超过其民事权利或行为能力范围作为的,其与应用中心之间的任何协议包括本协议自始无效,应用中心一经发现,有权立即注销其帐户,并追究</p> <p>其使用应用中心服务的一切法律责任。</p> <p>5.2 乙方在应用中心进行注册时,须提供真实、有效的身份识别资料。乙方必须通过支付宝实名认证程序,并授权支付宝进行实名信息认证,包括但不限于真实姓 </p> <p>名、证件号码、营业执照、组织机构代码证、联系方式等信息。前述资料发生变更时,乙方应及时在应用中心进行线上更新。若乙方所提供的资料不真实或与事实不</p> <p>符或已变更而未在应用中心及时更新,应用中心有权单方暂停、终止为乙方提供服务或做出其他合理处理。支付宝账号只做实名认证用途,不做任何其他用途。</p> <p>5.3.乙方承诺遵守相关法律法规、本协议、应用中心管理规范及流程、社会基本伦理道德等,且不侵犯第三方的合法权利。乙方了解上述协议及规范等内容可能会不 </p> <p>时变更,并同意持续遵守。</p> <p>5.4.乙方有权利使用其注册账户和密码登陆应用中心,对用户名和密码的安全负全部责任,同时对其账户进行的所有活动和事件负全责。</p> <p>5.5.乙方有权在应用中心提交乙方应用。应用中心有权要求乙方根据YunOS提供的测试运行环境和规范对乙方应用进行测试,测试完成后提交应用中心进行兼容性测</p> <p>试。应用中心要求乙方进行前述测试的,乙方在提交的乙方应用通过应用中心兼容性测试后方可获得在应用中心发布的权利。</p> <p>5.6.乙方保证乙方应用的内容与乙方官方产品内容一致(除乙方要求删减的功能外),并及时更新。</p> <p>5.7.乙方声明并保证乙方应用及乙方所提供的相关服务(包括乙方应用中内容、内嵌的广告和链接等)符合如下要求:</p> <p>&nbsp;&nbsp;5.7.1.真实、合法、准确、完整,不会有任何淫秽、色情、不道德、欺诈、诽谤(包括商业诽谤)、非法恐吓或非法骚扰的内容;</p> <p>&nbsp;&nbsp;5.7.2.不会侵犯任何第三方享有的合法权利或权益,包括但不限于第三方知识产权等;</p> <p>&nbsp;&nbsp;5.7.3.不会违反任何法律、法规、条例或规章 (包括但不限于关于规范互联网站、互联网信息、网络游戏、不正当竞争的法律、法规、条例或规章);不会违</p> <p>&nbsp;&nbsp;反任何网络与信息安全相关法律法规以及含有恶意行为(包括但不限于恶意吸费、窃听、窃录、位置信息泄漏侵害终端用户隐私和/或侵害终端用户权益和/或</p> <p>&nbsp;&nbsp;影响终端安全和/或影响公众社会安全的非法业务);</p> <p>&nbsp;&nbsp;5.7.4.不会含有任何类型的木马、病毒、后门程序或其他恶意计算机程序;不得以任何方式干扰或企图干扰YunOS、应用中心、其他开发者的应用或其任何部</p> <p>&nbsp;&nbsp;分或功能的正常运行;</p> <p>&nbsp;&nbsp;5.7.5.不会直接或间接与下述各项内容链接:(i) 任何法律、法规、条例或规章所禁止的商品或服务,或 (ii) 无权链接或包含的商品或服务;</p> <p>&nbsp;&nbsp;5.7.6.不会将通过应用中心技术接口、公开渠道以及基于本协议项下合作获取的应用中心和应用中心网站相关数据(包括但不限于任何用户信息、用户交易信</p> <p>&nbsp;&nbsp;息、用户针对乙方应用的使用数据等)用于本协议之外的商业目的(包括但不限于单独开发应用、单独销售、与其他任何第三方进行合作);不会非法获取用</p> <p>&nbsp;&nbsp;户信息用于交易或获取不当利益。否则应用中心有权单方决定提前终止本协议,同时乙方应承担违约等全部法律责任,并就应用中心、最终用户的全部损失进</p> <p>&nbsp;&nbsp;行全额赔偿;</p> <p>&nbsp;&nbsp;5.7.7.不得未向最终用户明示并经最终用户同意,擅自调用最终用户终端通信功能,造成流量耗费、费用损失、信息泄露等;</p> <p>&nbsp;&nbsp;5.7.8.不得违法收集和使用最终用户个人信息。未经最终用户同意,不得收集最终用户的个人信息。对于最终用户个人信息的收集必须符合明示、必要等原</p> <p>&nbsp;&nbsp;则。对于最终用户个人信息的使用,不得超出收集时的明示目的。不会非法获取最终用户信息用于交易或获取不当利益;</p> <p>&nbsp;&nbsp;5.7.9.不得请求、收集、索取或以其他方式从任何最终用户那里获取对最终用户账户、密码或其他身份验证凭据的访问权;不得为任何最终用户自动登录到应</p> <p>&nbsp;&nbsp;用中心和应用中心网站提供代理身份验证凭据;不得提供“跟踪”功能,包括但不限于识别其他最终用户在乙方应用档案文件页上查看或操作;</p> <p>&nbsp;&nbsp;5.7.10.乙方提交乙方应用时,必须向应用中心公开完整且准确的信息(包括但不限于乙方应用信息、使用方式、有效期限、乙方应用的提供商、联系人、联</p> <p>&nbsp;&nbsp;系电话、客服电话、网络邮箱并提交身份证、营业执照及相关版权证明等)、说明提交的乙方应用所需要的安全权限、调用最终用户终端的哪些设备及功能、</p> <p>&nbsp;&nbsp;使用或涉及到最终用户的哪些信息和隐私,并在乙方应用安装前提示最终用户上述信息,供最终用户判断是否继续安装使用。乙方必须保证上述信息真实、正</p> <p>&nbsp;&nbsp;确及完整。如果上述信息发生变化,乙方应及时更改。乙方提供的联系信息,应用中心有权提供给最终用户;</p> <p>&nbsp;&nbsp;5.7.11.不得删除、隐匿、改变应用中心及YunOS显示或包含的任何知识产权声明;</p> <p>&nbsp;&nbsp;5.7.12.乙方保证其通过应用中心向最终用户提供的乙方应用和信息不含对应用中心及其关联公司以外的任何其他网络企业的形象、品牌、应用或业务的宣传</p> <p>&nbsp;&nbsp;信息或损害应用中心及其关联公司企业形象、品牌、应用或业务的内容或信息。乙方不得暗示应用中心及其关联公司加入、赞助或认可乙方应用,包括但不限</p> <p>&nbsp;&nbsp;于在乙方应用名称中或顶级域名左侧的URL中使用应用中心或其他应用中心关联公司的名称的任何变体、缩写或错误拼写,不得在乙方应用中使用与应用中心</p> <p>&nbsp;&nbsp;及应用中心关联公司产品同名或任何变体、缩写、改写、增减文字或字母或错误拼写等的字眼;同时也不得在未获得应用中心书面许可的情况下,以任何方式</p> <p>&nbsp;&nbsp;公开使用应用中心的标志、URL地址或其他标识等;</p> <p>&nbsp;&nbsp;5.7.13.不得避开、尝试避开或声称能够避开任何内容保护机制或者应用中心所提供的数据统计工具。</p> <p>5.8.乙方须对其提交和发布的乙方应用质量负责,包括但不限于乙方应用可用性、兼容性、应用质量等乙方应用自身问题。因乙方应用质量问题导致应用中心遭第三</p> <p>方索赔或起诉的,乙方应承担相关法律责任并赔偿应用中心全部损失。</p> <p>5.9.乙方有义务对已经发布的乙方应用提供升级、维护及其它技术支持。乙方负责承担乙方应用发布之后产生的各种非应用中心问题引起的客户咨询和投诉及其它售</p> <p>后服务,并在24小时之内回复并提出解决方案。乙方保证友善、耐心、热心地为最终用户提供咨询及售后服务。若乙方被多次投诉且未妥善处理的,应用中心保留</p> <p>暂停为乙方服务的权利。</p> <p>5.10.乙方同意应用中心运营数据(包括但不限于最终用户注册信息、最终用户针对乙方应用的使用数据等)的全部权利均归属应用中心。乙方承诺在未经应用中心</p> <p>事先书面批准的情况下,不得为任何目的擅自保存、使用或授权他人使用前述运营数据。</p> <p>5.11.应用中心将允许最终用户对乙方应用进行评分。只有下载此乙方应用的用户才有评分的权利,乙方应用评分将被用来确定其在应用中心的排名位置,较高评分</p> <p>的应用通常给予较高的排名,每一款应用的综合评分是代表整个应用质量的记录。乙方不得以任何形式实施任何违法或不道德交易行为,包括但不限于通过自我交易</p> <p>或虚拟交易等手段提高自己提交的应用的评分,欺诈、引诱或强行要求最终用户付费等。</p> <p>5.12.乙方须对获悉的应用中心的商业资料等保密信息进行保密,对因保密信息泄露而造成应用中心的损失,乙方须全部承担,并负责因诉讼产生的费用,应用中心</p> <p>有权终止本协议。</p> <p>5.13.乙方明确理解并同意,如因其违反有关法律或者本协议之规定,使应用中心遭受任何损失、受到任何第三方的索赔或任何行政管理部门的处罚,乙方应对应用</p> <p>中心进行全额赔偿,包括合理的律师费用。</p> <p>5.14.乙方同意接收来自应用中心及其关联公司、合作伙伴发出的邮件、信息。</p> <p></p> <p class="bold">乙方若违反上述条款的,应用中心有权根据其情节,对乙方做出警告、限制服务、屏蔽乙方应用、暂停服务、终止服务等适当处罚并要求乙方赔偿应用中心</p> <p class="bold">所有损失。乙方须独立承担上述违约事宜所引起的一切纠纷等并负责赔偿应用中心因乙方违反上述任何条款而给最终用户、应用中心或应用中心的任何合作</p> <p class="bold">伙伴、关联公司所造成的一切损失。</p> <p class="sub-title">六、服务终止后的处理</p> <p>6.1. 服务终止后,应用中心没有义务为乙方保留原账户中或与之相关的任何信息,或转发任何未曾阅读或发送的信息给乙方或最终用户或第三方,亦不就终止服务</p> <p>而对乙方或最终用户或任何第三方承担任何责任。</p> <p>6.2.不论应用中心与乙方之间的服务因任何原因以任何方式终止,应用中心仍有权:</p> <p>&nbsp;&nbsp;6.2.1. 保存或不保存乙方的数据及行为记录;</p> <p>&nbsp;&nbsp;6.2.2. 对于乙方在服务终止前实施的违法或违约行为所导致的任何赔偿和责任,乙方必须完全独立地承担,应用中心有追索权。</p> <p>6.3. 对于服务终止之前乙方交易行为依下列原则处理:</p> <p>&nbsp;&nbsp;6.3.1. 服务终止之前,乙方和最终用户的许可交易应用尚未交易或尚未交易完成的,应用中心有权在中断、终止服务的同时删除此项交易信息;</p> <p>&nbsp;&nbsp;6.3.2. 服务终止之前,乙方和最终用户就具体许可交易达成一致,应用中心有权将终止服务的情况通知乙方或最终用户。</p> <p class="sub-title">七、责任限制和免责</p> <p class="bold">7.1. 应用中心作为信息存储空间,可以作为乙方提供和发布乙方应用或相关服务、与最终用户达成许可交易及最终用户获取或使用乙方应用或相关服务的地</p> <p class="bold">点。对于乙方应用的开发、运营、支持和维护,乙方应当同意独立承担所有的风险和后果。应用中心没有责任和义务对于发布在应用中心的任何不准确或不</p> <p class="bold">正确的内容承担任何责任,无论该等不准确或不正确是由最终用户所造成的,还是由于乙方应用所使用的或与乙方应用相连接的任何设备或程序所造成的。</p> <p class="bold">7.2. 在任何情况下,应用中心均不对任何间接性、后果性、惩戒性、偶然性、特殊性或刑罚性的损害(包括乙方使用应用中心而遭受的利润损失)承担责任</p> <p class="bold">(即使应用中心已被告知该等损失的可能性)。</p> <p class="sub-title">八、知识产权</p> <p>8.1. 除乙方享有知识产权的作品、商标外,应用中心上所有内容,包括但不限于著作、图片、档案、资讯、资料、网站架构、网站画面的安排、网页设计,均由应</p> <p>用中心或其他权利人依法拥有其知识产权,包括但不限于商标权、专利权、著作权、商业秘密等。非经应用中心或其他权利人书面同意,乙方不得擅自使用、修改、</p> <p>复制、公开传播、改变、散布、发行或公开发表应用中心网站程序或内容。</p> <p>8.2. 应用中心运营数据的全部权利,均归属应用中心。前述运营数据包括但不限于任何最终用户注册信息、最终用户针对乙方应用的使用数据等。未经应用中心事</p> <p>先书面同意,乙方不得为任何目的擅自保存、使用或授权他人使用前述运营数据。</p> <p>8.3. 根据本协议的条款和条件,应用中心授予乙方有限的、非排他性的、可随时终止的和不可再分发的许可,许可乙方自己访问和使用应用中心开发、测试、显</p> <p>示、发布其应用相关服务,允许乙方访问应用中心提供的或最终用户自身授权的用户信息。乙方严禁进行如下行为:</p> <p>&nbsp;&nbsp;8.3.1. 对应用中心、其他开发者服务及其任何方面或部分(包括但不限于源代码和算法)进行反向工程、反汇编、重构、反编译、翻译、修改、复制,或者</p> <p>&nbsp;&nbsp;在未经明确允许的情况下创作衍生作品;</p> <p>&nbsp;&nbsp;8.3.2. 篡改或从应用中心、开发者服务的任何方面或部分删除任何标识、商标、版权或其他声明;</p> <p>&nbsp;&nbsp;8.3.3. 分发、销售、转销、租赁、许可、再许可或通过其他方式将应用中心或任何最终用户信息提供给第三方(包括以任何方式存储应用中心或用户信息致</p> <p>&nbsp;&nbsp;使第三方能够访问);</p> <p>&nbsp;&nbsp;8.3.4. 避开或修改应用中心数据统计工具。</p> <p>8.4. 乙方保留其创建的乙方应用内容以及其中包括的所有权利、权属或权益,包括但不限于所有知识产权(应用中心知识产权除外)。乙方通过应用中心提交或发</p> <p>布乙方应用,即表明乙方授予应用中心非排他性的、免费的全球性许可,允许应用中心下载、复制、重设格式、公开显示、运行乙方应用,以及将其存储和缓存在应</p> <p>用中心指定服务器上。</p> <p class="sub-title">九、通知和送达</p> <p>9.1. 应用中心对于乙方所有的通知均可通过网页公告、电子邮件、手机短信或常规的信件传送等方式进行;该等通知于发送之日视为已送达乙方。</p> <p>9.2. 乙方对于应用中心的通知应当通过应用中心对外正式公布的通信地址、传真号码、电子邮件地址等联系信息进行送达。</p> <p class="sub-title">十、不可抗力</p> <p>10.1. 因不可抗力使得本协议履行不可能、不必要或者无意义的,遭受不可抗力的一方不承担责任。</p> <p>10.2. 不可抗力是指不能预见、不能克服并不能避免且对一方或双方当事人造成重大影响的客观事件,包括但不限于自然灾害如洪水、地震、瘟疫流行和风暴等以及</p> <p>社会事件如战争、动乱、黑客、政府行为。</p> <p class="sub-title">十一、其他约定</p> <p>11.1. 本协议之签署、效力、解释和执行以及本协议项下争议之解决均应适用中华人民共和国法律;对于因本协议的解释及执行而产生之争议,应首先由双方通过友</p> <p>好协商和(或)经由中立之第三方调解来解决。如争议未能于前述方式在开始协商后三十(30)日内解决,则任何一方均可将有关争议提交杭州市余杭区人民法院诉讼解决。</p> <p>11.2. 本协议内容包括协议正文及所有应用中心已经发布的或将来可能发布的服务使用规则。所有规则为本协议不可分割的一部分,与协议正文具有相同法律效力。</p> <p>11.3. 应用中心有权不时修改本协议和相关规则的内容,修改后的内容将公布于应用中心、应用中心网站或以本协议约定的其他方式通知乙方。乙方如继续使用应用</p> <p>中心服务的,则视为乙对修改后的内容不持异议并同意遵守。如乙方对修改存有异议,或者乙方不同意应用中心公布的内容的,乙方有权在新协议或规则生效日起的</p> <p>10天内书面通知应用中心终止本协议。</p> </div>
</div>
<div style="display:none;" class="tab-content">
<div class="one">Q::为什么要重新认证和重新认领应用?</div>
<div class="one">A:为了避免出现冒领应用的情况发生。YunOS应用中心为了保障每位开发者和每名用户的利益,需要对应用上传者验证身份,确保万一发生问题时也能追溯到实名认证的个人或者企业。由于之前没有实名认证,本次系统升级需要实名认证后再次认领应用,希望您能理解。</div>
<div class="one">Q:为什么要使用支付宝认证,是否安全?</div>
<div class="one">A:阿里集团的支付宝拥有最高的安全等级,YunOS应用中心直接使用支付宝的验证结果。在认证中请您放心您的支付宝账号安全,我们只做验证,我们无权记录您的支付宝账号,无权获得您的财务数据。我们只是通过支付宝的获得您实名认证的信息而已。</div>
<div class="one">Q:如果应用更新不及时会怎么样?</div>
<div class="one">A:YunOS应用中心为了终端用户的体验,需要第一时间为用户提供最新的应用供用户使用。所以YunOS应用中心的策略是会通过其他渠道的api提供给用户最新的应用。所以请您及时更新您的应用,以免被其他渠道代替。</div>
<div class="one">Q:什么是大卡片?</div>
<div class="one">A:最新的YunOS 3.0的UI使用了大卡片的方式呈现每一个应用,如果您不提供大卡片,系统会通过算法来直接扩大您应用的icon,扩大后的大卡片可能会有一些显示不美观的问题出现,为了您应用的显示质量,请您能提供应用的大卡片图标。YunOS 3.0 UI请参见 http://www.yunos.com/yunos30.html?spm=a2c01.2466453.intro.1.hzbEpv</div>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
name: "DevHelp",
components: {},
data() {
return {};
},
computed: {},
methods: {},
beforeMount() {},
};
</script>
<style lang="scss" scoped>
.container {
width: 100%;
height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
& > img {
display: block;
}
}
</style>
\ No newline at end of file
<template>
<div class="container">
<div class="m-certification-info">
<div class="con">
<div class="container">
<div class="p-steps">
<span class="list">
<!--<span class="one one1">-->
<!--<span class="step-con current">-->
<!--<s class="num"></s>-->
<!--<span class="title">开发者实名认证</span>-->
<!--</span>-->
<!--</span>-->
<!--<span class="one one2">-->
<!--<span class="step-con">-->
<!--<s class="num"></s>-->
<!--<span class="title">补充联系人信息</span>-->
<!--</span>-->
<!--</span>-->
<!--<span class="one one3">-->
<!--<span class="step-con">-->
<!--<s class="num"></s>-->
<!--<span class="title">认证成功</span>-->
<!--</span>-->
<!--</span>-->
<!--<span class="one one4">-->
<!--<span class="step-con">-->
<!--<s class="num"></s>-->
<!--<span class="title">认证成功</span>-->
<!--</span>-->
<!--</span>-->
<!--<span class="one one-last">-->
<!--<span class="step-con">-->
<!--<s class="num"></s>-->
<!--<span class="title">认证成功</span>-->
<!--</span>-->
<!--</span>-->
</span>
</div>
<div class="info">
<form class="J_form" action="" method="post" autocomplete="off">
<table class="info-t">
<% if(cert === 1){ %>
<tr class="info-name-tr">
<td class="info-name-key key">名称</td>
<td class="info-name">
<% if(authentication.type === 2){ %> <%=
authentication.realName %> <% }else{ %> <%=
authentication.company %> <% } %>
<br />
这不是您的名称?
<a class="cert" href="#certify/certify"
>使用您企业(或个人)的支付宝账号重新认证</a
>
</td>
</tr>
<% } %>
<tr class="p-ipt-parent">
<td class="key">联系人姓名<i class="star">*</i></td>
<td>
<input
class="contactName ipt p-ipt"
data-num="127"
name="name"
type="text"
value="<%if(contactName){%><%}%>"
/>
<span class="p-ipt-errorCon"></span>
</td>
</tr>
<tr class="p-ipt-parent">
<td class="key">手机号码<i class="star">*</i></td>
<td>
<input
class="contactPhone ipt p-ipt"
data-num="63"
name="mobileNumber"
type="text"
value="<%if(contactMobile){%><%=contactMobile%><%}%>"
/>
<span class="p-ipt-errorCon"></span>
</td>
</tr>
<tr class="p-ipt-parent">
<td class="key">座机电话<i class="star">*</i></td>
<td>
<input
class="ipt p-ipt contactTele"
data-num="63"
name="phoneNumber"
type="txt"
value="<%if(contactPhone){%><%=contactPhone%><%}%>"
/>
<span class="p-ipt-errorCon"></span>
</td>
</tr>
<tr class="p-ipt-parent">
<td class="key">旺旺/QQ<i class="star">*</i></td>
<td>
<input
class="contactTalk ipt p-ipt"
data-num="127"
name="wangwang"
type="text"
value="<%if(contactQQWangWang){%><%=contactQQWangWang%><%}%>"
/>
<span class="p-ipt-errorCon"></span>
</td>
</tr>
<tr class="p-ipt-parent">
<td class="key">Email<i class="star">*</i></td>
<td>
<input
class="contactEmail ipt p-ipt"
data-num="127"
data-type="email"
name="email"
data-type="email"
type="text"
value="<%if(contactEmail){%><%=contactEmail%><%}%>"
/>
<span class="p-ipt-errorCon"></span>
</td>
</tr>
<tr class="p-ipt-parent">
<td class="key">验证码<i class="star">*</i></td>
<td class="verifyCodeContainer">
<input
class="verifyCode ipt short-ipt"
data-type="verifyCode"
name="verifyCode"
type="text"
/>
<img
class="verifyCodeImg"
src="http://appdev.yunos.com/checkCode.htm"
alt="点击更换"
/>
<span class="p-ipt-errorCon"></span>
</td>
</tr>
<tr class="p-ipt-parent">
<td class="bottom-td" colspan="2">
<label>
<div class="p-checkbox cb">
<input class="p-checkbox-ipt" type="checkbox" />
</div>
我同意阿里云开发者平台协议
</label>
<a
class="agree"
target="_blank"
href="http://act.yun.taobao.com/market/yunos/appdev/agreement.php"
>查看协议详情</a
>
</td>
</tr>
<tr class="p-ipt-parent">
<td class="bottom-td" colspan="2">
<p class="notice"></p>
<button type="button" class="p-btn p-btn-gray sbt">
提交
</button>
<button type="button" class="p-btn J_reset">重置</button>
</td>
</tr>
</table>
</form>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
name: "DevHelp",
components: {},
data() {
return {};
},
computed: {},
methods: {},
beforeMount() {},
};
</script>
<style lang="scss" scoped>
.container {
width: 100%;
height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
& > img {
display: block;
}
}
</style>
\ No newline at end of file
<template>
<div class="container">
<div class="m-certification-dev">
<div class="con">
<div class="container">
<div class="p-steps">
<span class="list">
<!--<span class="one one1">-->
<!--<span class="step-con current">-->
<!--<s class="num"></s>-->
<!--<span class="title">开发者实名认证</span>-->
<!--</span>-->
<!--</span>-->
<!--<span class="one one2">-->
<!--<span class="step-con">-->
<!--<s class="num"></s>-->
<!--<span class="title">补充联系人信息</span>-->
<!--</span>-->
<!--</span>-->
<!--<span class="one one3">-->
<!--<span class="step-con">-->
<!--<s class="num"></s>-->
<!--<span class="title">认证成功</span>-->
<!--</span>-->
<!--</span>-->
<!--<span class="one one4">-->
<!--<span class="step-con">-->
<!--<s class="num"></s>-->
<!--<span class="title">认证成功</span>-->
<!--</span>-->
<!--</span>-->
<!--<span class="one one-last">-->
<!--<span class="step-con">-->
<!--<s class="num"></s>-->
<!--<span class="title">认证成功</span>-->
<!--</span>-->
<!--</span>-->
</span>
</div>
<div class="info">
<p class="developer">
亲爱的开发者
<span class="user"><%=name%> 您好:</span>
</p>
<p class="notice">
<% if(cert === 0){%>
您尚未完成YunOS的开发者实名认证,现在就对您的支付宝账号进行实名认证,马上就可以上传您的应用了!
<%}else if(cert === 2){%>
<b class="p-red"
>您申请的人工认证正在审核中,请您联系小二确认审核进度。</b
>
<%}else if(cert === 4){%>
<b class="p-red"
>您申请的人工认证申请已经被拒绝,请您通过支付宝账号进行实名认证。</b
>
<%}%>
</p>
<div class="tips">
<p class="title">认证前请留意:</p>
<p class="txt">
<span class="p-red">
a)
支付宝账号仅用来认证您的身份,在未经您授权的情况下,绝不会用于任何扣款操作,请放心;
</span>
<br />
b)
如果您代表企业,请使用已经通过企业账号实名认证的支付宝账号进行登录认证,这样才可以注册为企业开发者哦!
<br />
c)
如果您代表个人开发者,请使用实名认证的个人支付宝账号进行登录验证;
<br />
d)
如果您的企业还未申请企业支付宝账号,烦请尽快推进贵公司的财务同学,在此之前可以先用您个人实名认证的支付宝账号认证;
<br />
e)
如果企业的财务同学担心泄露支付宝账号密码,在认证过程中可以交由财务同学全程操作,一旦完成认证,后续再无需登录企业账号;
<br />
f)
使用个人支付宝账号认证开发者身份的企业用户,后续可以通过“开发者身份管理-更换认证支付宝账号”来修改成企业身份的支付宝账号;
<br />
g) 还没有支付宝账号?现在就去<a
class="regist p-btn-orange"
href="https://memberprod.alipay.com/account/reg/index.htm"
target="_blank"
>注册</a
>一个吧!
<br />
h) 已付费推广用户可点击跳过支付宝认证,申请后请主动联系小二。<a
class="p-orange manual_check"
href="#certify/certify"
>申请人工认证</a
>
</p>
</div>
<div class="zhifu">
<div class="zhifubao clearfix">
<img
class="i-img"
src="http://gtms03.alicdn.com/tps/i3/TB1nRbQGFXXXXXxXpXXCCuUIpXX-68-68.png"
alt=""
/>
<div class="i-txt">
<span class="title">登录支付宝快速认证</span>
<p class="notice">
适用于已通过支付宝实名认证的个人、企业,即时开通,无需等待
</p>
<p class="tips">
您需要一个已完成认证的支付宝账号,根据支付宝完成的认证类型(个人/企业认证),完成个人/企业实名认证。
</p>
</div>
</div>
<div class="btn-box">
<a class="p-btn" href="/app/auth/login.htm">立即认证</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
name: "DevHelp",
components: {},
data() {
return {};
},
computed: {},
methods: {},
beforeMount() {},
};
</script>
<style lang="scss" scoped>
.container {
width: 100%;
height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
& > img {
display: block;
}
}
</style>
\ No newline at end of file
<template>
<div class="m-certification-info-show">
<div class="con">
<div class="container">
<div class="info">
<h1 class="p-title">开发者身份信息</h1>
<form class="J_form" action="" method="post" autocomplete="off">
<table class="info-t">
<%if(cert === 1){%>
<tr class="info-name-tr">
<td class="info-name-key key">名称:</td>
<td class="info-name">
<%=authentication.realName%>
</td>
</tr>
<%}%>
<tr class="p-ipt-parent">
<td class="key">联系人姓名:</td>
<td>
<%=contactName%>
</td>
</tr>
<tr class="p-ipt-parent">
<td class="key">手机号码:</td>
<td>
<%=contactMobile%>
</td>
</tr>
<tr class="p-ipt-parent">
<td class="key">座机电话:</td>
<td>
<%=contactPhone%>
</td>
</tr>
<tr class="p-ipt-parent">
<td class="key">旺旺/QQ:</td>
<td>
<%=contactQQWangWang%>
</td>
</tr>
<tr class="p-ipt-parent">
<td class="key">Email:</td>
<td>
<%=contactEmail%>
</td>
</tr>
</table>
</form>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
name: "DevHelp",
components: {},
data() {
return {};
},
computed: {},
methods: {},
beforeMount() {},
};
</script>
<style lang="scss" scoped>
</style>
\ No newline at end of file
<template>
<div class="m-certification-info-modify">
<div class="con">
<div class="container">
<div class="info">
<h1 class="p-title">修改联系人信息</h1>
<form class="J_form" action="" method="post" autocomplete="off">
<table class="info-t">
<%if(cert === 1){%>
<tr class="info-name-tr">
<td class="info-name-key key">支付宝账号</td>
<td class="info-name"><%=authentication.email%></td>
</tr>
<%}%>
<tr class="p-ipt-parent">
<td class="key">联系人姓名<i class="star">*</i></td>
<td>
<input
class="contactName ipt p-ipt"
data-num="128"
name="name"
type="text"
value="<%=contactName%>"
/>
<span class="p-ipt-errorCon"></span>
</td>
</tr>
<tr class="p-ipt-parent">
<td class="key">手机号码<i class="star">*</i></td>
<td>
<input
class="contactPhone ipt p-ipt"
data-num="64"
name="mobileNumber"
type="text"
value="<%=contactMobile%>"
/>
<span class="p-ipt-errorCon"></span>
</td>
</tr>
<tr class="p-ipt-parent">
<td class="key">座机电话<i class="star">*</i></td>
<td>
<input
class="ipt p-ipt contactTele"
data-num="64"
name="phoneNumber"
type="txt"
value="<%=contactPhone%>"
/>
<span class="p-ipt-errorCon"></span>
</td>
</tr>
<tr class="p-ipt-parent">
<td class="key">旺旺/QQ<i class="star">*</i></td>
<td>
<input
class="contactTalk ipt p-ipt"
data-num="128"
name="wangwang"
type="text"
value="<%=contactQQWangWang%>"
/>
<span class="p-ipt-errorCon"></span>
</td>
</tr>
<tr class="p-ipt-parent">
<td class="key">Email<i class="star">*</i></td>
<td>
<div class="tips">
请填写真实有效的邮箱地址并完成验证,开发者后台的最新动态会第一时间邮件通知
</div>
<input
class="contactEmail ipt p-ipt"
data-num="128"
data-type="email"
name="email"
type="text"
value="<%=contactEmail%>"
/>
<span class="p-ipt-errorCon"></span>
</td>
</tr>
<tr class="p-ipt-parent">
<td class="key">验证码<i class="star">*</i></td>
<td class="verifyCodeContainer">
<input
class="verifyCode ipt short-ipt"
data-type="verifyCode"
name="verifyCode"
type="text"
/>
<img
class="verifyCodeImg"
src="http://appdev.yunos.com/checkCode.htm"
alt="点击更换"
/>
<span class="p-ipt-errorCon"></span>
</td>
</tr>
<tr class="p-ipt-parent">
<td class="bottom-td" colspan="2">
<p class="notice"></p>
<button type="button" class="p-btn p-btn-orange sbt">
提交
</button>
<button type="button" class="p-btn J_reset">重置</button>
</td>
</tr>
</table>
</form>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
name: "DevHelp",
components: {},
data() {
return {};
},
computed: {},
methods: {},
beforeMount() {},
};
</script>
<style lang="scss" scoped>
</style>
\ No newline at end of file
<template>
<div class="m-index">
<div
class="banner"
style="
background: url(http://gtms01.alicdn.com/tps/i1/TB1rGYSGFXXXXawXXXXDcMi7VXX-1440-336.png)
no-repeat center 0 #657284;
"
>
<a class="btn" href="#newapp/upload"></a>
</div>
<div class="con">
<p class="nav2 clearfix">
<a class="one one1" href="#certify/certify"> 开发者实名认证 </a>
<a class="one one2" href="#newapp/upload"> 上传新应用 </a>
<a class="one one3" href="#claim/sift"> 认领新应用 </a>
<a class="one one4" href="#myapp/spu_list"> 我的应用 </a>
<a class="one one5" href="#generalize"> 申请推广 </a>
</p>
</div>
</div>
</template>
\ No newline at end of file
<template>
<div class="p-info">
<div class="section-main clearfix">
<dl class="g-service">
<dt>YunOS服务<s></s></dt>
<dd>
<a target="_blank" href="http://zhushou.yunos.com">云手机助手</a>
</dd>
<dd><a target="_blank" href="http://my.yunos.com">云空间</a></dd>
<dd><a target="_blank" href="http://zhuti.yunos.com">主题中心</a></dd>
<dd><a target="_blank" href="http://apps.yunos.com">应用中心</a></dd>
</dl>
<dl class="g-version">
<dt>YunOS版本<s></s></dt>
<dd>
<a target="_blank" href="http://www.yunos.com/yunos30.html"
>YunOS 3.0</a
>
</dd>
</dl>
<dl class="g-dev">
<dt class="touchable">帮助中心</dt>
<dd><a target="_blank" href="#help/help">帮助中心首页</a></dd>
<dd><a target="_blank" href="#help/agreement">平台协议</a></dd>
<dd><a target="_blank" href="#help/document">开发者文档</a></dd>
<dd><a target="_blank" href="#help/qa">Q&A</a></dd>
</dl>
<dl class="g-sns">
<dt>关注YunOS<s></s></dt>
<dd>
<a
class="g-lw-entry"
href="javascript:void(0);"
style="padding: 0; border: none"
>微博</a
>
<img
width="80"
height="74"
title="扫描二维码关注 YunOS 官方来往账号"
alt="云OS微博"
src="//m.alicdn.com/home-node/4.0.11/img/global/qr-weibo.png"
/>
</dd>
</dl>
</div>
</div>
</template>
\ No newline at end of file
<template>
<div class="p-pagination">
<%if(total_page - 0 > 1){%>
<div class="pageWrap">
<%if(page > 1){%>
<a
class="pre"
data-page="<%=page - 1%>"
href="<%=url%>/page=<%=page - 1%>/pageSize=<%=pageSize%>"
>上一页</a
>
<%}%> <%for(var i = pre; i > 0; i--){%>
<a
class="page_num"
data-page="<%=page - i%>"
href="<%=url%>/page=<%=page - i%>/pageSize=<%=pageSize%>"
><%= page - i%></a
>
<%}%>
<span class="page_num cur"><%=page%></span>
<%for(var i = 1; i <= next; i++){%>
<a
class="page_num"
data-page="<%=page + i%>"
href="<%=url%>/page=<%=page + i%>/pageSize=<%=pageSize%>"
><%= page + i%></a
>
<%}%> <%if(page < total_page){%>
<a
class="next"
data-page="<%=page - 0 + 1%>"
href="<%=url%>/page=<%=page - 0 + 1%>/pageSize=<%=pageSize%>"
>下一页</a
>
<%}%>
<span><%=total_page%></span>
<span class="goto"
>到第 <input class="page_val" type="text" />
<b class="goto_btn">确定</b></span
>
</div>
<%}%>
</div>
</template>
\ No newline at end of file
<template>
<div class="J_upload_progress">
<div class="upload">
<h3>上传文件</h3>
<h4>文件名称:</h4>
<div class="progress_wrap">
<div class="progress_mask"></div>
</div>
<div class="percent">0%</div>
</div>
<div class="error hidden">
<h3>上传结果</h3>
<div class="errorMsg"></div>
</div>
</div>
</template>
\ No newline at end of file
<template>
<div class="container">
<div class="module" data-spm="a2cwo">
<div class="m-help">
<input type="hidden" name="type" value="GBK"/>
<div class="con">
<div class="p-help-tab clearfix">
<a data-index="0" class="tab-one current" href="#"><s class="icon"></s>帮助中心首页</a>
<a data-index="1" class="tab-one" href="#"><s class="icon user"></s>应用规范指引</a>
<a data-index="2" class="tab-one" href="#"><s class="icon designer"></s>开发者文档</a>
<a data-index="3" class="tab-one" href="#"><s class="icon cert"></s>Q&A</a>
</div>
<div class="container">
<div class="tab-content">
<div class="agreement-box"> <h3 class="title"><b>侵权投诉指南</b></h3> <p> 应用中心”作为中立的信息存储空间服务者,一直致力于为广大的第三方建立一个公平、公开、公正的平台,并对“应用中心”进行运营管理、系统维护和业务推广。</p> <p> 鉴于,“应用中心”中的第三方提供的内容数量之庞大,为了建立良好的市场秩序和保护权利人的合法权益,根据相关法律之规定,“应用中心”特制定本指引,</p><p>以尽可能保护权利人的合法权益。</p> <p class="sub-title">1.通知“应用中心”</p> <p>如果权利人认为第三方在“应用中心”提供的游戏应用侵犯其合法权益,请按以下要求进行投诉,通知“应用中心”:</p> <p>权利人向“应用中心”提交书面的通知书及证明材料(请使用“应用中心”提供的<a href="//m.alicdn.com/appdev2/model20150106.docx">通知书模板</a>按要求填写并提供相关材料)。</p> <p>“应用中心”接收通知书方式:</p> <p>(1)将通知书及证明材料扫描后通过电子邮件发送至电子邮箱:patrol@service.alibaba.com </p> <p>(2)通过邮寄的方式将通知书及证明材料原件邮寄至:</p> <p> 地址:杭州市余杭区文一西路969号阿里巴巴西溪园区3号楼3层</p> <p> 邮编:311121</p> <p class="sub-title">2. “应用中心”反馈</p> <p>“应用中心”作为中立的平台服务者,在收到权利人符合要求的通知书及证明材料后,会转送给被投诉方。</p> <p>被投诉方认可侵权事实的,“应用中心”会尽快按照相关法规的规定进行处理。被投诉方不认可侵权事实的,被投诉方按照下文反通知要求进行。</p> <p class="sub-title">3. 反通知</p> <p>如果被投诉方不认可侵权事实的,请按以下要求在3个工作日内进行反通知:</p> <p>被投诉方向“应用中心”提交书面的反通知书及证明材料(请使“应用中心”提供的<a href="//m.alicdn.com/appdev2/modelback20150106.docx">反通知书模板</a>按要求填写并提供相关材料)。</p> <p“应用中心”接收反通知书方式:</p> <p>(1)将反通知书及证明材料扫描后通过电子邮件发送至电子邮箱:patrol@service.alibaba.com </p> <p>通过邮寄的方式将反通知书及证明材料原件邮寄至: </p> <p> 地址:杭州市余杭区文一西路969号阿里巴巴西溪园区3号楼3层</p> <p> 邮编:311121 </p> <p>“应用中心”作为中立的平台服务者,收到被投诉人符合要求的反通知书及证明材料后,会转送给权利人。</p> <p>权利人对于被投诉方的反通知内容有异议,并有新的、可充分推翻被投诉方意见的证明材料,可向“应用中心”提供。</p> <p>权利人也可另行通过行政投诉、法院诉讼等方式直接和被投诉方解决争议。</p> <p class="sub-title">4. 注意事项</p> <p>(1)如果材料涉外的,应按照法律的规定进行公证转递,并同时提供相应的公证转递材料。</p> <p>(2)如果权利人已就相关侵权事项向有关行政部门或法院提起投诉或诉讼的,请将相关受理证明及提交行政部门或法院的证据材料一同提交,</p> <p>这将有利于权利人的投诉处理。</p> <p>(3)如果根据投诉情况,被投诉的游戏产品应在“应用中心”终止运营的,“应用中心”需要遵守相关法规关于游戏终止运营时限的要求,</p> <p>例如根据目前《网络游戏管理暂行办法》的规定,对于网络游戏的终止运营,需要提前60日予以公告后方可终止运营。</p> </div>
</div>
<div style="display:none;" class="tab-content">
<div class="agreement-box"> <p class="sub-title">一、总则</p><p>1.1请确保您对所发布的应用及其相关素材拥有合法的知识产权或已取得合法充分的知识产权授权。若您使用受知识产权保护的第三方材料(商标、著作权、商业机密或其它知识产权),需在发布应用过程中上载知识产权证明材料。</p><p>1.2请根据本指引进行自检,以保证您的应用更易通过审核,快速发布。针对不合符要求的应用,“应用中心”有权不允许发布或予以驳回,同时,“应用中心”对下述的规范指引内容保留修订权。</p><p class="sub-title">二、用户隐私安全</p><p>2.1 在未经用户确认的情况下读取、复制、转发、编辑、传播或删除终端内储存的文件或数据的应用不允许发布。</p><p>2.2 在采集或使用用户隐私数据之前未通知并获得用户同意的应用不允许发布。</p><p>2.3 恶意泄漏用户个人信息的应用不允许发布。</p><p>2.4 具有拨打骚扰电话或发送类似短信/彩信功能的应用不允许发布。&nbsp;</p><p>2.5 未获得用户同意随便发送推送消息的应用不允许发布。</p><p>2.6 用于钓鱼或群发垃圾邮件用途的应用不允许发布。</p><p class="sub-title">三、内容规范</p><p>3.1 任何误导和暗示YunOS是该应用程序来源或提供商,或者应用含有任何表示YunOS认可其质量或功能的说明的应用不允许发布。</p><p>3.2 与YunOS企业形象品牌、产品或业务名称混淆,或内置“云标识”的应用不允许发布。</p><p>3.3 包含虚假,欺诈或误导性陈述的应用不允许发布。</p><p>3.4 内置中奖或抽奖信息的应用不允许发布。</p><p>3.5 容易与第三方知名应用产生混淆的应用不允许发布。</p><p>3.6 与“应用中心”已有的应用重复或雷同的应用不允许发布。</p><p>3.7 主要内容为营销或使用推送通知发送广告等没有过多价值的应用不允许发布。</p><p>3.8 需使用积分、金币等才能运行的应用不允许发布。</p> <p>3.9 在后台自动安装其他应用,或推荐与当前应用无关的其他应用(包括应用链接和推荐插件),或推荐其他应用市场的应用不允许发布。</p> <p>3.10 需要root权限或自带系统破解的应用不允许发布。</p> <p class="sub-title">四、内容审核:</p><p>4.1软件名称</p><p>请提供与软件内容相符的软件名称,如是英文名称请在前面先进行中文翻译,长度在18个字符以内为佳。</p><p>以下现象会导致审核不通过</p><p>4.1.1 应用名称中涉及“安卓“或“Android”字眼的;</p> <p>4.1.2 应用名称中涉及敏感字眼(含淫秽色情、暴力、root、破解版、Crack等)的;</p> <p>4.1.3 应用名称为纯英文名称,但无法翻译的除外;</p> <p>4.1.4 应用名称中包含版本信息的;</p> <p>4.1.5 应用名称中使用特殊符号,不利于展示的;</p> <p>4.1.6 应用名称过长不利于展示的。</p> <p>4.2 应用分类:</p><p>请根据提供的软件内容选择正确类目。</p><p>以下现象会导致审核不通过:</p><p>4.2.1所选类目与软件实际功能不符。&nbsp;</p><p>4.3关键字:</p><p>请根据软件内容如实进行关键字描述,多个关键字用全角或者半角“,”分开。</p><p>以下现象会导致审核不通过:</p><p>4.3.1 关键字未使用字、词的;</p><p>4.3.2 关键字涉及敏感字眼(含淫秽色情、暴力、root、破解版、Crack等)的;</p><p>4.3.3 关键字使用多个与应用本身关联性不是非常紧密的热门字词。</p> <p>4.4简介:</p><p>请提供50个字内能简单概括软件内容且凸显软件特性的简介。</p><p>以下现象会导致审核不通过:</p><p>4.4.1 简介内容中含错误代码、显示乱码不利于展示的;</p><p>4.4.2 简介内容过于简单,不能表达应用内容的;</p><p>4.4.3简介内容无完整断句;</p> <p>4.4.4 简介内容涉及敏感字眼(含淫秽色情、暴力、root、破解版、Crack等)的。</p> <p>4.5描述:</p><p>请详细提供应用的特点、功能、作用、操作方式和一些需要明确告之用户细则说明(如涉及资费需明示、安装数据包在50M以上大小需告之、借助其他应用支持的要提醒等)。</p><p>以下现象会导致审核不通过:</p><p>4.5.1 应用描述过于简单、笼统无法体现应用特点、功能、作用、操作方式等内容的;</p><p>4.5.2 应用描述含错误代码、显示乱码不利于展示的;</p><p>4.5.3 收费应用,应用描述中未明示用户资费标准的;</p><p>4.5.4 安装数据包超过50M,应用描述未明示用户使用wifi环境的;</p><p>4.5.5 如需借助其他应用支持,应用描述未明示用户的;</p><p>4.5.6 应用描述中内容排序错乱未经整理的;</p><p>4.5.7 应用描述专门针对安卓系统开发或“仅限于安卓”或“安卓版”等字样的;</p><p>4.5.8 应用描述专为某一手机或某个手机厂商开发的(该手机并未承载YunOS系统),或内容中涉及非承载YunOS系统的某款硬件厂商和机型名称。</p> <p>4.6软件截图:</p><p>请提供3张以上软件运行时优质、清晰、完整的截图,建议截选软件开启、进行、设置、结束等不同时段的界面截图。(目前手机上应用中心仅支持竖向截图,如为横向截图则会被压缩成竖向,影响美观,&nbsp;图片大小在320x480,图片格式为 JPG)。</p><p>以下现象会导致审核不通过:</p><p>4.6.1截图模糊、明显压缩痕迹不利于展示的;</p> <p>4.6.2 上传的截图有重复或相似度较高的;</p> <p>4.6.3 截图上明显带其他应用市场水印logo的。</p> <p class="sub-title">五、功能审核:</p><p>5.1安装&nbsp;</p><p>正常安装到手机,图标logo显示正常,安装后显示的名称与提供的应用名称相符。</p><p>以下现象会导致审核不通过:</p><p>5.1.1 应用无法正常安装或对YunOS兼容不佳的;</p><p>5.1.2安装后出现异常现象(如出现两个图标入口);</p><p>5.1.3安装后图标Logo无显示或显示比例与其他软件图标差距过大,不利于展示的。&nbsp;</p> <p>5.1.4 需注册但无注册入口或注册方式提醒的;</p> <p>5.1.5 应用如带有识别手机系统功能,未正确识别并显示为YunOS系统;涉及来源信息未展示来自于YunOS的。</p> <p>5.2安全</p><p>应用安装后,经过安全软件扫描显示无异常。</p><p>以下现象会导致审核不通过:</p><p>5.2.1 被检测出有病毒的;</p><p>5.2.2 被检测出有广告插件,提示涉及风险或广告插件与应用本身无关联的;</p><p>5.2.3 被检测出广告插件中含有积分墙或通知栏的;</p><p>5.2.4 被检测出调取与应用本身完全无关联的权限接口的;</p><p>5.2.5 被检测出或用户反馈应用会未经同意上行多条与应用使用无关短信的;</p> <p>5.2.6.被检测出可能威胁到YunOS系统安全或稳定性的。</p> <p>5.3 卸载</p><p>通过软件管理界面或桌面直接卸载软,能完全卸载。</p><p>以下现象会导致审核不通过:</p><p>5.3.1无法卸载成功的软件;</p><p>5.3.2卸载不完全的软件;</p><p>5.3.3卸载软件的同时会导致手机重启或其他异常现象。</p> <p class="sub-title">六、更新审核</p><p> 6.1 更新描述</p><p>提供新版本的更新日志,明确修饰和更新的内容,且更新日志仅保留最新版日志。</p><p>以下现象会导致审核不通过:</p><p>6.1.1 更新日志未增减(版本更新日志则需与当前版本一致)的</p><p>6.1.2更新日志与提供版本不一致。&nbsp;</p> <p>6.2 应用截图</p><p>&nbsp;提供新版本与老版本修改、优化处界面的软件截图。</p><p>以下现象会导致审核不通过:</p><p>6.2.1软件运行展示界面与提供截图有明显差异。</p><p>6.3 应用更新</p> <p>在“应用中心”能正常进行版本更新。</p><p>以下现象会导致审核不通过:</p><p>6.3.1无法正常提示版本更新;</p><p>6.3.2提示后无法进行更新;</p><p>6.3.3更新后软件不能正常运行。</p></div>
</div>
<div style="display:none;" class="tab-content">
<div class="agreement-box"> <h3 class="title"><b>YunOS开发者服务协议</b></h3> <p class="bold">特别提示: </p> <p class="bold">签订之前,您应当认真阅读并遵守《YunOS开发者服务协议》(以下简称“本协议”),请您务必审慎阅读、充分理解各条款内容,</p> <p class="bold">特别是免除或者限制责任的条款、争议解决和法律适用条款。免除或者限制责任的条款可能将以加粗字体显示,您应重点阅读。</p> <p class="bold">当您阅读本协议且点击同意后,即表示您已充分阅读、理解并接受本协议的全部内容。您承诺接受并遵守本协议的约定,届时您不应以未阅读本协议的内容等理由,主张本协议无效或要求撤销本协议。</p> <p> </p> <p>本协议是YunOS应用中心开放平台(以下简称“应用中心”)与应用中心的开发者 (开发者:指经有效申请并通过应用中心验证的,基于应用中心进行开发、提交或</p> <p> 发布应用的单位或者个人,以下简称“乙方”)就应用中心为乙方提供应用中心信息存储空间技术服务(以下简称“应用中心服务”)相关事项所订立的有效合约。</p> <p> 乙方通过网络页面点击确认选择接受本协议,即表示双方已达成协议并同意接受本协议的全部约定内容。</p> <p>在接受本协议之前,请乙方仔细阅读本协议的全部内容。如果乙方对本协议的条款有疑问的,请通过YunOS应用中心相关业务部门进行询问,应用中心相关人员将向</p> <p>乙方解释条款内容。如果乙方不同意本协议的任意内容或者无法准确理解应用中心对条款的解释,请不要进行后续操作。</p> <p class="sub-title">一、定义</p> <p>除非上下文另有所指或文义另作说明,下列词语在本协议中具有如下含义:</p> <p>1.1. 智能终端:指具备开放的操作系统平台、个人电脑级的处理能力、高速接入能力和丰富的人机交互界面的终端产品,目前主要是指智能手机、平板电脑、智能电视等。</p> <p>1.2. YunOS:指应用中心的智能终端操作系统,包括对YunOS修改而产生的衍生作品等。</p> <p>1.3. 应用中心:应用中心提供的、聚合了广大YunOS系统开发者开发、提供的应用资源,面向YunOS用户的开放性平台。在应用中心:1)开发者可以按照法律及应</p> <p>用中心的要求开发应用、提交应用、发布应用、有偿或无偿许可用户下载和使用应用或提供其他服务;2)用户可以按照法律及应用中心的要求有偿或无偿地下载、使</p> <p>用应用或接受其他服务;3)应用中心将负责平台的运营管理、系统维护、提供信息存储空间服务等。</p> <p> 1.4. 乙方应用:指应用中心根据本协议为乙方提供服务所指向的、乙方自主享有知识产权或获得合法授权的应用、服务、相关标志图片和广告等。</p> <p> 1.5. 最终用户:指按照法律及应用中心的要求,在应用中心有偿或无偿地下载、使用乙方应用或接受乙方其他服务的人。</p> <p class="sub-title">二、应用中心服务内容</p> <p>2.1. 应用中心为乙方提供免费的信息存储空间技术服务。应用中心为最终用户提供互联网信息服务。</p> <p>2.2. 乙方可享受应用中心提供的信息存储空间技术服务为最终用户提供乙方应用的许可授权,并自行与最终用户达成许可协议。</p> <p>2.3. 最终用户可以浏览应用中心、可有偿或者无偿的获得乙方应用的许可授权,并可就其所下载的乙方应用发表评论等。</p> <p class="sub-title">三、乙方应用</p> <p>3.1. 乙方明确理解并同意,其在正式向最终用户提供乙方应用的使用许可之前,应与最终用户单独签署相应的《应用许可使用协议》,并严格按照协议的约定履行。</p> <p>3.2. 乙方应用的描述:乙方提供的在应用中心上展示的文字描述、截图和/或照片,可以是(a) 对乙方合法拥有且乙方希望许可的乙方应用描述;或 (b) 对最终用</p> <p>户正寻找的乙方应用的描述。应用中心将对应用做分类并提供分类目录,乙方可在应用中心上发布任一类乙方应用描述,或两种类型同时发布,条件是乙方必须取得</p> <p>应用中心的同意,并将该等乙方应用和乙方应用描述归入正确的类目内。应用中心不对乙方应用描述和分类的准确性或内容负责。</p> <p>3.3. 由于乙方违反本协议的相关约定,应用中心有权从应用中心删除乙方应用或限制其发布,此时将造成最终用户使用的乙方应用无法正常提供服务。该等情况的</p> <p>发生属于乙方过错或过失,相关责任应由乙方独立承担。</p> <p>3.4. 乙方应秉承为最终用户提供优质服务的理念为最终用户提供便利。最终用户使用乙方提供的乙方应用和服务发生的任何纠纷应由最终用户和乙方自行协商解</p> <p>决,应用中心不承担任何责任。应用中心在最终用户与乙方产生纠纷时可以协助双方进行协调,但应用中心并不保证协调取得实际效果。 </p> <p class="sub-title">四、应用中心权利义务</p> <p>4.1. 应用中心负责平台的运营、制定应用中心的规划、内容管理与组织、运营体系等相关的管理规范、流程、审核标准等。</p> <p>4.2. 应用中心有权利核实乙方身份信息,包括但不限于核实乙方注册信息、身份证号、营业执照、组织机构代码证等相关资料。</p> <p>4.3. 应用中心有权对乙方提交和发布的乙方应用和信息进行标题和简介审核、功能性和安全性测试等。若应用中心发现(包括但不限于应用中心自行发现及/或第三</p> <p>方告知应用中心)乙方应用或信息有违反任何法律法规、违反应用中心管理规范或违反社会基本的伦理道德等情况(包括但不限于恶意扣费、信息窃取、远程控制、</p> <p>方告知应用中心)乙方应用或信息有违反任何法律法规、违反应用中心管理规范或违反社会基本的伦理道德等情况(包括但不限于恶意扣费、信息窃取、远程控制、</p> <p>恶意传播、资费消耗、系统破坏、诱骗欺诈以及法律法规明文禁止内容),应用中心有权对上述乙方应用或信息采取不予发布、删除、屏蔽、纳入黑名单等措施,并</p> <p>有权单方暂停、终止为乙方提供服务或做出其他合理处理。但乙方明确,乙方才是上述乙方应用内容、功能及安全测试的负责方,对此负全责。</p> <p>4.4. 应用中心仅为乙方提供上传存储空间服务,应用中心不会对乙方上传的乙方应用作任何形式的编辑、修改,也不会编辑或修改被链接的应用信息内容。任何经</p> <p>应用中心发布的乙方应用,均由乙方承担责任。</p> <p>4.5. 为了更好地服务最终用户及合作伙伴,应用中心有权对相应数据进行收集和使用:</p> <p>&nbsp;&nbsp;4.5.1. 应用中心有权收集和享有乙方和最终用户于YunOS、应用中心或应用中心网站上的注册数据、乙方服务信息和运营数据。如发现注册数据或服务行为中存在</p> <p>&nbsp;&nbsp;任何问题或怀疑,均有权向乙方发出询问或改正的通知,或者直接做出删除、屏蔽等处理。</p> <p>&nbsp;&nbsp;4.5.2. 应用中心有权收集乙方应用的下载、安装等统计数据。应用中心有权依法使用所收集的信息,并对外发布或披露所收集的统计性信息。应用中心有权要求</p> <p>&nbsp;&nbsp;乙方提供其掌握的用户资料、用户使用乙方应用情况及其它信息。</p> <p>4.6.乙方提供的乙方应用一旦产生纠纷,包括但不限于乙方应用侵犯他人的知识产权、诉讼、投诉、发生违反合同约定的任何情形等,应用中心有权单方暂停、终止</p> <p>为乙方提供服务或做出其他合理处理,同时乙方需承担由此引起的全部法律责任及应用中心遭第三方追索而损失的全部费用。</p> <p>4.7.应用中心有权要求乙方在市场推广和用户宣传中标注YunOS的名称或品牌标识。</p> <p>4.8.应用中心有权将乙方应用或乙方的商标、标识、截图、名称、文字描述等信息使用在应用中心网站、客户端或相关营销传播活动、推广渠道等进行应用详情展示。</p> <p>4.9.应用中心可以提前3日邮件通知乙方的方式将本协议下的权利义务的部分或全部转让给关联公司。</p> <p>4.10.若发生乙方应用被投诉或起诉等事宜时,应用中心有权视情况向投诉方或起诉方等披露乙方信息和联系方式等。</p> <p class="sub-title">五、乙方权利义务</p> <p>5.1. 乙方必须是具备完全民事行为能力的自然人或者是具有合法经营资格的实体组织。无民事行为能力人、限制民事行为能力人以及无经营或特定经营资格的组织 </p> <p>不当注册为开发者或超过其民事权利或行为能力范围作为的,其与应用中心之间的任何协议包括本协议自始无效,应用中心一经发现,有权立即注销其帐户,并追究</p> <p>其使用应用中心服务的一切法律责任。</p> <p>5.2 乙方在应用中心进行注册时,须提供真实、有效的身份识别资料。乙方必须通过支付宝实名认证程序,并授权支付宝进行实名信息认证,包括但不限于真实姓 </p> <p>名、证件号码、营业执照、组织机构代码证、联系方式等信息。前述资料发生变更时,乙方应及时在应用中心进行线上更新。若乙方所提供的资料不真实或与事实不</p> <p>符或已变更而未在应用中心及时更新,应用中心有权单方暂停、终止为乙方提供服务或做出其他合理处理。支付宝账号只做实名认证用途,不做任何其他用途。</p> <p>5.3.乙方承诺遵守相关法律法规、本协议、应用中心管理规范及流程、社会基本伦理道德等,且不侵犯第三方的合法权利。乙方了解上述协议及规范等内容可能会不 </p> <p>时变更,并同意持续遵守。</p> <p>5.4.乙方有权利使用其注册账户和密码登陆应用中心,对用户名和密码的安全负全部责任,同时对其账户进行的所有活动和事件负全责。</p> <p>5.5.乙方有权在应用中心提交乙方应用。应用中心有权要求乙方根据YunOS提供的测试运行环境和规范对乙方应用进行测试,测试完成后提交应用中心进行兼容性测</p> <p>试。应用中心要求乙方进行前述测试的,乙方在提交的乙方应用通过应用中心兼容性测试后方可获得在应用中心发布的权利。</p> <p>5.6.乙方保证乙方应用的内容与乙方官方产品内容一致(除乙方要求删减的功能外),并及时更新。</p> <p>5.7.乙方声明并保证乙方应用及乙方所提供的相关服务(包括乙方应用中内容、内嵌的广告和链接等)符合如下要求:</p> <p>&nbsp;&nbsp;5.7.1.真实、合法、准确、完整,不会有任何淫秽、色情、不道德、欺诈、诽谤(包括商业诽谤)、非法恐吓或非法骚扰的内容;</p> <p>&nbsp;&nbsp;5.7.2.不会侵犯任何第三方享有的合法权利或权益,包括但不限于第三方知识产权等;</p> <p>&nbsp;&nbsp;5.7.3.不会违反任何法律、法规、条例或规章 (包括但不限于关于规范互联网站、互联网信息、网络游戏、不正当竞争的法律、法规、条例或规章);不会违</p> <p>&nbsp;&nbsp;反任何网络与信息安全相关法律法规以及含有恶意行为(包括但不限于恶意吸费、窃听、窃录、位置信息泄漏侵害终端用户隐私和/或侵害终端用户权益和/或</p> <p>&nbsp;&nbsp;影响终端安全和/或影响公众社会安全的非法业务);</p> <p>&nbsp;&nbsp;5.7.4.不会含有任何类型的木马、病毒、后门程序或其他恶意计算机程序;不得以任何方式干扰或企图干扰YunOS、应用中心、其他开发者的应用或其任何部</p> <p>&nbsp;&nbsp;分或功能的正常运行;</p> <p>&nbsp;&nbsp;5.7.5.不会直接或间接与下述各项内容链接:(i) 任何法律、法规、条例或规章所禁止的商品或服务,或 (ii) 无权链接或包含的商品或服务;</p> <p>&nbsp;&nbsp;5.7.6.不会将通过应用中心技术接口、公开渠道以及基于本协议项下合作获取的应用中心和应用中心网站相关数据(包括但不限于任何用户信息、用户交易信</p> <p>&nbsp;&nbsp;息、用户针对乙方应用的使用数据等)用于本协议之外的商业目的(包括但不限于单独开发应用、单独销售、与其他任何第三方进行合作);不会非法获取用</p> <p>&nbsp;&nbsp;户信息用于交易或获取不当利益。否则应用中心有权单方决定提前终止本协议,同时乙方应承担违约等全部法律责任,并就应用中心、最终用户的全部损失进</p> <p>&nbsp;&nbsp;行全额赔偿;</p> <p>&nbsp;&nbsp;5.7.7.不得未向最终用户明示并经最终用户同意,擅自调用最终用户终端通信功能,造成流量耗费、费用损失、信息泄露等;</p> <p>&nbsp;&nbsp;5.7.8.不得违法收集和使用最终用户个人信息。未经最终用户同意,不得收集最终用户的个人信息。对于最终用户个人信息的收集必须符合明示、必要等原</p> <p>&nbsp;&nbsp;则。对于最终用户个人信息的使用,不得超出收集时的明示目的。不会非法获取最终用户信息用于交易或获取不当利益;</p> <p>&nbsp;&nbsp;5.7.9.不得请求、收集、索取或以其他方式从任何最终用户那里获取对最终用户账户、密码或其他身份验证凭据的访问权;不得为任何最终用户自动登录到应</p> <p>&nbsp;&nbsp;用中心和应用中心网站提供代理身份验证凭据;不得提供“跟踪”功能,包括但不限于识别其他最终用户在乙方应用档案文件页上查看或操作;</p> <p>&nbsp;&nbsp;5.7.10.乙方提交乙方应用时,必须向应用中心公开完整且准确的信息(包括但不限于乙方应用信息、使用方式、有效期限、乙方应用的提供商、联系人、联</p> <p>&nbsp;&nbsp;系电话、客服电话、网络邮箱并提交身份证、营业执照及相关版权证明等)、说明提交的乙方应用所需要的安全权限、调用最终用户终端的哪些设备及功能、</p> <p>&nbsp;&nbsp;使用或涉及到最终用户的哪些信息和隐私,并在乙方应用安装前提示最终用户上述信息,供最终用户判断是否继续安装使用。乙方必须保证上述信息真实、正</p> <p>&nbsp;&nbsp;确及完整。如果上述信息发生变化,乙方应及时更改。乙方提供的联系信息,应用中心有权提供给最终用户;</p> <p>&nbsp;&nbsp;5.7.11.不得删除、隐匿、改变应用中心及YunOS显示或包含的任何知识产权声明;</p> <p>&nbsp;&nbsp;5.7.12.乙方保证其通过应用中心向最终用户提供的乙方应用和信息不含对应用中心及其关联公司以外的任何其他网络企业的形象、品牌、应用或业务的宣传</p> <p>&nbsp;&nbsp;信息或损害应用中心及其关联公司企业形象、品牌、应用或业务的内容或信息。乙方不得暗示应用中心及其关联公司加入、赞助或认可乙方应用,包括但不限</p> <p>&nbsp;&nbsp;于在乙方应用名称中或顶级域名左侧的URL中使用应用中心或其他应用中心关联公司的名称的任何变体、缩写或错误拼写,不得在乙方应用中使用与应用中心</p> <p>&nbsp;&nbsp;及应用中心关联公司产品同名或任何变体、缩写、改写、增减文字或字母或错误拼写等的字眼;同时也不得在未获得应用中心书面许可的情况下,以任何方式</p> <p>&nbsp;&nbsp;公开使用应用中心的标志、URL地址或其他标识等;</p> <p>&nbsp;&nbsp;5.7.13.不得避开、尝试避开或声称能够避开任何内容保护机制或者应用中心所提供的数据统计工具。</p> <p>5.8.乙方须对其提交和发布的乙方应用质量负责,包括但不限于乙方应用可用性、兼容性、应用质量等乙方应用自身问题。因乙方应用质量问题导致应用中心遭第三</p> <p>方索赔或起诉的,乙方应承担相关法律责任并赔偿应用中心全部损失。</p> <p>5.9.乙方有义务对已经发布的乙方应用提供升级、维护及其它技术支持。乙方负责承担乙方应用发布之后产生的各种非应用中心问题引起的客户咨询和投诉及其它售</p> <p>后服务,并在24小时之内回复并提出解决方案。乙方保证友善、耐心、热心地为最终用户提供咨询及售后服务。若乙方被多次投诉且未妥善处理的,应用中心保留</p> <p>暂停为乙方服务的权利。</p> <p>5.10.乙方同意应用中心运营数据(包括但不限于最终用户注册信息、最终用户针对乙方应用的使用数据等)的全部权利均归属应用中心。乙方承诺在未经应用中心</p> <p>事先书面批准的情况下,不得为任何目的擅自保存、使用或授权他人使用前述运营数据。</p> <p>5.11.应用中心将允许最终用户对乙方应用进行评分。只有下载此乙方应用的用户才有评分的权利,乙方应用评分将被用来确定其在应用中心的排名位置,较高评分</p> <p>的应用通常给予较高的排名,每一款应用的综合评分是代表整个应用质量的记录。乙方不得以任何形式实施任何违法或不道德交易行为,包括但不限于通过自我交易</p> <p>或虚拟交易等手段提高自己提交的应用的评分,欺诈、引诱或强行要求最终用户付费等。</p> <p>5.12.乙方须对获悉的应用中心的商业资料等保密信息进行保密,对因保密信息泄露而造成应用中心的损失,乙方须全部承担,并负责因诉讼产生的费用,应用中心</p> <p>有权终止本协议。</p> <p>5.13.乙方明确理解并同意,如因其违反有关法律或者本协议之规定,使应用中心遭受任何损失、受到任何第三方的索赔或任何行政管理部门的处罚,乙方应对应用</p> <p>中心进行全额赔偿,包括合理的律师费用。</p> <p>5.14.乙方同意接收来自应用中心及其关联公司、合作伙伴发出的邮件、信息。</p> <p></p> <p class="bold">乙方若违反上述条款的,应用中心有权根据其情节,对乙方做出警告、限制服务、屏蔽乙方应用、暂停服务、终止服务等适当处罚并要求乙方赔偿应用中心</p> <p class="bold">所有损失。乙方须独立承担上述违约事宜所引起的一切纠纷等并负责赔偿应用中心因乙方违反上述任何条款而给最终用户、应用中心或应用中心的任何合作</p> <p class="bold">伙伴、关联公司所造成的一切损失。</p> <p class="sub-title">六、服务终止后的处理</p> <p>6.1. 服务终止后,应用中心没有义务为乙方保留原账户中或与之相关的任何信息,或转发任何未曾阅读或发送的信息给乙方或最终用户或第三方,亦不就终止服务</p> <p>而对乙方或最终用户或任何第三方承担任何责任。</p> <p>6.2.不论应用中心与乙方之间的服务因任何原因以任何方式终止,应用中心仍有权:</p> <p>&nbsp;&nbsp;6.2.1. 保存或不保存乙方的数据及行为记录;</p> <p>&nbsp;&nbsp;6.2.2. 对于乙方在服务终止前实施的违法或违约行为所导致的任何赔偿和责任,乙方必须完全独立地承担,应用中心有追索权。</p> <p>6.3. 对于服务终止之前乙方交易行为依下列原则处理:</p> <p>&nbsp;&nbsp;6.3.1. 服务终止之前,乙方和最终用户的许可交易应用尚未交易或尚未交易完成的,应用中心有权在中断、终止服务的同时删除此项交易信息;</p> <p>&nbsp;&nbsp;6.3.2. 服务终止之前,乙方和最终用户就具体许可交易达成一致,应用中心有权将终止服务的情况通知乙方或最终用户。</p> <p class="sub-title">七、责任限制和免责</p> <p class="bold">7.1. 应用中心作为信息存储空间,可以作为乙方提供和发布乙方应用或相关服务、与最终用户达成许可交易及最终用户获取或使用乙方应用或相关服务的地</p> <p class="bold">点。对于乙方应用的开发、运营、支持和维护,乙方应当同意独立承担所有的风险和后果。应用中心没有责任和义务对于发布在应用中心的任何不准确或不</p> <p class="bold">正确的内容承担任何责任,无论该等不准确或不正确是由最终用户所造成的,还是由于乙方应用所使用的或与乙方应用相连接的任何设备或程序所造成的。</p> <p class="bold">7.2. 在任何情况下,应用中心均不对任何间接性、后果性、惩戒性、偶然性、特殊性或刑罚性的损害(包括乙方使用应用中心而遭受的利润损失)承担责任</p> <p class="bold">(即使应用中心已被告知该等损失的可能性)。</p> <p class="sub-title">八、知识产权</p> <p>8.1. 除乙方享有知识产权的作品、商标外,应用中心上所有内容,包括但不限于著作、图片、档案、资讯、资料、网站架构、网站画面的安排、网页设计,均由应</p> <p>用中心或其他权利人依法拥有其知识产权,包括但不限于商标权、专利权、著作权、商业秘密等。非经应用中心或其他权利人书面同意,乙方不得擅自使用、修改、</p> <p>复制、公开传播、改变、散布、发行或公开发表应用中心网站程序或内容。</p> <p>8.2. 应用中心运营数据的全部权利,均归属应用中心。前述运营数据包括但不限于任何最终用户注册信息、最终用户针对乙方应用的使用数据等。未经应用中心事</p> <p>先书面同意,乙方不得为任何目的擅自保存、使用或授权他人使用前述运营数据。</p> <p>8.3. 根据本协议的条款和条件,应用中心授予乙方有限的、非排他性的、可随时终止的和不可再分发的许可,许可乙方自己访问和使用应用中心开发、测试、显</p> <p>示、发布其应用相关服务,允许乙方访问应用中心提供的或最终用户自身授权的用户信息。乙方严禁进行如下行为:</p> <p>&nbsp;&nbsp;8.3.1. 对应用中心、其他开发者服务及其任何方面或部分(包括但不限于源代码和算法)进行反向工程、反汇编、重构、反编译、翻译、修改、复制,或者</p> <p>&nbsp;&nbsp;在未经明确允许的情况下创作衍生作品;</p> <p>&nbsp;&nbsp;8.3.2. 篡改或从应用中心、开发者服务的任何方面或部分删除任何标识、商标、版权或其他声明;</p> <p>&nbsp;&nbsp;8.3.3. 分发、销售、转销、租赁、许可、再许可或通过其他方式将应用中心或任何最终用户信息提供给第三方(包括以任何方式存储应用中心或用户信息致</p> <p>&nbsp;&nbsp;使第三方能够访问);</p> <p>&nbsp;&nbsp;8.3.4. 避开或修改应用中心数据统计工具。</p> <p>8.4. 乙方保留其创建的乙方应用内容以及其中包括的所有权利、权属或权益,包括但不限于所有知识产权(应用中心知识产权除外)。乙方通过应用中心提交或发</p> <p>布乙方应用,即表明乙方授予应用中心非排他性的、免费的全球性许可,允许应用中心下载、复制、重设格式、公开显示、运行乙方应用,以及将其存储和缓存在应</p> <p>用中心指定服务器上。</p> <p class="sub-title">九、通知和送达</p> <p>9.1. 应用中心对于乙方所有的通知均可通过网页公告、电子邮件、手机短信或常规的信件传送等方式进行;该等通知于发送之日视为已送达乙方。</p> <p>9.2. 乙方对于应用中心的通知应当通过应用中心对外正式公布的通信地址、传真号码、电子邮件地址等联系信息进行送达。</p> <p class="sub-title">十、不可抗力</p> <p>10.1. 因不可抗力使得本协议履行不可能、不必要或者无意义的,遭受不可抗力的一方不承担责任。</p> <p>10.2. 不可抗力是指不能预见、不能克服并不能避免且对一方或双方当事人造成重大影响的客观事件,包括但不限于自然灾害如洪水、地震、瘟疫流行和风暴等以及</p> <p>社会事件如战争、动乱、黑客、政府行为。</p> <p class="sub-title">十一、其他约定</p> <p>11.1. 本协议之签署、效力、解释和执行以及本协议项下争议之解决均应适用中华人民共和国法律;对于因本协议的解释及执行而产生之争议,应首先由双方通过友</p> <p>好协商和(或)经由中立之第三方调解来解决。如争议未能于前述方式在开始协商后三十(30)日内解决,则任何一方均可将有关争议提交杭州市余杭区人民法院诉讼解决。</p> <p>11.2. 本协议内容包括协议正文及所有应用中心已经发布的或将来可能发布的服务使用规则。所有规则为本协议不可分割的一部分,与协议正文具有相同法律效力。</p> <p>11.3. 应用中心有权不时修改本协议和相关规则的内容,修改后的内容将公布于应用中心、应用中心网站或以本协议约定的其他方式通知乙方。乙方如继续使用应用</p> <p>中心服务的,则视为乙对修改后的内容不持异议并同意遵守。如乙方对修改存有异议,或者乙方不同意应用中心公布的内容的,乙方有权在新协议或规则生效日起的</p> <p>10天内书面通知应用中心终止本协议。</p> </div>
</div>
<div style="display:none;" class="tab-content">
<div class="one">Q::为什么要重新认证和重新认领应用?</div>
<div class="one">A:为了避免出现冒领应用的情况发生。YunOS应用中心为了保障每位开发者和每名用户的利益,需要对应用上传者验证身份,确保万一发生问题时也能追溯到实名认证的个人或者企业。由于之前没有实名认证,本次系统升级需要实名认证后再次认领应用,希望您能理解。</div>
<div class="one">Q:为什么要使用支付宝认证,是否安全?</div>
<div class="one">A:阿里集团的支付宝拥有最高的安全等级,YunOS应用中心直接使用支付宝的验证结果。在认证中请您放心您的支付宝账号安全,我们只做验证,我们无权记录您的支付宝账号,无权获得您的财务数据。我们只是通过支付宝的获得您实名认证的信息而已。</div>
<div class="one">Q:如果应用更新不及时会怎么样?</div>
<div class="one">A:YunOS应用中心为了终端用户的体验,需要第一时间为用户提供最新的应用供用户使用。所以YunOS应用中心的策略是会通过其他渠道的api提供给用户最新的应用。所以请您及时更新您的应用,以免被其他渠道代替。</div>
<div class="one">Q:什么是大卡片?</div>
<div class="one">A:最新的YunOS 3.0的UI使用了大卡片的方式呈现每一个应用,如果您不提供大卡片,系统会通过算法来直接扩大您应用的icon,扩大后的大卡片可能会有一些显示不美观的问题出现,为了您应用的显示质量,请您能提供应用的大卡片图标。YunOS 3.0 UI请参见 http://www.yunos.com/yunos30.html?spm=a2c01.2466453.intro.1.hzbEpv</div>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
name: "DevHelp",
components: {},
data() {
return {};
},
computed: {},
methods: {},
beforeMount() {},
};
</script>
<style lang="scss" scoped>
.container {
width: 100%;
height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
& > img {
display: block;
}
}
</style>
\ No newline at end of file
<template>
<div class="container">
<div class="m_app_history">
<div class="p_bread">
<%if(arr.length === 1){%>
<span><%=arr[0].name%></span>
<%}else{%>
<%for(var i = 0, m = arr.length - 1; i < m; i++){%>
<a href="<%=arr[i].url%>"><%=arr[i].name%></a>
&gt;
<%}%>
<span><%=arr[arr.length - 1].name%></span>
<%}%>
</div>
<div class="con">
<div class="container">
<h3><b class="border"></b>查询历史</h3>
<div class="info">
<% if(result.obLogs.length){ %>
<table class="info-t">
<thead>
<tr>
<th>版本</th>
<th>操作前状态</th>
<th>操作后状态</th>
<th>操作</th>
<th>操作备注</th>
<th>操作人</th>
<th>操作时间</th>
</tr>
</thead>
<tbody>
<% for(var i = 0, m = result.obLogs.length; i < m; i++){ %>
<tr>
<td><%= result.obLogs[i].verCode %></td>
<td><%= result.obLogs[i].beforeStatus %></td>
<td><%= result.obLogs[i].afterStatus %></td>
<td><%= result.obLogs[i].action %></td>
<td><%= result.obLogs[i].desc %></td>
<td><%= result.obLogs[i].operUser %></td>
<td><%= result.obLogs[i].operTime %></td>
</tr>
<% } %>
</tbody>
</table>
<% }else{ %>
<p>暂无历史信息</p>
<% } %>
</div>
<div class="page">
<!--通用页码-->
</div>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
name: "DevHelp",
components: {},
data() {
return {};
},
computed: {},
methods: {},
beforeMount() {},
};
</script>
<style lang="scss" scoped>
.container {
width: 100%;
height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
& > img {
display: block;
}
}
</style>
\ No newline at end of file
<template>
<div>
<div class="m-index">
<div
class="banner"
style="background: url(http://gtms01.alicdn.com/tps/i1/TB1rGYSGFXXXXawXXXXDcMi7VXX-1440-336.png) no-repeat center 0 #657284;"
>
<a class="btn" href="#newapp/upload"></a>
</div>
<div class="con">
<p class="nav2 clearfix">
<a class="one one1" href="#certify/certify"> 开发者实名认证 </a>
<a class="one one2" href="#newapp/upload"> 上传新应用 </a>
<a class="one one3" href="#claim/sift"> 认领新应用 </a>
<a class="one one4" href="#myapp/spu_list"> 我的应用 </a>
<a class="one one5" href="#generalize"> 申请推广 </a>
</p>
</div>
</div>
<div class="p-info">
<div class="section-main clearfix">
<dl class="g-service">
<dt>EVM服务<s></s></dt>
<dd>
<a target="_blank" href="http://zhushou.yunos.com">云手机助手</a>
</dd>
<dd><a target="_blank" href="http://my.yunos.com">云空间</a></dd>
<dd><a target="_blank" href="http://zhuti.yunos.com">主题中心</a></dd>
<dd><a target="_blank" href="http://apps.yunos.com">应用中心</a></dd>
</dl>
<dl class="g-version">
<dt>EVM版本<s></s></dt>
<dd>
<a target="_blank" href="http://www.yunos.com/yunos30.html"
>EVM 3.0</a
>
</dd>
</dl>
<dl class="g-dev">
<dt class="touchable">帮助中心</dt>
<dd><a target="_blank" href="#help/help">帮助中心首页</a></dd>
<dd><a target="_blank" href="#help/agreement">平台协议</a></dd>
<dd><a target="_blank" href="#help/document">开发者文档</a></dd>
<dd><a target="_blank" href="#help/qa">Q&A</a></dd>
</dl>
<dl class="g-sns">
<dt>关注EVM<s></s></dt>
<dd>
<a
class="g-lw-entry"
href="javascript:void(0);"
style="padding: 0; border: none"
>微博</a
>
<img
width="80"
height="74"
title="扫描二维码关注 EVM 官方微信"
alt="EVM 官方微信"
src="//m.alicdn.com/home-node/4.0.11/img/global/qr-weibo.png"
/>
</dd>
</dl>
</div>
</div>
</div>
</template>
<script>
export default {
name: "Developer",
data() {
return {};
},
created() {},
mounted() {},
methods: {},
};
</script>
<style lang="scss">
</style>
......@@ -355,7 +355,7 @@ export default {
};
</script>
<style lang="less" scoped>
<style lang="scss" scoped>
.app-container {
& > div.page-wrapper {
margin: 10px 0px;
......
<template>
</template>
<script>
export default {
name: "DevHelp",
components: {},
data() {
return {};
},
computed: {},
methods: {},
beforeMount() {},
};
</script>
<style lang="scss" scoped>
</style>
\ No newline at end of file
......@@ -17,7 +17,7 @@ export default {
beforeMount() {},
};
</script>
<style lang="less" scoped>
<style lang="scss" scoped>
.container {
width: 100%;
height: 100vh;
......
<template>
<div class="container-wrapper">
<img class="qr-code" v-show="showIndex == 1" src="../../assets/images/evm-mp.jpg" />
<img class="qr-code" v-show="showIndex == 2" src="../../assets/images/evm-qq-group.png" />
<div :class="['container', isActive ? 'right-panel-active' : '']">
<div class="form-container sign-up-container">
<form action="#">
<h1>注册</h1>
<div class="social-container">
<a href="#" class="social"><i class="fab fa-facebook-f"></i></a>
<a href="#" class="social"><i class="fab fa-google-plus-g"></i></a>
<a href="#" class="social"><i class="fab fa-linkedin-in"></i></a>
<a href="#" class="social" @mouseenter="onMouseEnter(1)" @mouseleave="onMouseLeave"><i class="fab fa-weixin"></i></a>
<a href="#" class="social" @mouseenter="onMouseEnter(2)" @mouseleave="onMouseLeave"><i class="fab fa-qq"></i></a>
<a href="https://gitee.com/scriptiot/evm" target="_blank" class="social"><i class="fab fa-github-alt"></i></a>
</div>
<span>请输入账号密码</span>
<input type="text" placeholder="名称" />
<input type="email" placeholder="邮箱" />
<input type="password" placeholder="密码" />
<button>注册</button>
<span>完善用户基本信息</span>
<input type="text" v-model="post.account" placeholder="账号" />
<input type="text" v-model="post.username" placeholder="用户名" />
<input type="password" v-model="post.password" placeholder="密码" />
<button @click.prevent="doRegister">注册</button>
</form>
</div>
<div class="form-container sign-in-container">
<form action="#">
<h1>登录</h1>
<div class="social-container">
<a href="#" class="social"><i class="fab fa-facebook-f"></i></a>
<a href="#" class="social"><i class="fab fa-google-plus-g"></i></a>
<a href="#" class="social"><i class="fab fa-linkedin-in"></i></a>
<a href="#" class="social" @mouseenter="onMouseEnter(1)" @mouseleave="onMouseLeave"><i class="fab fa-weixin"></i></a>
<a href="#" class="social" @mouseenter="onMouseEnter(2)" @mouseleave="onMouseLeave"><i class="fab fa-qq"></i></a>
<a href="https://gitee.com/scriptiot/evm" target="_blank" class="social"><i class="fab fa-github-alt"></i></a>
</div>
<span>请输入账号密码</span>
<input type="text" v-model="user.account" autocomplete="off" placeholder="邮箱" />
<input type="password" v-model="user.password" autocomplete="off" placeholder="密码" />
<input
type="text"
v-model="user.account"
autocomplete="off"
placeholder="账号"
/>
<input
type="password"
v-model="user.password"
autocomplete="off"
placeholder="密码"
/>
<!-- <a href="#">忘记密码?</a> -->
<button @click.prevent="login">登录</button>
</form>
......@@ -35,26 +47,24 @@
<div class="overlay">
<div class="overlay-panel overlay-left">
<h1>欢迎回来!</h1>
<p>请您先登录的个人信息,进行操作。</p>
<p>请您先填写个人信息,进行操作。</p>
<button class="ghost" @click="isActive = false">登录</button>
</div>
<div class="overlay-panel overlay-right">
<h1>EVM应用商店</h1>
<p>注册账号请联系超级管理员</p>
<button class="ghost" @click="$message.success('请联系超级管理员')">
注册
</button>
<p>注册账号</p>
<button class="ghost" @click="isActive = true">注册</button>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { doLogin, getUser } from "@/api/index"
import { strTrim } from "@/utils/index"
import { doLogin, getUser, doRegister } from "@/api/app-store";
import { strTrim } from "@/utils/index";
let loading = null
let loading = null;
export default {
name: "Login",
......@@ -62,20 +72,32 @@ export default {
data() {
return {
isActive: false,
showIndex: 0,
user: {
account: "",
password: "",
},
post: {
account: "",
username: "",
password: ""
}
};
},
computed: {},
methods: {
onMouseEnter(index) {
this.showIndex = index;
},
onMouseLeave() {
this.showIndex = -1;
},
getUserPermission() {
getUser()
.then((res) => {
this.$store.dispatch("user/setRole", res.data.role);
sessionStorage.setItem("user", JSON.stringify(res.data));
this.$router.push({ path: "/home" });
this.$store.dispatch("user/setRole", res.data.role);
sessionStorage.setItem("user", JSON.stringify(res.data));
this.$router.push({ path: "/home" });
})
.catch((err) => {
this.$message.error(err.message);
......@@ -89,12 +111,14 @@ export default {
return this.$message.error("账号不能为空");
if (!this.user.password || this.user.password.length == 0)
return this.$message.error("密码不能为空");
loading = this.$loading({
lock: true,
text: "Loading",
spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.7)",
});
doLogin({
account: strTrim(this.user.account),
password: strTrim(this.user.password),
......@@ -114,15 +138,31 @@ export default {
if (loading) loading.close();
});
},
doRegister() {
if (!this.post.account || this.post.account.length == 0)
return this.$message.error("账号不能为空");
if (!this.post.password || this.post.password.length == 0)
return this.$message.error("密码不能为空");
doRegister(this.post)
.then((res) => {
console.log(res);
this.user.account = this.post.account
this.user.password = this.post.password
this.$message.success("注册成功,请登录!");
})
.catch((err) => {
this.$message.error(err.message);
});
},
},
created() {},
mounted() {},
beforeMount() {},
};
</script>
<style lang="less" scoped>
// @import url("https://fonts.googleapis.com/css?family=Montserrat:400,800");
<style lang="scss" scoped>
* {
box-sizing: border-box;
}
......@@ -219,6 +259,13 @@ input {
justify-content: center;
}
.container-wrapper > .qr-code {
top: 10px;
height: auto;
width: 150px;
position: absolute;
}
.container {
background-color: #fff;
border-radius: 10px;
......
......@@ -89,7 +89,7 @@ export default {
};
const validatePassword = (rule, value, callback) => {
if (value.length < 6) {
callback(new Error("The password can not be less than 6 digits"));
callback(new Error("The password can not be scss than 6 digits"));
} else {
callback();
}
......
......@@ -7,7 +7,7 @@
<div class="user-profile">
<div class="box-center">
<pan-thumb
image="https://img01.jituwang.com/170510/256938-1F5100J50759.jpg"
image="http://statics.evmiot.com/evue-logo.png"
:height="'100px'"
:width="'100px'"
:hoverable="false"
......
......@@ -188,7 +188,7 @@ export default {
}
}
</script>
<style lang="less" scoped>
<style lang="scss" scoped>
.app-container {
& > div.page-wrapper {
margin: 10px 0px;
......
......@@ -241,7 +241,7 @@ export default {
}
}
</script>
<style lang="less" scoped>
<style lang="scss" scoped>
.app-container {
& > div.page-wrapper {
margin: 10px 0px;
......
......@@ -205,7 +205,7 @@ export default {
}
}
</script>
<style lang="less" scoped>
<style lang="scss" scoped>
.app-container {
& > div.page-wrapper {
margin: 10px 0px;
......
......@@ -199,7 +199,7 @@ export default {
}
}
</script>
<style lang="less" scoped>
<style lang="scss" scoped>
.app-container {
& > div.page-wrapper {
margin: 10px 0px;
......
......@@ -339,7 +339,7 @@ export default {
}
}
</script>
<style lang="less" scoped>
<style lang="scss" scoped>
.app-container {
& > div.page-wrapper {
margin: 10px 0px;
......
......@@ -458,7 +458,7 @@ export default {
},
};
</script>
<style lang="less" scoped>
<style lang="scss" scoped>
.app-container {
& > div.page-wrapper {
margin: 10px 0px;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment