diff --git a/commands/command.go b/commands/command.go
index 063b26ce2d628e25deb6237fe9930120a48ace29..44f436c4168444dfd405fd30785d428ac147476c 100644
--- a/commands/command.go
+++ b/commands/command.go
@@ -76,6 +76,7 @@ func RegisterModel() {
new(models.Star),
new(models.Score),
new(models.Comments),
+ new(models.ReplyComments),
new(models.Gitee),
new(models.Github),
new(models.QQ),
diff --git a/conf/app.conf.example b/conf/app.conf.example
index d5b4b57bcb289919cf6fbea9b4e34d1fe0e1ac2e..e5c59fb895dca86a1f2b9ad470846a963c5be3ea 100644
--- a/conf/app.conf.example
+++ b/conf/app.conf.example
@@ -11,6 +11,9 @@ appId=""
# 微信小程序appSecret
appSecret=""
+# 是否开启评论审核,默认开启
+CommentModeration=""
+
# 是否限制API请求,也就是如果不是上述配置的微信小程序的appId请求的接口,则直接拒绝
limitReferer=false
diff --git a/controllers/BookController.go b/controllers/BookController.go
index b5868e68de3a10d0a90988d72ba7cce856669f3a..1d84b8b595a466366f31efdfd2a6ff5f8375dad1 100644
--- a/controllers/BookController.go
+++ b/controllers/BookController.go
@@ -1238,7 +1238,7 @@ func (this *BookController) Score() {
//添加评论
func (this *BookController) Comment() {
if this.Member.MemberId == 0 {
- this.JsonResult(1, "请先登录在评论")
+ this.JsonResult(1, "请先登录再评论")
}
content := this.GetString("content")
if l := len(content); l < 5 || l > 256 {
@@ -1253,3 +1253,68 @@ func (this *BookController) Comment() {
}
this.JsonResult(1, "文档项目不存在")
}
+
+//添加回复
+func (this *BookController) ReplyComment() {
+ if this.Member.MemberId == 0 {
+ this.JsonResult(1, "请先登录再评论")
+ }
+ content := this.GetString("content")
+ if l := len(content); l < 5 || l > 256 {
+ this.JsonResult(1, "评论内容限 5 - 256 个字符")
+ }
+ replyid, _ := this.GetInt("replyid")
+ if this.Member.MemberId == replyid {
+ this.JsonResult(1, "不能自己回复自己")
+ }
+ commentid, _ := this.GetInt("commentid")
+ replytype := this.GetString("replytype")
+
+ touid, _ := this.GetInt("touid")
+ if replyid > 0 {
+ if err := new(models.ReplyComments).AddReply(this.Member.MemberId, commentid, replyid, replytype, content, touid); err != nil {
+ this.JsonResult(1, err.Error())
+ }
+ this.JsonResult(0, "回复成功")
+ }
+ this.JsonResult(1, "请选择要回复的评论")
+}
+
+//删除评论或回复
+func (this *BookController) DelReplyOrComment() {
+ uid := this.Member.MemberId
+ if uid == 0 {
+ this.JsonResult(1, "请先登录再进行操作")
+ }
+ replyid, _ := this.GetInt("replyid")
+ replytype := this.GetString("replytype")
+ bookId, _ := this.GetInt(":bookid")
+ if bookId > 0 {
+ if replyid > 0 && (replytype == "comment" || replytype == "reply") {
+ if err := new(models.ReplyComments).DelReply(uid, replyid, replytype); err != nil {
+ this.JsonResult(1, err.Error())
+ }
+ this.JsonResult(0, "操作成功")
+ }
+ }
+ this.JsonResult(1, "文档项目不存在")
+}
+
+func (this *BookController) ReplyList() {
+ bookId, _ := this.GetInt(":bookid")
+ page, _ := this.GetInt("page")
+ listRows, _ := this.GetInt("listRows")
+ status, _ := this.GetInt("status")
+ if page < 1 {
+ page = 1
+ }
+ if listRows < 1 {
+ listRows = 100
+ }
+ if bookId > 0 {
+ //巨坑,当返回json时,this.Data["json"]中的"json"必须写死,一旦换成其他的字符,返回永远是空值
+ this.Data["json"], _ = new(models.Comments).Comments(page, listRows, bookId, status)
+ this.ServeJSON()
+ }
+
+}
diff --git a/models/comments.go b/models/comments.go
index 71df54bea62976102548753c94cbd0fa743dabd5..42c6a0dfa3382e5e5fc2da1cba001c0eb4ca0cb6 100644
--- a/models/comments.go
+++ b/models/comments.go
@@ -41,24 +41,29 @@ func (this *Score) TableUnique() [][]string {
//评论内容
type BookCommentsResult struct {
- Id int `json:"id"`
- Uid int `json:"uid"`
- Score int `json:"score"`
- Avatar string `json:"avatar"`
- Account string `json:"account"`
- Nickname string `json:"nickname"`
- BookId int `json:"book_id"`
- BookName string `json:"book_name"`
- Identify string `json:"identify"`
- Content string `json:"content"`
- Status int8 `json:"status"`
- TimeCreate time.Time `json:"created_at"` //评论时间
+ Id int `json:"id"`
+ Uid int `json:"uid"`
+ Score int `json:"score"`
+ Avatar string `json:"avatar"`
+ Account string `json:"account"`
+ Nickname string `json:"nickname"`
+ BookId int `json:"book_id"`
+ BookName string `json:"book_name"`
+ Identify string `json:"identify"`
+ Content string `json:"content"`
+ Status int8 `json:"status"`
+ TimeCreate time.Time `json:"created_at"` //评论时间
+ ReplyCommentsResult []ReplyCommentsResult `json:"replycommentsresult"`
}
func NewComments() *Comments {
return &Comments{}
}
+func (this *ReplyComments) TableName() string {
+ return "replycomments"
+}
+
func (this *Comments) SetCommentStatus(id, status int) (err error) {
_, err = orm.NewOrm().QueryTable(this).Filter("id", id).Update(orm.Params{"status": status})
return
@@ -82,6 +87,37 @@ func (this *Comments) Comments(p, listRows, bookId int, status ...int) (comments
sql = fmt.Sprintf(sql, whereStr, listRows, (p-1)*listRows)
_, err = orm.NewOrm().Raw(sql).QueryRows(&comments)
+ if err == nil {
+
+ for k, v := range comments {
+ var replycommentsresult []ReplyCommentsResult
+ sql = ""
+ sql = `SELECT
+ a.id AS id,
+ a.comment_id AS commentid ,
+ a.reply_type AS replytype,
+ a.reply_id as replyid,
+ a.from_uid as fromuid,
+ c.nickname AS fromname,
+ c.avatar AS fromavatar,
+ c.account AS fromaccount,
+ a.to_uid as touid,
+ d.nickname AS toname,
+ d.account AS toaccount,
+ a.content as content,
+ a.status as status,
+ a.time_create as timecreate
+ FROM
+ md_replycomments AS a
+ INNER JOIN md_comments AS b ON a.comment_id = b.id AND a.comment_id = b.id
+ INNER JOIN md_members AS c ON a.from_uid = c.member_id
+ INNER JOIN md_members AS d ON a.to_uid = d.member_id AND a.to_uid = d.member_id
+ WHERE
+ a.comment_id =` + strconv.Itoa(v.Id) + ` ORDER BY a.time_create`
+ _, err = orm.NewOrm().Raw(sql).QueryRows(&replycommentsresult)
+ comments[k].ReplyCommentsResult = replycommentsresult
+ }
+ }
return
}
@@ -223,7 +259,13 @@ func (this *Score) AddScore(uid, bookId, score int) (err error) {
//添加评论
func (this *Comments) AddComments(uid, bookId int, content string) (err error) {
var comment Comments
-
+ var status int8
+ commentmoderation := beego.AppConfig.DefaultBool("CommentModeration", true)
+ if commentmoderation {
+ status = 0
+ } else {
+ status = 1
+ }
//查询该用户现有的评论
second := beego.AppConfig.DefaultInt("CommentInterval", 60)
now := time.Now()
@@ -237,6 +279,7 @@ func (this *Comments) AddComments(uid, bookId int, content string) (err error) {
Uid: uid,
BookId: bookId,
Content: content,
+ Status: status,
TimeCreate: now,
}
@@ -249,3 +292,127 @@ func (this *Comments) AddComments(uid, bookId int, content string) (err error) {
SetIncreAndDecre("md_books", "cnt_comment", fmt.Sprintf("book_id=%v", bookId), true)
return
}
+
+//回复表
+type ReplyComments struct {
+ Id int `orm:"column(id);pk"`
+ Commentid int `orm:"column(comment_id)"`
+ Replyid int `orm:"column(reply_id)"`
+ Replytype string `orm:"column(reply_type)"`
+ Content string `orm:"column(content)"`
+ Fromuid int `orm:"column(from_uid)"`
+ Touid int `orm:"column(to_uid)"`
+ Timecreate time.Time `orm:"column(time_create)"`
+ Status int8 `orm:"column(status)"`
+}
+
+//回复内容
+//reply_type:表示回复的类型,因为回复可以是针对评论的回复(comment),
+//也可以是针对回复的回复(reply), 通过这个字段来区分两种情景。
+//reply_id:表示回复目标的id,如果reply_type是comment的话,
+//那么reply_id=commit_id,如果reply_type是reply的话,这表示这条回复的父回复。
+type ReplyCommentsResult struct {
+ Id int `orm:"column(id);"json:"id"`
+ Commentid int `orm:"column(commentid);"json:"commentid"` //评论id
+ Replytype string `orm:"column(replytype);"json:"replytype"` //回复类型
+ Replyid int `orm:"column(replyid);"json:"replyid"` //回复目标id
+ Fromuid int `orm:"column(fromuid);"json:"fromuid"` //回复用户id
+ Fromname string `orm:"column(fromname);"json:"fromname"`
+ FromAvatar string `orm:"column(fromavatar);"json:"fromavatar"`
+ FromAccount string `orm:"column(fromaccount);"json:"fromaccount"`
+ Touid int `orm:"column(touid);"json:"touid"` //目标用户id
+ Toname string `orm:"column(toname);"json:"toname"`
+ ToAccount string `orm:"column(toaccount);"json:"toaccount"`
+ Content string `orm:"column(content);"json:"content"`
+ Status int8 `orm:"column(status);"json:"status"`
+ TimeCreate time.Time `orm:"column(timecreate);"json:"created_at"` //评论时间
+}
+
+//添加回复
+func (this *ReplyComments) AddReply(uid, commentid, replyid int, replytype string, content string, touid int) (err error) {
+ var replycomment ReplyComments
+
+ //查询该用户现有的评论
+ second := beego.AppConfig.DefaultInt("CommentInterval", 60)
+ now := time.Now()
+ o := orm.NewOrm()
+ o.QueryTable("md_replycomments").Filter("Replyid", uid).Filter("TimeCreate__gt", now.Add(-time.Duration(second)*time.Second)).OrderBy("-Id").One(&replycomment, "Id")
+ if replycomment.Id > 0 {
+ return fmt.Errorf("您距离上次发表评论时间小于 %v 秒,请歇会儿再发。", second)
+ }
+
+ var replycomments = ReplyComments{
+ Commentid: commentid,
+ Replyid: replyid,
+ Replytype: replytype,
+ Content: content,
+ Fromuid: uid,
+ Touid: touid,
+ Timecreate: now,
+ Status: 1,
+ }
+
+ if _, err = o.Insert(&replycomments); err != nil {
+ beego.Error(err.Error())
+ err = errors.New("回复评论失败")
+ return
+ }
+
+ return
+}
+
+func (this *ReplyComments) DelReply(uid, id int, replytype string) (err error) {
+ switch replytype {
+ //如果删除的是评论
+ case "comment":
+ //合法性检查,该评论id是否由uid创建
+ o := orm.NewOrm()
+ n, _ := o.QueryTable("md_comments").Filter("uid", uid).Filter("id", id).Count()
+ if n > 0 {
+ //删除回复
+ sql1 := "DELETE FROM md_replycomments WHERE comment_id = ?"
+ if _, err = o.Raw(sql1, id).Exec(); err != nil {
+ err = errors.New("删除失败")
+ return
+ }
+ var comment Comments
+ comment.DeleteComment(id)
+ return
+ }
+ err = errors.New("删除失败")
+ return
+ case "reply":
+ o := orm.NewOrm()
+ //合法性检查,该评论id是否由uid创建
+ n, _ := o.QueryTable("md_replycomments").Filter("from_uid", uid).Filter("id", id).Count()
+ if n > 0 {
+ //删除该回复下的所有子回复
+ sql2 := `DELETE FROM md_replycomments WHERE id IN
+ (SELECT id as delid FROM
+ (SELECT t1.id,IF
+ ( find_in_set( reply_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
+ FROM
+ ( SELECT id, reply_id FROM md_replycomments t WHERE t.STATUS = 1 ORDER BY reply_id, id ) t1,
+ ( SELECT @pids := ? ) t2
+ ) t3
+ WHERE
+ ischild != 0)`
+ if _, err = o.Raw(sql2, id).Exec(); err != nil {
+ err = errors.New("删除子回复失败")
+ return
+ }
+ //删除该回复
+ if _, err = o.QueryTable("md_replycomments").Filter("id", id).Delete(); err != nil {
+ err = errors.New("删除回复失败")
+ return
+ }
+ return
+ }
+ err = errors.New("删除失败")
+ return
+ default:
+ err = errors.New("删除失败")
+ return
+ }
+
+}
diff --git a/routers/web.go b/routers/web.go
index 6b04c82cb8fd811a0468498555baed47ec095149..7d1c3c51e103391f8eadafa0f63807c481a818f1 100644
--- a/routers/web.go
+++ b/routers/web.go
@@ -81,6 +81,11 @@ func webRouter() {
beego.Router("/book/star/:id", &controllers.BookController{}, "*:Star") // 收藏
beego.Router("/book/score/:id", &controllers.BookController{}, "*:Score") // 评分
beego.Router("/book/comment/:id", &controllers.BookController{}, "post:Comment") // 点评
+
+ beego.Router("/book/replylist:id", &controllers.BookController{}, "get:ReplyList") //获取评论回复列表
+ beego.Router("/book/addreply", &controllers.BookController{}, "post:ReplyComment") //回复
+ beego.Router("/book/delreplyorcomment/:bookid", &controllers.BookController{}, "post:DelReplyOrComment") //删除回复
+
beego.Router("/book/uploadProject", &controllers.BookController{}, "post:UploadProject")
beego.Router("/book/downloadProject", &controllers.BookController{}, "post:DownloadProject")
beego.Router("/book/git-pull", &controllers.BookController{}, "post:GitPull")
diff --git a/static/img/emoji/1.png b/static/img/emoji/1.png
new file mode 100644
index 0000000000000000000000000000000000000000..77b581d68faee6e9211a690b2ab3828a2ac5f70c
Binary files /dev/null and b/static/img/emoji/1.png differ
diff --git a/static/img/emoji/10.png b/static/img/emoji/10.png
new file mode 100644
index 0000000000000000000000000000000000000000..fa5f9e7f9f94a3ba9bdf23f3932cdd7c8a0a3fbc
Binary files /dev/null and b/static/img/emoji/10.png differ
diff --git a/static/img/emoji/11.png b/static/img/emoji/11.png
new file mode 100644
index 0000000000000000000000000000000000000000..1561df92eee930f89483b6e5cf4377bab40649fc
Binary files /dev/null and b/static/img/emoji/11.png differ
diff --git a/static/img/emoji/12.png b/static/img/emoji/12.png
new file mode 100644
index 0000000000000000000000000000000000000000..333716ee1fec3a36e0db015d73ec3c686660ec28
Binary files /dev/null and b/static/img/emoji/12.png differ
diff --git a/static/img/emoji/13.png b/static/img/emoji/13.png
new file mode 100644
index 0000000000000000000000000000000000000000..c65ddff552a9d58e30e2463ccce112c09ed3ad89
Binary files /dev/null and b/static/img/emoji/13.png differ
diff --git a/static/img/emoji/14.png b/static/img/emoji/14.png
new file mode 100644
index 0000000000000000000000000000000000000000..f99f6da47c18dfe21bd7344d2522d3f60b4510d8
Binary files /dev/null and b/static/img/emoji/14.png differ
diff --git a/static/img/emoji/15.png b/static/img/emoji/15.png
new file mode 100644
index 0000000000000000000000000000000000000000..3722e6f57538db37176290abf5920c6c4949e448
Binary files /dev/null and b/static/img/emoji/15.png differ
diff --git a/static/img/emoji/16.png b/static/img/emoji/16.png
new file mode 100644
index 0000000000000000000000000000000000000000..81a8396899617698e6d4459d78bed8d2b968a2a9
Binary files /dev/null and b/static/img/emoji/16.png differ
diff --git a/static/img/emoji/17.png b/static/img/emoji/17.png
new file mode 100644
index 0000000000000000000000000000000000000000..05887e99c6bb601fc395d9180efc7db2e684d86e
Binary files /dev/null and b/static/img/emoji/17.png differ
diff --git a/static/img/emoji/18.png b/static/img/emoji/18.png
new file mode 100644
index 0000000000000000000000000000000000000000..449de197048a504b2ac4ff5bc8b86fa5cfa098de
Binary files /dev/null and b/static/img/emoji/18.png differ
diff --git a/static/img/emoji/19.png b/static/img/emoji/19.png
new file mode 100644
index 0000000000000000000000000000000000000000..e894b7699606b17f68ec6059fc697c31416d8b83
Binary files /dev/null and b/static/img/emoji/19.png differ
diff --git a/static/img/emoji/2.png b/static/img/emoji/2.png
new file mode 100644
index 0000000000000000000000000000000000000000..0e5794270ea393cd6295e0553ec87838e0a4d5b9
Binary files /dev/null and b/static/img/emoji/2.png differ
diff --git a/static/img/emoji/20.png b/static/img/emoji/20.png
new file mode 100644
index 0000000000000000000000000000000000000000..47df693d424f94fc2db1a0392148ca8f2cdb4923
Binary files /dev/null and b/static/img/emoji/20.png differ
diff --git a/static/img/emoji/21.png b/static/img/emoji/21.png
new file mode 100644
index 0000000000000000000000000000000000000000..3a95eb61a3af84e6de44eaf5b4e165fdf1d1d90d
Binary files /dev/null and b/static/img/emoji/21.png differ
diff --git a/static/img/emoji/22.png b/static/img/emoji/22.png
new file mode 100644
index 0000000000000000000000000000000000000000..6d0d9afd284b9a22107defc3979c9384c192af74
Binary files /dev/null and b/static/img/emoji/22.png differ
diff --git a/static/img/emoji/23.png b/static/img/emoji/23.png
new file mode 100644
index 0000000000000000000000000000000000000000..6ae9d497d304b776aa9db1e8423d5d2c104e3fe8
Binary files /dev/null and b/static/img/emoji/23.png differ
diff --git a/static/img/emoji/24.png b/static/img/emoji/24.png
new file mode 100644
index 0000000000000000000000000000000000000000..513fce47b685b10757d425ec63bfd8b69258ca08
Binary files /dev/null and b/static/img/emoji/24.png differ
diff --git a/static/img/emoji/25.png b/static/img/emoji/25.png
new file mode 100644
index 0000000000000000000000000000000000000000..b9e39bc60fb0324d4bba4551ba2be497344dc2b5
Binary files /dev/null and b/static/img/emoji/25.png differ
diff --git a/static/img/emoji/26.png b/static/img/emoji/26.png
new file mode 100644
index 0000000000000000000000000000000000000000..858a83484a8d7dcacf867dff9f7513f4b4a668af
Binary files /dev/null and b/static/img/emoji/26.png differ
diff --git a/static/img/emoji/27.png b/static/img/emoji/27.png
new file mode 100644
index 0000000000000000000000000000000000000000..bc6e5082c8c62adbc3620c2c72c0fc28ee8ba3b9
Binary files /dev/null and b/static/img/emoji/27.png differ
diff --git a/static/img/emoji/28.png b/static/img/emoji/28.png
new file mode 100644
index 0000000000000000000000000000000000000000..9e93c885dbadcd5911704300344360d52dc6acfd
Binary files /dev/null and b/static/img/emoji/28.png differ
diff --git a/static/img/emoji/29.png b/static/img/emoji/29.png
new file mode 100644
index 0000000000000000000000000000000000000000..df4f55efd9a45c4b5327b6531129ebe34908bad6
Binary files /dev/null and b/static/img/emoji/29.png differ
diff --git a/static/img/emoji/3.png b/static/img/emoji/3.png
new file mode 100644
index 0000000000000000000000000000000000000000..4159f3c42ff0511a839076185ded2cacf4bc3f49
Binary files /dev/null and b/static/img/emoji/3.png differ
diff --git a/static/img/emoji/30.png b/static/img/emoji/30.png
new file mode 100644
index 0000000000000000000000000000000000000000..762c3766abc2276eed29f9a3727b5ba9813f36c4
Binary files /dev/null and b/static/img/emoji/30.png differ
diff --git a/static/img/emoji/31.png b/static/img/emoji/31.png
new file mode 100644
index 0000000000000000000000000000000000000000..fe5629f431e411f6870f9afe7662fe0b8022ecf4
Binary files /dev/null and b/static/img/emoji/31.png differ
diff --git a/static/img/emoji/32.png b/static/img/emoji/32.png
new file mode 100644
index 0000000000000000000000000000000000000000..d904049309c60ff5cd4772f8aa55389847d8cad3
Binary files /dev/null and b/static/img/emoji/32.png differ
diff --git a/static/img/emoji/33.png b/static/img/emoji/33.png
new file mode 100644
index 0000000000000000000000000000000000000000..671dd0c9e2ef5c61a08f7695b19defaa454f1e77
Binary files /dev/null and b/static/img/emoji/33.png differ
diff --git a/static/img/emoji/34.png b/static/img/emoji/34.png
new file mode 100644
index 0000000000000000000000000000000000000000..a2240c07e7af2be38a5b9d27eca65b9a5c9222c3
Binary files /dev/null and b/static/img/emoji/34.png differ
diff --git a/static/img/emoji/35.png b/static/img/emoji/35.png
new file mode 100644
index 0000000000000000000000000000000000000000..389a02bf282628757e93ae97fe811379f0be592e
Binary files /dev/null and b/static/img/emoji/35.png differ
diff --git a/static/img/emoji/36.png b/static/img/emoji/36.png
new file mode 100644
index 0000000000000000000000000000000000000000..f7f273c733b0255a6d3fbcbf1422c656d9326a12
Binary files /dev/null and b/static/img/emoji/36.png differ
diff --git a/static/img/emoji/37.png b/static/img/emoji/37.png
new file mode 100644
index 0000000000000000000000000000000000000000..09b9ef79a7d1aad4e9dd8fa8163b3ef5e9567b11
Binary files /dev/null and b/static/img/emoji/37.png differ
diff --git a/static/img/emoji/38.png b/static/img/emoji/38.png
new file mode 100644
index 0000000000000000000000000000000000000000..81786c1d8f5ed810fd8351f74996f9b64dbf5ffb
Binary files /dev/null and b/static/img/emoji/38.png differ
diff --git a/static/img/emoji/39.png b/static/img/emoji/39.png
new file mode 100644
index 0000000000000000000000000000000000000000..41c6b825d6a6abf736a1b882c951c1eb942afabf
Binary files /dev/null and b/static/img/emoji/39.png differ
diff --git a/static/img/emoji/4.png b/static/img/emoji/4.png
new file mode 100644
index 0000000000000000000000000000000000000000..74b78c9c07a5643bdfaf33b89677e00fefb11b92
Binary files /dev/null and b/static/img/emoji/4.png differ
diff --git a/static/img/emoji/40.png b/static/img/emoji/40.png
new file mode 100644
index 0000000000000000000000000000000000000000..277047b7c460cf2532412c6fbe66e172fb13e13b
Binary files /dev/null and b/static/img/emoji/40.png differ
diff --git a/static/img/emoji/41.png b/static/img/emoji/41.png
new file mode 100644
index 0000000000000000000000000000000000000000..ecc8874c2fdb9dac387bd6765ac8081034a75c85
Binary files /dev/null and b/static/img/emoji/41.png differ
diff --git a/static/img/emoji/42.png b/static/img/emoji/42.png
new file mode 100644
index 0000000000000000000000000000000000000000..f61267c281ded65c918ef42bc2c98042315f5c39
Binary files /dev/null and b/static/img/emoji/42.png differ
diff --git a/static/img/emoji/43.png b/static/img/emoji/43.png
new file mode 100644
index 0000000000000000000000000000000000000000..19f92efb66e8220e0d461e670898203084ef0c89
Binary files /dev/null and b/static/img/emoji/43.png differ
diff --git a/static/img/emoji/44.png b/static/img/emoji/44.png
new file mode 100644
index 0000000000000000000000000000000000000000..d01c982a75acf2968d07cbaccd4d601e9660eadb
Binary files /dev/null and b/static/img/emoji/44.png differ
diff --git a/static/img/emoji/45.png b/static/img/emoji/45.png
new file mode 100644
index 0000000000000000000000000000000000000000..38a99b43f7f3fb2bae43bca0ea80abbae1485d79
Binary files /dev/null and b/static/img/emoji/45.png differ
diff --git a/static/img/emoji/46.png b/static/img/emoji/46.png
new file mode 100644
index 0000000000000000000000000000000000000000..1cfe73672c0c48159a60bc287c5705f19ac4d873
Binary files /dev/null and b/static/img/emoji/46.png differ
diff --git a/static/img/emoji/47.png b/static/img/emoji/47.png
new file mode 100644
index 0000000000000000000000000000000000000000..6f9f029a420f06dadd6f66b04801771b4f92c48f
Binary files /dev/null and b/static/img/emoji/47.png differ
diff --git a/static/img/emoji/48.png b/static/img/emoji/48.png
new file mode 100644
index 0000000000000000000000000000000000000000..658c6d91875c8d13a3be0a9785238586133c436f
Binary files /dev/null and b/static/img/emoji/48.png differ
diff --git a/static/img/emoji/49.png b/static/img/emoji/49.png
new file mode 100644
index 0000000000000000000000000000000000000000..80c5aebb68091298f8995abba5e81e095938be25
Binary files /dev/null and b/static/img/emoji/49.png differ
diff --git a/static/img/emoji/5.png b/static/img/emoji/5.png
new file mode 100644
index 0000000000000000000000000000000000000000..591cfcef8bb86b07f085e81b99e16bb261c40e15
Binary files /dev/null and b/static/img/emoji/5.png differ
diff --git a/static/img/emoji/50.png b/static/img/emoji/50.png
new file mode 100644
index 0000000000000000000000000000000000000000..7d7790ce4dfc69a8dcbbf706b75757dffec862e2
Binary files /dev/null and b/static/img/emoji/50.png differ
diff --git a/static/img/emoji/51.png b/static/img/emoji/51.png
new file mode 100644
index 0000000000000000000000000000000000000000..a1bc850ecb4cfcdf75f8668bd0c668537a764223
Binary files /dev/null and b/static/img/emoji/51.png differ
diff --git a/static/img/emoji/52.png b/static/img/emoji/52.png
new file mode 100644
index 0000000000000000000000000000000000000000..d23c095e0804a23bc911a027530e12e86bdd7eda
Binary files /dev/null and b/static/img/emoji/52.png differ
diff --git a/static/img/emoji/53.png b/static/img/emoji/53.png
new file mode 100644
index 0000000000000000000000000000000000000000..afdb450d1dff9e742955efbb03bef606e1aaba16
Binary files /dev/null and b/static/img/emoji/53.png differ
diff --git a/static/img/emoji/54.png b/static/img/emoji/54.png
new file mode 100644
index 0000000000000000000000000000000000000000..8b40ff4c8c8fbc0fa88a827d8deb4daaab6b7fdf
Binary files /dev/null and b/static/img/emoji/54.png differ
diff --git a/static/img/emoji/55.png b/static/img/emoji/55.png
new file mode 100644
index 0000000000000000000000000000000000000000..260c531b9e23171ca25cd30971ba06e28a3d7c74
Binary files /dev/null and b/static/img/emoji/55.png differ
diff --git a/static/img/emoji/56.png b/static/img/emoji/56.png
new file mode 100644
index 0000000000000000000000000000000000000000..b31c08c0b883444326948789ca5bd9ddb2fcbe97
Binary files /dev/null and b/static/img/emoji/56.png differ
diff --git a/static/img/emoji/57.png b/static/img/emoji/57.png
new file mode 100644
index 0000000000000000000000000000000000000000..826ed1102dc6f3f74c008b3ce7bd03a4f0a44fa7
Binary files /dev/null and b/static/img/emoji/57.png differ
diff --git a/static/img/emoji/58.png b/static/img/emoji/58.png
new file mode 100644
index 0000000000000000000000000000000000000000..3479fbcbbd4b259651bc6bc450e364daa10dfb25
Binary files /dev/null and b/static/img/emoji/58.png differ
diff --git a/static/img/emoji/59.png b/static/img/emoji/59.png
new file mode 100644
index 0000000000000000000000000000000000000000..57e1adcb04ac2d22d05664a54aebb718b83801a9
Binary files /dev/null and b/static/img/emoji/59.png differ
diff --git a/static/img/emoji/6.png b/static/img/emoji/6.png
new file mode 100644
index 0000000000000000000000000000000000000000..af9a80b7f09fcd4926ddeb4b8849220514274b48
Binary files /dev/null and b/static/img/emoji/6.png differ
diff --git a/static/img/emoji/60.png b/static/img/emoji/60.png
new file mode 100644
index 0000000000000000000000000000000000000000..36e8edcbec4e8a21b060753be80e4ff4ba36d8e3
Binary files /dev/null and b/static/img/emoji/60.png differ
diff --git a/static/img/emoji/61.png b/static/img/emoji/61.png
new file mode 100644
index 0000000000000000000000000000000000000000..39f590d69458d276f2132d95c23fd7b231636d6e
Binary files /dev/null and b/static/img/emoji/61.png differ
diff --git a/static/img/emoji/62.png b/static/img/emoji/62.png
new file mode 100644
index 0000000000000000000000000000000000000000..cd78bed7440fee98515a0748851cceddb4efae1b
Binary files /dev/null and b/static/img/emoji/62.png differ
diff --git a/static/img/emoji/63.png b/static/img/emoji/63.png
new file mode 100644
index 0000000000000000000000000000000000000000..aa5b1d7c46fbfb27876d4e5facd5d0dfa5436d44
Binary files /dev/null and b/static/img/emoji/63.png differ
diff --git a/static/img/emoji/64.png b/static/img/emoji/64.png
new file mode 100644
index 0000000000000000000000000000000000000000..df007103b0bd410bfd23be425d6654b0aa3eeb16
Binary files /dev/null and b/static/img/emoji/64.png differ
diff --git a/static/img/emoji/65.png b/static/img/emoji/65.png
new file mode 100644
index 0000000000000000000000000000000000000000..95b9ee09480cb635876ddec024d6aba6e8d636bf
Binary files /dev/null and b/static/img/emoji/65.png differ
diff --git a/static/img/emoji/66.png b/static/img/emoji/66.png
new file mode 100644
index 0000000000000000000000000000000000000000..d70a2f06263fa99a8553765a6bfbb8a9a86a5597
Binary files /dev/null and b/static/img/emoji/66.png differ
diff --git a/static/img/emoji/67.png b/static/img/emoji/67.png
new file mode 100644
index 0000000000000000000000000000000000000000..552cfdc2b982d5d3ac41d44892872f038dfc2d60
Binary files /dev/null and b/static/img/emoji/67.png differ
diff --git a/static/img/emoji/68.png b/static/img/emoji/68.png
new file mode 100644
index 0000000000000000000000000000000000000000..1e118b5b1849619bb65488eb3ed219e3f77fa0d3
Binary files /dev/null and b/static/img/emoji/68.png differ
diff --git a/static/img/emoji/69.png b/static/img/emoji/69.png
new file mode 100644
index 0000000000000000000000000000000000000000..3289787dcf9d5ce7aeabbcd377a2523e893de33d
Binary files /dev/null and b/static/img/emoji/69.png differ
diff --git a/static/img/emoji/7.png b/static/img/emoji/7.png
new file mode 100644
index 0000000000000000000000000000000000000000..756766dd3e9702e42082555bca7c71ba2aadf544
Binary files /dev/null and b/static/img/emoji/7.png differ
diff --git a/static/img/emoji/70.png b/static/img/emoji/70.png
new file mode 100644
index 0000000000000000000000000000000000000000..8a5d8dad5c3ab032d0d986be788d309fe55cf3ad
Binary files /dev/null and b/static/img/emoji/70.png differ
diff --git a/static/img/emoji/71.png b/static/img/emoji/71.png
new file mode 100644
index 0000000000000000000000000000000000000000..416de47be465f67782f65262c32c4c10a353b7f2
Binary files /dev/null and b/static/img/emoji/71.png differ
diff --git a/static/img/emoji/72.png b/static/img/emoji/72.png
new file mode 100644
index 0000000000000000000000000000000000000000..ca3bb9bcf6304ded9679998f00959e1732d5a960
Binary files /dev/null and b/static/img/emoji/72.png differ
diff --git a/static/img/emoji/73.png b/static/img/emoji/73.png
new file mode 100644
index 0000000000000000000000000000000000000000..135e3981ed1307b19b7c20b00e56d38c5baa8d94
Binary files /dev/null and b/static/img/emoji/73.png differ
diff --git a/static/img/emoji/74.png b/static/img/emoji/74.png
new file mode 100644
index 0000000000000000000000000000000000000000..59d45baeabbb4d839472ebf66bd538dd9341e390
Binary files /dev/null and b/static/img/emoji/74.png differ
diff --git a/static/img/emoji/75.png b/static/img/emoji/75.png
new file mode 100644
index 0000000000000000000000000000000000000000..73a4dc840085c7f42c7464d827751348b58acfba
Binary files /dev/null and b/static/img/emoji/75.png differ
diff --git a/static/img/emoji/76.png b/static/img/emoji/76.png
new file mode 100644
index 0000000000000000000000000000000000000000..e3e16ef73f830bb9922c37bab7c66a6179127e94
Binary files /dev/null and b/static/img/emoji/76.png differ
diff --git a/static/img/emoji/77.png b/static/img/emoji/77.png
new file mode 100644
index 0000000000000000000000000000000000000000..30be04655af5ff06c524ef43ace5b4ab10bad850
Binary files /dev/null and b/static/img/emoji/77.png differ
diff --git a/static/img/emoji/78.png b/static/img/emoji/78.png
new file mode 100644
index 0000000000000000000000000000000000000000..68c74adada1c82c1e9e03f409fa5027d181371cb
Binary files /dev/null and b/static/img/emoji/78.png differ
diff --git a/static/img/emoji/79.png b/static/img/emoji/79.png
new file mode 100644
index 0000000000000000000000000000000000000000..1db722fa661ea4e74fca2dc29e7972716843d812
Binary files /dev/null and b/static/img/emoji/79.png differ
diff --git a/static/img/emoji/8.png b/static/img/emoji/8.png
new file mode 100644
index 0000000000000000000000000000000000000000..f95bfa897ed9a5bf105a66a3e962eb11d6ccd1a4
Binary files /dev/null and b/static/img/emoji/8.png differ
diff --git a/static/img/emoji/80.png b/static/img/emoji/80.png
new file mode 100644
index 0000000000000000000000000000000000000000..8b698415c3df31dfe15d7ccf13b158404557e024
Binary files /dev/null and b/static/img/emoji/80.png differ
diff --git a/static/img/emoji/81.png b/static/img/emoji/81.png
new file mode 100644
index 0000000000000000000000000000000000000000..f86c992d5a7a086c52fc373803eff8d38a44eeaf
Binary files /dev/null and b/static/img/emoji/81.png differ
diff --git a/static/img/emoji/82.png b/static/img/emoji/82.png
new file mode 100644
index 0000000000000000000000000000000000000000..783078d379839356e24e6346d594e33acdeadaed
Binary files /dev/null and b/static/img/emoji/82.png differ
diff --git a/static/img/emoji/83.png b/static/img/emoji/83.png
new file mode 100644
index 0000000000000000000000000000000000000000..3ece0b708af19a9d9b16ae5228ff5a7cf5325f6f
Binary files /dev/null and b/static/img/emoji/83.png differ
diff --git a/static/img/emoji/84.png b/static/img/emoji/84.png
new file mode 100644
index 0000000000000000000000000000000000000000..fc212be784482c07bb3c49168c48784d6ef9e046
Binary files /dev/null and b/static/img/emoji/84.png differ
diff --git a/static/img/emoji/9.png b/static/img/emoji/9.png
new file mode 100644
index 0000000000000000000000000000000000000000..82552008719d2841dbab81f34008db4ef830e6a1
Binary files /dev/null and b/static/img/emoji/9.png differ
diff --git a/static/img/qq/1.gif b/static/img/qq/1.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3852496c3bdd7703c670f400546e18fe15711a63
Binary files /dev/null and b/static/img/qq/1.gif differ
diff --git a/static/img/qq/10.gif b/static/img/qq/10.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5dc62f9cda283f3430a6e4bc588ab7e950f53242
Binary files /dev/null and b/static/img/qq/10.gif differ
diff --git a/static/img/qq/11.gif b/static/img/qq/11.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8398a2c982644a13c26bc73693d8f32700322dd8
Binary files /dev/null and b/static/img/qq/11.gif differ
diff --git a/static/img/qq/12.gif b/static/img/qq/12.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e12643c304bb02931c05e70035e009d8fa786288
Binary files /dev/null and b/static/img/qq/12.gif differ
diff --git a/static/img/qq/13.gif b/static/img/qq/13.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9ac3c8165044d6c887894cc5b28346e5cd64c06c
Binary files /dev/null and b/static/img/qq/13.gif differ
diff --git a/static/img/qq/14.gif b/static/img/qq/14.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4700f5fc8454a61142ec96618d7344dae5cd32d7
Binary files /dev/null and b/static/img/qq/14.gif differ
diff --git a/static/img/qq/15.gif b/static/img/qq/15.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e66b06309eaa98d9454fa1070770f948ec1e59ea
Binary files /dev/null and b/static/img/qq/15.gif differ
diff --git a/static/img/qq/16.gif b/static/img/qq/16.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9289aed26a514055d30d34d24e406e44cbf76dfc
Binary files /dev/null and b/static/img/qq/16.gif differ
diff --git a/static/img/qq/17.gif b/static/img/qq/17.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0b078211660851aa378f541dfbecdf7b8aa78865
Binary files /dev/null and b/static/img/qq/17.gif differ
diff --git a/static/img/qq/18.gif b/static/img/qq/18.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d784389afdff12f4c6012724ffdb2b00a78bbeb5
Binary files /dev/null and b/static/img/qq/18.gif differ
diff --git a/static/img/qq/19.gif b/static/img/qq/19.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3deed1de1ae86fa7f80dfb3c2867fcd74b55e012
Binary files /dev/null and b/static/img/qq/19.gif differ
diff --git a/static/img/qq/2.gif b/static/img/qq/2.gif
new file mode 100644
index 0000000000000000000000000000000000000000..82b3a79226c3cf4b88579cdd3469cddb3721b04e
Binary files /dev/null and b/static/img/qq/2.gif differ
diff --git a/static/img/qq/20.gif b/static/img/qq/20.gif
new file mode 100644
index 0000000000000000000000000000000000000000..eaabb61df0efb24beb10ad0e81c65ed0f57357e2
Binary files /dev/null and b/static/img/qq/20.gif differ
diff --git a/static/img/qq/21.gif b/static/img/qq/21.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0a0da9d6a9c3ee538a0cb76ac9db201750353c28
Binary files /dev/null and b/static/img/qq/21.gif differ
diff --git a/static/img/qq/22.gif b/static/img/qq/22.gif
new file mode 100644
index 0000000000000000000000000000000000000000..30c90c4f595db3139b0ba532918910a45eb0efec
Binary files /dev/null and b/static/img/qq/22.gif differ
diff --git a/static/img/qq/23.gif b/static/img/qq/23.gif
new file mode 100644
index 0000000000000000000000000000000000000000..893a55113fac05b93bc31cbc46349f8e374f1316
Binary files /dev/null and b/static/img/qq/23.gif differ
diff --git a/static/img/qq/24.gif b/static/img/qq/24.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1daefe6c04737a8eb17075c0fb915d2f19d313bb
Binary files /dev/null and b/static/img/qq/24.gif differ
diff --git a/static/img/qq/25.gif b/static/img/qq/25.gif
new file mode 100644
index 0000000000000000000000000000000000000000..57498b189973e2b825e36d57c7e18f2f5ccfcd58
Binary files /dev/null and b/static/img/qq/25.gif differ
diff --git a/static/img/qq/26.gif b/static/img/qq/26.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b7b8b52be46ee943cbf4423f3a9d5e2e175f3110
Binary files /dev/null and b/static/img/qq/26.gif differ
diff --git a/static/img/qq/27.gif b/static/img/qq/27.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ec710e7426df82f477ee7d0b17473718d144509a
Binary files /dev/null and b/static/img/qq/27.gif differ
diff --git a/static/img/qq/28.gif b/static/img/qq/28.gif
new file mode 100644
index 0000000000000000000000000000000000000000..fb7441b49259026015455c6e58bb387c85d5d057
Binary files /dev/null and b/static/img/qq/28.gif differ
diff --git a/static/img/qq/29.gif b/static/img/qq/29.gif
new file mode 100644
index 0000000000000000000000000000000000000000..dc05e4e422a93b656e5504284884a53ea9fe2730
Binary files /dev/null and b/static/img/qq/29.gif differ
diff --git a/static/img/qq/3.gif b/static/img/qq/3.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5493ff0fb77ed183b78f0ff286786cda8c89fc4b
Binary files /dev/null and b/static/img/qq/3.gif differ
diff --git a/static/img/qq/30.gif b/static/img/qq/30.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b7f4347f34e8854b74773af0a63993209c324ab5
Binary files /dev/null and b/static/img/qq/30.gif differ
diff --git a/static/img/qq/31.gif b/static/img/qq/31.gif
new file mode 100644
index 0000000000000000000000000000000000000000..95bd2d5844002f38883a9ad28026cc773f87dc08
Binary files /dev/null and b/static/img/qq/31.gif differ
diff --git a/static/img/qq/32.gif b/static/img/qq/32.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9d3616bfcae4e8fa155aff81b69a8cc57b57b45e
Binary files /dev/null and b/static/img/qq/32.gif differ
diff --git a/static/img/qq/33.gif b/static/img/qq/33.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8e711dd54c6d0e57e4a6fe564d5b66f5fa9c7496
Binary files /dev/null and b/static/img/qq/33.gif differ
diff --git a/static/img/qq/34.gif b/static/img/qq/34.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cff4f0a8c0fec2d1c8d969ca9df33e5a1488acb9
Binary files /dev/null and b/static/img/qq/34.gif differ
diff --git a/static/img/qq/35.gif b/static/img/qq/35.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3d7c3f3a6d2bec8959d147ae53f54b61a0f31dd5
Binary files /dev/null and b/static/img/qq/35.gif differ
diff --git a/static/img/qq/36.gif b/static/img/qq/36.gif
new file mode 100644
index 0000000000000000000000000000000000000000..01c1402969d40d790a9d482c44627be7b7a89a7a
Binary files /dev/null and b/static/img/qq/36.gif differ
diff --git a/static/img/qq/37.gif b/static/img/qq/37.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d61bdc71cfc797a944a4d86baddc49d862074a96
Binary files /dev/null and b/static/img/qq/37.gif differ
diff --git a/static/img/qq/38.gif b/static/img/qq/38.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1fb0747afa5fec0a3c9304fdf5f1695f735260b6
Binary files /dev/null and b/static/img/qq/38.gif differ
diff --git a/static/img/qq/39.gif b/static/img/qq/39.gif
new file mode 100644
index 0000000000000000000000000000000000000000..30b2c562ca11aa38bff5d4d5011549e67f441d8a
Binary files /dev/null and b/static/img/qq/39.gif differ
diff --git a/static/img/qq/4.gif b/static/img/qq/4.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5c0948ecd1b99d7490970f089151f77e923a7471
Binary files /dev/null and b/static/img/qq/4.gif differ
diff --git a/static/img/qq/40.gif b/static/img/qq/40.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9f1f62a4f38e26182c7b96789c726d85c59073ea
Binary files /dev/null and b/static/img/qq/40.gif differ
diff --git a/static/img/qq/41.gif b/static/img/qq/41.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c7a307a976c249592bdff38ce79037be8e4ccca1
Binary files /dev/null and b/static/img/qq/41.gif differ
diff --git a/static/img/qq/42.gif b/static/img/qq/42.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c7a821f8f68c27e038f6b5ef997d7f4d2dd2caa0
Binary files /dev/null and b/static/img/qq/42.gif differ
diff --git a/static/img/qq/43.gif b/static/img/qq/43.gif
new file mode 100644
index 0000000000000000000000000000000000000000..de6555647c8ceab8ea5cd77f383338546ce5eeea
Binary files /dev/null and b/static/img/qq/43.gif differ
diff --git a/static/img/qq/44.gif b/static/img/qq/44.gif
new file mode 100644
index 0000000000000000000000000000000000000000..155250ca08d94635a42c12f5b92510761554ea00
Binary files /dev/null and b/static/img/qq/44.gif differ
diff --git a/static/img/qq/45.gif b/static/img/qq/45.gif
new file mode 100644
index 0000000000000000000000000000000000000000..12fd678c836a673938a34a0437264391c5fe83e1
Binary files /dev/null and b/static/img/qq/45.gif differ
diff --git a/static/img/qq/46.gif b/static/img/qq/46.gif
new file mode 100644
index 0000000000000000000000000000000000000000..413315f79fe89dba71c76a281f2a91652d982e23
Binary files /dev/null and b/static/img/qq/46.gif differ
diff --git a/static/img/qq/47.gif b/static/img/qq/47.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6d68fa863d3ee41bd3faea0d6ccb3358d40e5c35
Binary files /dev/null and b/static/img/qq/47.gif differ
diff --git a/static/img/qq/48.gif b/static/img/qq/48.gif
new file mode 100644
index 0000000000000000000000000000000000000000..37f52e307d24c5372d10c9f3ead4732147643ee6
Binary files /dev/null and b/static/img/qq/48.gif differ
diff --git a/static/img/qq/49.gif b/static/img/qq/49.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0233ac8ba7f9199ce9206134edd877ce62bb0094
Binary files /dev/null and b/static/img/qq/49.gif differ
diff --git a/static/img/qq/5.gif b/static/img/qq/5.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c51692b3a9738fbb4b2f285f6d4cd03c2fc103bb
Binary files /dev/null and b/static/img/qq/5.gif differ
diff --git a/static/img/qq/50.gif b/static/img/qq/50.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cabb9aaccaf3ab8976a88229f25ff839d35e4cd6
Binary files /dev/null and b/static/img/qq/50.gif differ
diff --git a/static/img/qq/51.gif b/static/img/qq/51.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9080a9943473c9e9f9658506032c9a94eb6e5488
Binary files /dev/null and b/static/img/qq/51.gif differ
diff --git a/static/img/qq/52.gif b/static/img/qq/52.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9b28e90339bd7fb1b57d6f314f50ed3f9e16ac4a
Binary files /dev/null and b/static/img/qq/52.gif differ
diff --git a/static/img/qq/53.gif b/static/img/qq/53.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9b0e94f4ff321cc03eeb64c0158c8237d78ae206
Binary files /dev/null and b/static/img/qq/53.gif differ
diff --git a/static/img/qq/54.gif b/static/img/qq/54.gif
new file mode 100644
index 0000000000000000000000000000000000000000..755dcf4202050923ecce174631c9c7e7e6cc5edf
Binary files /dev/null and b/static/img/qq/54.gif differ
diff --git a/static/img/qq/55.gif b/static/img/qq/55.gif
new file mode 100644
index 0000000000000000000000000000000000000000..56108a2c8bc841b89311708b194c51e364827bdc
Binary files /dev/null and b/static/img/qq/55.gif differ
diff --git a/static/img/qq/56.gif b/static/img/qq/56.gif
new file mode 100644
index 0000000000000000000000000000000000000000..92a13b373dbaa3a578ba151277497a94df842339
Binary files /dev/null and b/static/img/qq/56.gif differ
diff --git a/static/img/qq/57.gif b/static/img/qq/57.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9644756babf18d46c2f841f57bcd6a3117aa1b0b
Binary files /dev/null and b/static/img/qq/57.gif differ
diff --git a/static/img/qq/58.gif b/static/img/qq/58.gif
new file mode 100644
index 0000000000000000000000000000000000000000..fbd15fee3822988fe36c34de8696843e96e625d2
Binary files /dev/null and b/static/img/qq/58.gif differ
diff --git a/static/img/qq/59.gif b/static/img/qq/59.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0e87b86010033c2f05fbc0dba796e17db1fd5828
Binary files /dev/null and b/static/img/qq/59.gif differ
diff --git a/static/img/qq/6.gif b/static/img/qq/6.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d48c0ef50684bfe4f073dc5891a02e3ba87ebb89
Binary files /dev/null and b/static/img/qq/6.gif differ
diff --git a/static/img/qq/60.gif b/static/img/qq/60.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6b86177b1c52b9f7a8ab4589adb17323a28eb4a1
Binary files /dev/null and b/static/img/qq/60.gif differ
diff --git a/static/img/qq/61.gif b/static/img/qq/61.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f99e873b180018d43d1839622a35c388a28848f3
Binary files /dev/null and b/static/img/qq/61.gif differ
diff --git a/static/img/qq/62.gif b/static/img/qq/62.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c6d5b7d14b19cd75c9f6af6b8946bcc8f23ff83c
Binary files /dev/null and b/static/img/qq/62.gif differ
diff --git a/static/img/qq/63.gif b/static/img/qq/63.gif
new file mode 100644
index 0000000000000000000000000000000000000000..abce8050aca8cf2eac3a5ea11e2afffae45afc1b
Binary files /dev/null and b/static/img/qq/63.gif differ
diff --git a/static/img/qq/64.gif b/static/img/qq/64.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7e259b279b86df945ce854c5ebb42622d9efdc20
Binary files /dev/null and b/static/img/qq/64.gif differ
diff --git a/static/img/qq/65.gif b/static/img/qq/65.gif
new file mode 100644
index 0000000000000000000000000000000000000000..87bb28a688909ff71197ca1a4eb60765998f0e97
Binary files /dev/null and b/static/img/qq/65.gif differ
diff --git a/static/img/qq/66.gif b/static/img/qq/66.gif
new file mode 100644
index 0000000000000000000000000000000000000000..09880e3b4a00439a844830fca1435919599d3780
Binary files /dev/null and b/static/img/qq/66.gif differ
diff --git a/static/img/qq/67.gif b/static/img/qq/67.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f746016b5dd85a77481653ec7e64c09d47f4fd0b
Binary files /dev/null and b/static/img/qq/67.gif differ
diff --git a/static/img/qq/68.gif b/static/img/qq/68.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2694402e3415d8ca0fb245febc558d52b1857366
Binary files /dev/null and b/static/img/qq/68.gif differ
diff --git a/static/img/qq/69.gif b/static/img/qq/69.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1f0450941c5648b8166c04d3c8ccea624721a663
Binary files /dev/null and b/static/img/qq/69.gif differ
diff --git a/static/img/qq/7.gif b/static/img/qq/7.gif
new file mode 100644
index 0000000000000000000000000000000000000000..baf9191f98eb8449a90edce3b4fce123383b59c2
Binary files /dev/null and b/static/img/qq/7.gif differ
diff --git a/static/img/qq/70.gif b/static/img/qq/70.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c702aeb40d57eff80c987a6e8b733761f9c9ac9a
Binary files /dev/null and b/static/img/qq/70.gif differ
diff --git a/static/img/qq/71.gif b/static/img/qq/71.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4c8eb5af1becbdb6180b139fffb647677e38e695
Binary files /dev/null and b/static/img/qq/71.gif differ
diff --git a/static/img/qq/72.gif b/static/img/qq/72.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a1437e2a51fe9240171e0b49bfa97a3921cede8f
Binary files /dev/null and b/static/img/qq/72.gif differ
diff --git a/static/img/qq/73.gif b/static/img/qq/73.gif
new file mode 100644
index 0000000000000000000000000000000000000000..65baf674cdfcc69743a493d89a84d1e66c3fd9e5
Binary files /dev/null and b/static/img/qq/73.gif differ
diff --git a/static/img/qq/74.gif b/static/img/qq/74.gif
new file mode 100644
index 0000000000000000000000000000000000000000..25a90755bf9dde464acacc96ed765f3be6de2a38
Binary files /dev/null and b/static/img/qq/74.gif differ
diff --git a/static/img/qq/75.gif b/static/img/qq/75.gif
new file mode 100644
index 0000000000000000000000000000000000000000..29ac66578fc713dc5bf3aa60ce8b19230a210a37
Binary files /dev/null and b/static/img/qq/75.gif differ
diff --git a/static/img/qq/76.gif b/static/img/qq/76.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d9acb81cc4a1bab7f277485522b55aba6d6c66d9
Binary files /dev/null and b/static/img/qq/76.gif differ
diff --git a/static/img/qq/77.gif b/static/img/qq/77.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c871e8e0b55f252ec5935a3f89de3810397de93e
Binary files /dev/null and b/static/img/qq/77.gif differ
diff --git a/static/img/qq/78.gif b/static/img/qq/78.gif
new file mode 100644
index 0000000000000000000000000000000000000000..079d2225d5268f5f12a1b52667d749b02d2e4b84
Binary files /dev/null and b/static/img/qq/78.gif differ
diff --git a/static/img/qq/79.gif b/static/img/qq/79.gif
new file mode 100644
index 0000000000000000000000000000000000000000..29eb43a4cd8deb2d9f29e9f7a44296936304468a
Binary files /dev/null and b/static/img/qq/79.gif differ
diff --git a/static/img/qq/8.gif b/static/img/qq/8.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f3cc4d9aa6121a5eadb6fac081168d89f387d751
Binary files /dev/null and b/static/img/qq/8.gif differ
diff --git a/static/img/qq/80.gif b/static/img/qq/80.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8efc2e8a90ed78e4b595703f2fa33f41cb021dfb
Binary files /dev/null and b/static/img/qq/80.gif differ
diff --git a/static/img/qq/81.gif b/static/img/qq/81.gif
new file mode 100644
index 0000000000000000000000000000000000000000..db862c237e27b2cca777f70421a2d41e52165508
Binary files /dev/null and b/static/img/qq/81.gif differ
diff --git a/static/img/qq/82.gif b/static/img/qq/82.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9a7ede7a5aeea3555ed5b24c108f2dd96edbbe88
Binary files /dev/null and b/static/img/qq/82.gif differ
diff --git a/static/img/qq/83.gif b/static/img/qq/83.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9d99f66b0a9ed1dc17039b89f1fff400af7d514a
Binary files /dev/null and b/static/img/qq/83.gif differ
diff --git a/static/img/qq/84.gif b/static/img/qq/84.gif
new file mode 100644
index 0000000000000000000000000000000000000000..885cd057851e0b482d9a68512d9cd4b71fa54a90
Binary files /dev/null and b/static/img/qq/84.gif differ
diff --git a/static/img/qq/85.gif b/static/img/qq/85.gif
new file mode 100644
index 0000000000000000000000000000000000000000..486cd1d806aae7d8f3d840fd0a67b91e65c2768d
Binary files /dev/null and b/static/img/qq/85.gif differ
diff --git a/static/img/qq/86.gif b/static/img/qq/86.gif
new file mode 100644
index 0000000000000000000000000000000000000000..53d31df3ad333c15d0a47006deca20f15334dac8
Binary files /dev/null and b/static/img/qq/86.gif differ
diff --git a/static/img/qq/87.gif b/static/img/qq/87.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f10d46fc40970b6f126c167e6ddc54a213a0a4b6
Binary files /dev/null and b/static/img/qq/87.gif differ
diff --git a/static/img/qq/88.gif b/static/img/qq/88.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1068589a1714b8b1f4abf7f18f67702fd3aa9481
Binary files /dev/null and b/static/img/qq/88.gif differ
diff --git a/static/img/qq/89.gif b/static/img/qq/89.gif
new file mode 100644
index 0000000000000000000000000000000000000000..375d87d927378801db3fc4d80b1c7a13ca7a8392
Binary files /dev/null and b/static/img/qq/89.gif differ
diff --git a/static/img/qq/9.gif b/static/img/qq/9.gif
new file mode 100644
index 0000000000000000000000000000000000000000..68ee561904a1518276fc9deb422329e559783239
Binary files /dev/null and b/static/img/qq/9.gif differ
diff --git a/static/img/qq/90.gif b/static/img/qq/90.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a03705f1582289a1b2ea1f38769044e2a241fa63
Binary files /dev/null and b/static/img/qq/90.gif differ
diff --git a/static/img/qq/91.gif b/static/img/qq/91.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ac4cb77516196958ddabda9ea2b3b94c3f471b2f
Binary files /dev/null and b/static/img/qq/91.gif differ
diff --git a/static/img/tieba/1.jpg b/static/img/tieba/1.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..70931dd0c6fb52cd164e857450ab409773e92a73
Binary files /dev/null and b/static/img/tieba/1.jpg differ
diff --git a/static/img/tieba/10.jpg b/static/img/tieba/10.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..c72534adf164df8e253f7d79dd5838d7b405325d
Binary files /dev/null and b/static/img/tieba/10.jpg differ
diff --git a/static/img/tieba/11.jpg b/static/img/tieba/11.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..ce2f0fd2d2f5b15ef8219f703dfef43fb207e829
Binary files /dev/null and b/static/img/tieba/11.jpg differ
diff --git a/static/img/tieba/12.jpg b/static/img/tieba/12.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..34ea81f88c7be16e260ee77c85330e417bf98efe
Binary files /dev/null and b/static/img/tieba/12.jpg differ
diff --git a/static/img/tieba/13.jpg b/static/img/tieba/13.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..6d7ae5717233cb4655111e786d4c544ae2207746
Binary files /dev/null and b/static/img/tieba/13.jpg differ
diff --git a/static/img/tieba/14.jpg b/static/img/tieba/14.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..0754d203a0d667f3cb8f970a606239ec82a885bb
Binary files /dev/null and b/static/img/tieba/14.jpg differ
diff --git a/static/img/tieba/15.jpg b/static/img/tieba/15.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..af12ff1a913b3dba72b7e44780bbad60b8e01374
Binary files /dev/null and b/static/img/tieba/15.jpg differ
diff --git a/static/img/tieba/16.jpg b/static/img/tieba/16.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..940dd87edb3adb8e507cd2905e65a3c6656ef0aa
Binary files /dev/null and b/static/img/tieba/16.jpg differ
diff --git a/static/img/tieba/17.jpg b/static/img/tieba/17.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..6433bee0e900aa5b1bce29ff57a5fac20a950e7e
Binary files /dev/null and b/static/img/tieba/17.jpg differ
diff --git a/static/img/tieba/18.jpg b/static/img/tieba/18.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..e041a4b87fd1e296d82b335c9596c179e258ba80
Binary files /dev/null and b/static/img/tieba/18.jpg differ
diff --git a/static/img/tieba/19.jpg b/static/img/tieba/19.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..2ba6887e314c2f82f01e13a637fa59279d233ab9
Binary files /dev/null and b/static/img/tieba/19.jpg differ
diff --git a/static/img/tieba/2.jpg b/static/img/tieba/2.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..661ed307799bfae9a9321a2dab46b4d0bd7c28d2
Binary files /dev/null and b/static/img/tieba/2.jpg differ
diff --git a/static/img/tieba/20.jpg b/static/img/tieba/20.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..7a3e337c2969c9cb955cf7b1f785bccf81408f64
Binary files /dev/null and b/static/img/tieba/20.jpg differ
diff --git a/static/img/tieba/21.jpg b/static/img/tieba/21.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..d70a3c3470c2e0a3d7932f7e8a218ab704c70224
Binary files /dev/null and b/static/img/tieba/21.jpg differ
diff --git a/static/img/tieba/22.jpg b/static/img/tieba/22.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..90b415479482a737c22d5464ae5735f1994580ad
Binary files /dev/null and b/static/img/tieba/22.jpg differ
diff --git a/static/img/tieba/23.jpg b/static/img/tieba/23.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..b1ca9e7df730601e0848c561e4fbc99cb22ab30d
Binary files /dev/null and b/static/img/tieba/23.jpg differ
diff --git a/static/img/tieba/24.jpg b/static/img/tieba/24.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..9b034b4fbeecdeaf94439b0225723ed240fc6058
Binary files /dev/null and b/static/img/tieba/24.jpg differ
diff --git a/static/img/tieba/25.jpg b/static/img/tieba/25.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..94221385a1eb4e61968147244302e5e558f7faa0
Binary files /dev/null and b/static/img/tieba/25.jpg differ
diff --git a/static/img/tieba/26.jpg b/static/img/tieba/26.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..7401e134442ed2bb99bcd2de0c37863e8e977093
Binary files /dev/null and b/static/img/tieba/26.jpg differ
diff --git a/static/img/tieba/27.jpg b/static/img/tieba/27.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..e69e40f03c259e5ea53b977e0521cbb807416a4c
Binary files /dev/null and b/static/img/tieba/27.jpg differ
diff --git a/static/img/tieba/28.jpg b/static/img/tieba/28.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..5d65ca25576d819d20315a2eb6d45eb38430e254
Binary files /dev/null and b/static/img/tieba/28.jpg differ
diff --git a/static/img/tieba/29.jpg b/static/img/tieba/29.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..02c350ef7d48a8825e143cbd00c72c48b3609ca6
Binary files /dev/null and b/static/img/tieba/29.jpg differ
diff --git a/static/img/tieba/3.jpg b/static/img/tieba/3.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..f82df23acadcc2be92f26705e00bb6ef3b8760ea
Binary files /dev/null and b/static/img/tieba/3.jpg differ
diff --git a/static/img/tieba/30.jpg b/static/img/tieba/30.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..4a86c93bb53af397e37b995e2cb550fbdbd9805e
Binary files /dev/null and b/static/img/tieba/30.jpg differ
diff --git a/static/img/tieba/31.jpg b/static/img/tieba/31.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..b33af4fb3a01a922079e2b3ae1dc2cfcd0904a2f
Binary files /dev/null and b/static/img/tieba/31.jpg differ
diff --git a/static/img/tieba/32.jpg b/static/img/tieba/32.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..19e670aed402850d9ebde7c80a046502935fb10c
Binary files /dev/null and b/static/img/tieba/32.jpg differ
diff --git a/static/img/tieba/33.jpg b/static/img/tieba/33.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..ef1c46e4b6c8471b14f3cfeb007b5de3212993f5
Binary files /dev/null and b/static/img/tieba/33.jpg differ
diff --git a/static/img/tieba/34.jpg b/static/img/tieba/34.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..b71ea4e8043732cb082d94c90bbd3797d882a423
Binary files /dev/null and b/static/img/tieba/34.jpg differ
diff --git a/static/img/tieba/35.jpg b/static/img/tieba/35.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..4b6d826b0a1bc83385aa57b89055fd02aeed51d5
Binary files /dev/null and b/static/img/tieba/35.jpg differ
diff --git a/static/img/tieba/36.jpg b/static/img/tieba/36.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..a3f1a0fc2c25737733cd57c049680c931d295cfe
Binary files /dev/null and b/static/img/tieba/36.jpg differ
diff --git a/static/img/tieba/37.jpg b/static/img/tieba/37.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..283b9a90c68f02dc76c616edb2debaaa39e90eef
Binary files /dev/null and b/static/img/tieba/37.jpg differ
diff --git a/static/img/tieba/38.jpg b/static/img/tieba/38.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..d0b02220bc917e0e8f223f5fb17d9438a3814218
Binary files /dev/null and b/static/img/tieba/38.jpg differ
diff --git a/static/img/tieba/39.jpg b/static/img/tieba/39.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..f1a7b2602b008a9bce1936e5e6d3b15a26eb9ba8
Binary files /dev/null and b/static/img/tieba/39.jpg differ
diff --git a/static/img/tieba/4.jpg b/static/img/tieba/4.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..a7aec78bcb4e699ad0d9369c5c6f2f7f14e1574d
Binary files /dev/null and b/static/img/tieba/4.jpg differ
diff --git a/static/img/tieba/40.jpg b/static/img/tieba/40.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..f119c6b76261a0a53e11950b7c74b4a66ef58570
Binary files /dev/null and b/static/img/tieba/40.jpg differ
diff --git a/static/img/tieba/41.jpg b/static/img/tieba/41.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..24a0d3e22b01e6a56548415d21707f4223e7a6f3
Binary files /dev/null and b/static/img/tieba/41.jpg differ
diff --git a/static/img/tieba/42.jpg b/static/img/tieba/42.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..9cbfc113f353ef6231b8d4b58713a511923d79e3
Binary files /dev/null and b/static/img/tieba/42.jpg differ
diff --git a/static/img/tieba/43.jpg b/static/img/tieba/43.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..714e4cd45338664c6e49ae66fc853d6aea6d04fb
Binary files /dev/null and b/static/img/tieba/43.jpg differ
diff --git a/static/img/tieba/44.jpg b/static/img/tieba/44.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..69ea7271a4eecdbcf488d114333648f236f7f045
Binary files /dev/null and b/static/img/tieba/44.jpg differ
diff --git a/static/img/tieba/45.jpg b/static/img/tieba/45.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..6b914864d0f9cf9a6fa786b047c16b1b4398389f
Binary files /dev/null and b/static/img/tieba/45.jpg differ
diff --git a/static/img/tieba/46.jpg b/static/img/tieba/46.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..517d3be14b8c12f02e77fa0a81ad023c1e568c02
Binary files /dev/null and b/static/img/tieba/46.jpg differ
diff --git a/static/img/tieba/47.jpg b/static/img/tieba/47.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..326583c40e5ae438e839c5e07022a78c2b694c99
Binary files /dev/null and b/static/img/tieba/47.jpg differ
diff --git a/static/img/tieba/48.jpg b/static/img/tieba/48.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..10068e4f7548d824ec0bcfa84e092c4783f75cd1
Binary files /dev/null and b/static/img/tieba/48.jpg differ
diff --git a/static/img/tieba/49.jpg b/static/img/tieba/49.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..dd40d1b2862db975d3ea865e297a6874e22aa3dd
Binary files /dev/null and b/static/img/tieba/49.jpg differ
diff --git a/static/img/tieba/5.jpg b/static/img/tieba/5.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..151be403e493d39cbff326cd5237759d84f8144d
Binary files /dev/null and b/static/img/tieba/5.jpg differ
diff --git a/static/img/tieba/50.jpg b/static/img/tieba/50.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..5a519bd8c8cdcc84a5289b6aa251aa1a19b1490c
Binary files /dev/null and b/static/img/tieba/50.jpg differ
diff --git a/static/img/tieba/6.jpg b/static/img/tieba/6.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..b8e75a2e0baa194da13bb70b65ca4bdfde1509a9
Binary files /dev/null and b/static/img/tieba/6.jpg differ
diff --git a/static/img/tieba/7.jpg b/static/img/tieba/7.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..ff58a6107a968b7baa5b24d2ec026e7ed66b34e6
Binary files /dev/null and b/static/img/tieba/7.jpg differ
diff --git a/static/img/tieba/8.jpg b/static/img/tieba/8.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..3f8ad2033576226fdd0acdf2be32df0b159359ea
Binary files /dev/null and b/static/img/tieba/8.jpg differ
diff --git a/static/img/tieba/9.jpg b/static/img/tieba/9.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..28ef078443b7db9268cb6b85c6c43bd60cbb1641
Binary files /dev/null and b/static/img/tieba/9.jpg differ
diff --git a/static/jquery-emoji/css/index.css b/static/jquery-emoji/css/index.css
new file mode 100644
index 0000000000000000000000000000000000000000..67b51ce6842af10d7ea7b6f75362a768970383e4
--- /dev/null
+++ b/static/jquery-emoji/css/index.css
@@ -0,0 +1,132 @@
+body {
+ font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
+ line-height: 1.5;
+ color: #606c71;
+}
+
+.page-header {
+ color: #fff;
+ text-align: center;
+ background-color: #159957;
+ background-image: linear-gradient(120deg, #155799, #159957);
+ padding: 96px 80px;
+ margin: 0;
+ border: none;
+}
+
+.project-name {
+ margin-top: 0;
+ margin-bottom: 35px;
+ font-size: 52px;
+}
+
+.project-tagline {
+ margin-bottom: 32px;
+ font-weight: normal;
+ opacity: 0.7;
+ font-size: 20px;
+}
+
+.page-header a {
+ color: #1e6bb8;
+ text-decoration: none;
+}
+
+.page-header a:hover {
+ text-decoration: underline;
+}
+
+.page-header .btn {
+ display: inline-block;
+ margin-bottom: 16px;
+ color: rgba(255, 255, 255, 0.7);
+ background-color: rgba(255, 255, 255, 0.08);
+ border-color: rgba(255, 255, 255, 0.2);
+ border-style: solid;
+ border-width: 1px;
+ border-radius: 4.8px;
+ transition: color 0.2s, background-color 0.2s, border-color 0.2s;
+ padding: 12px 16px;
+ font-size: 16px;
+}
+
+.page-header .btn + .btn {
+ margin-left: 16px;
+}
+
+.page-header .btn:hover {
+ color: rgba(255, 255, 255, 0.8);
+ text-decoration: none;
+ background-color: rgba(255, 255, 255, 0.2);
+ border-color: rgba(255, 255, 255, 0.3);
+}
+
+.main-content {
+ padding-top: 32px;
+}
+
+.main-content h2 {
+ color: #156987;
+ font-weight: normal;
+ margin-top: 50px;
+ margin-bottom: 16px;
+}
+
+#editor {
+ height: 91px;
+ background-color: #fff;
+ border: 1px solid #ccc;
+ border-radius: 4px;
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;
+ color: #555;
+ display: block;
+ font-size: 14px;
+ line-height: 1.42857;
+ padding: 6px 12px;
+ transition: border-color 0.15s ease-in-out 0s, box-shadow 0.15s ease-in-out 0s;
+ width: 100%;
+}
+
+#editor:focus {
+ border-color: #66afe9;
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(102, 175, 233, 0.6);
+ outline: 0 none;
+}
+
+#btn {
+ margin-top: 10px;
+}
+
+.m-t-20 {
+ margin-top: 20px;
+}
+
+.m-t-70 {
+ margin-top: 70px;
+}
+
+.site-footer {
+ padding-top: 32px;
+ margin-top: 32px;
+ margin-bottom: 32px;
+ border-top: solid 1px #eff0f1;
+}
+
+.site-footer-owner {
+ display: block;
+ font-weight: bold;
+}
+
+.site-footer-credits {
+ color: #819198;
+}
+
+hr {
+ margin-top: 32px;
+ margin-bottom: 32px
+}
+
+pre {
+ padding: 0;
+ border: 0;
+}
diff --git a/static/jquery-emoji/css/jquery.emoji.css b/static/jquery-emoji/css/jquery.emoji.css
new file mode 100644
index 0000000000000000000000000000000000000000..f0e9cc4450a2d6de11fc259e82ade6e16213834f
--- /dev/null
+++ b/static/jquery-emoji/css/jquery.emoji.css
@@ -0,0 +1,162 @@
+.emoji_btn {
+ position: absolute;
+ display: inline-block;
+ cursor: pointer;
+ width: 25px;
+ height: 25px;
+}
+
+.emoji_container * {
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+}
+
+.emoji_container {
+ display: none;
+ position: absolute;
+ background-color: #fff;
+ border: 1px solid #bfbfbf;
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.176);
+}
+
+.emoji_container ul {
+ list-style: none;
+ padding-left: 0;
+ margin: 0;
+}
+
+.emoji_content {
+ height: 277px;
+ overflow-y: auto;
+ padding: 5px;
+}
+
+.emoji_content ul {
+ padding-top: 1px;
+ padding-left: 1px;
+}
+
+.emoji_content ul li {
+ width: 54px;
+ height: 54px;
+ float: left;
+ border: 1px solid #e3e3e3;
+ margin-top: -1px;
+ margin-left: -1px;
+}
+
+.emoji_content ul li a {
+ display: block;
+ line-height: 54px;
+ text-align: center;
+ cursor: pointer;
+}
+
+.emoji_content ul li a img {
+ vertical-align: middle;
+ max-width: 30px;
+ max-height: 30px;
+}
+
+.emoji_content .mCSB_scrollTools {
+ width: 10px;
+}
+
+.emoji_content .mCSB_outside + .mCS-minimal-dark.mCSB_scrollTools_vertical, .emoji_content .mCSB_outside + .mCS-minimal.mCSB_scrollTools_vertical {
+ margin: 5px 0;
+}
+
+.emoji_tab {
+ background-color: #f7f7f7;
+ border-top: 1px solid #e3e3e3;
+ color: #666;
+ height: 32px;
+ position: relative;
+}
+
+.emoji_tab_prev {
+ border-top: 4px solid transparent;
+ border-bottom: 4px solid transparent;
+ border-right: 4px dashed;
+ cursor: pointer;
+ left: 8px;
+ top: 12px;
+ position: absolute;
+ display: inline-block;
+ height: 0;
+ vertical-align: middle;
+ width: 0;
+}
+
+.emoji_tab_next {
+ border-top: 4px solid transparent;
+ border-bottom: 4px solid transparent;
+ border-left: 4px dashed;
+ cursor: pointer;
+ right: 7px;
+ top: 12px;
+ position: absolute;
+ display: inline-block;
+ height: 0;
+ vertical-align: middle;
+ width: 0;
+}
+
+.emoji_tab_list {
+ left: 22px;
+ overflow: hidden;
+ position: absolute;
+ top: 0;
+}
+
+.emoji_tab_list ul {
+ width: 1500px;
+ transition: all 0.8s ease 0s;
+}
+
+.emoji_tab_list ul li {
+ border-top: 0 none;
+ cursor: pointer;
+ float: left;
+ height: 22px;
+ line-height: 22px;
+ margin: 5px 4px 0 0;
+ font-size: 12px;
+ border-radius: 3px;
+ text-align: center;
+ width: 68px;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+}
+
+.emoji_tab_list ul li:hover {
+ background: #e5e5e5;
+}
+
+.emoji_tab_list ul li.selected {
+ color: #fff;
+ background: steelblue;
+}
+
+.emoji_preview {
+ position: absolute;
+ top: 0;
+ border: 1px solid #c8c8c8;
+ border-radius: 50%;
+ width: 65px;
+ height: 65px;
+ background: #ffffff;
+ text-align: center;
+ line-height: 65px;
+ box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.176);
+ z-index: 2;
+ display: none;
+}
+
+.emoji_preview img {
+ vertical-align: middle;
+ max-width: 42px;
+ max-height: 42px;
+}
\ No newline at end of file
diff --git a/static/jquery-emoji/img/emoji/1.png b/static/jquery-emoji/img/emoji/1.png
new file mode 100644
index 0000000000000000000000000000000000000000..77b581d68faee6e9211a690b2ab3828a2ac5f70c
Binary files /dev/null and b/static/jquery-emoji/img/emoji/1.png differ
diff --git a/static/jquery-emoji/img/emoji/10.png b/static/jquery-emoji/img/emoji/10.png
new file mode 100644
index 0000000000000000000000000000000000000000..fa5f9e7f9f94a3ba9bdf23f3932cdd7c8a0a3fbc
Binary files /dev/null and b/static/jquery-emoji/img/emoji/10.png differ
diff --git a/static/jquery-emoji/img/emoji/11.png b/static/jquery-emoji/img/emoji/11.png
new file mode 100644
index 0000000000000000000000000000000000000000..1561df92eee930f89483b6e5cf4377bab40649fc
Binary files /dev/null and b/static/jquery-emoji/img/emoji/11.png differ
diff --git a/static/jquery-emoji/img/emoji/12.png b/static/jquery-emoji/img/emoji/12.png
new file mode 100644
index 0000000000000000000000000000000000000000..333716ee1fec3a36e0db015d73ec3c686660ec28
Binary files /dev/null and b/static/jquery-emoji/img/emoji/12.png differ
diff --git a/static/jquery-emoji/img/emoji/13.png b/static/jquery-emoji/img/emoji/13.png
new file mode 100644
index 0000000000000000000000000000000000000000..c65ddff552a9d58e30e2463ccce112c09ed3ad89
Binary files /dev/null and b/static/jquery-emoji/img/emoji/13.png differ
diff --git a/static/jquery-emoji/img/emoji/14.png b/static/jquery-emoji/img/emoji/14.png
new file mode 100644
index 0000000000000000000000000000000000000000..f99f6da47c18dfe21bd7344d2522d3f60b4510d8
Binary files /dev/null and b/static/jquery-emoji/img/emoji/14.png differ
diff --git a/static/jquery-emoji/img/emoji/15.png b/static/jquery-emoji/img/emoji/15.png
new file mode 100644
index 0000000000000000000000000000000000000000..3722e6f57538db37176290abf5920c6c4949e448
Binary files /dev/null and b/static/jquery-emoji/img/emoji/15.png differ
diff --git a/static/jquery-emoji/img/emoji/16.png b/static/jquery-emoji/img/emoji/16.png
new file mode 100644
index 0000000000000000000000000000000000000000..81a8396899617698e6d4459d78bed8d2b968a2a9
Binary files /dev/null and b/static/jquery-emoji/img/emoji/16.png differ
diff --git a/static/jquery-emoji/img/emoji/17.png b/static/jquery-emoji/img/emoji/17.png
new file mode 100644
index 0000000000000000000000000000000000000000..05887e99c6bb601fc395d9180efc7db2e684d86e
Binary files /dev/null and b/static/jquery-emoji/img/emoji/17.png differ
diff --git a/static/jquery-emoji/img/emoji/18.png b/static/jquery-emoji/img/emoji/18.png
new file mode 100644
index 0000000000000000000000000000000000000000..449de197048a504b2ac4ff5bc8b86fa5cfa098de
Binary files /dev/null and b/static/jquery-emoji/img/emoji/18.png differ
diff --git a/static/jquery-emoji/img/emoji/19.png b/static/jquery-emoji/img/emoji/19.png
new file mode 100644
index 0000000000000000000000000000000000000000..e894b7699606b17f68ec6059fc697c31416d8b83
Binary files /dev/null and b/static/jquery-emoji/img/emoji/19.png differ
diff --git a/static/jquery-emoji/img/emoji/2.png b/static/jquery-emoji/img/emoji/2.png
new file mode 100644
index 0000000000000000000000000000000000000000..0e5794270ea393cd6295e0553ec87838e0a4d5b9
Binary files /dev/null and b/static/jquery-emoji/img/emoji/2.png differ
diff --git a/static/jquery-emoji/img/emoji/20.png b/static/jquery-emoji/img/emoji/20.png
new file mode 100644
index 0000000000000000000000000000000000000000..47df693d424f94fc2db1a0392148ca8f2cdb4923
Binary files /dev/null and b/static/jquery-emoji/img/emoji/20.png differ
diff --git a/static/jquery-emoji/img/emoji/21.png b/static/jquery-emoji/img/emoji/21.png
new file mode 100644
index 0000000000000000000000000000000000000000..3a95eb61a3af84e6de44eaf5b4e165fdf1d1d90d
Binary files /dev/null and b/static/jquery-emoji/img/emoji/21.png differ
diff --git a/static/jquery-emoji/img/emoji/22.png b/static/jquery-emoji/img/emoji/22.png
new file mode 100644
index 0000000000000000000000000000000000000000..6d0d9afd284b9a22107defc3979c9384c192af74
Binary files /dev/null and b/static/jquery-emoji/img/emoji/22.png differ
diff --git a/static/jquery-emoji/img/emoji/23.png b/static/jquery-emoji/img/emoji/23.png
new file mode 100644
index 0000000000000000000000000000000000000000..6ae9d497d304b776aa9db1e8423d5d2c104e3fe8
Binary files /dev/null and b/static/jquery-emoji/img/emoji/23.png differ
diff --git a/static/jquery-emoji/img/emoji/24.png b/static/jquery-emoji/img/emoji/24.png
new file mode 100644
index 0000000000000000000000000000000000000000..513fce47b685b10757d425ec63bfd8b69258ca08
Binary files /dev/null and b/static/jquery-emoji/img/emoji/24.png differ
diff --git a/static/jquery-emoji/img/emoji/25.png b/static/jquery-emoji/img/emoji/25.png
new file mode 100644
index 0000000000000000000000000000000000000000..b9e39bc60fb0324d4bba4551ba2be497344dc2b5
Binary files /dev/null and b/static/jquery-emoji/img/emoji/25.png differ
diff --git a/static/jquery-emoji/img/emoji/26.png b/static/jquery-emoji/img/emoji/26.png
new file mode 100644
index 0000000000000000000000000000000000000000..858a83484a8d7dcacf867dff9f7513f4b4a668af
Binary files /dev/null and b/static/jquery-emoji/img/emoji/26.png differ
diff --git a/static/jquery-emoji/img/emoji/27.png b/static/jquery-emoji/img/emoji/27.png
new file mode 100644
index 0000000000000000000000000000000000000000..bc6e5082c8c62adbc3620c2c72c0fc28ee8ba3b9
Binary files /dev/null and b/static/jquery-emoji/img/emoji/27.png differ
diff --git a/static/jquery-emoji/img/emoji/28.png b/static/jquery-emoji/img/emoji/28.png
new file mode 100644
index 0000000000000000000000000000000000000000..9e93c885dbadcd5911704300344360d52dc6acfd
Binary files /dev/null and b/static/jquery-emoji/img/emoji/28.png differ
diff --git a/static/jquery-emoji/img/emoji/29.png b/static/jquery-emoji/img/emoji/29.png
new file mode 100644
index 0000000000000000000000000000000000000000..df4f55efd9a45c4b5327b6531129ebe34908bad6
Binary files /dev/null and b/static/jquery-emoji/img/emoji/29.png differ
diff --git a/static/jquery-emoji/img/emoji/3.png b/static/jquery-emoji/img/emoji/3.png
new file mode 100644
index 0000000000000000000000000000000000000000..4159f3c42ff0511a839076185ded2cacf4bc3f49
Binary files /dev/null and b/static/jquery-emoji/img/emoji/3.png differ
diff --git a/static/jquery-emoji/img/emoji/30.png b/static/jquery-emoji/img/emoji/30.png
new file mode 100644
index 0000000000000000000000000000000000000000..762c3766abc2276eed29f9a3727b5ba9813f36c4
Binary files /dev/null and b/static/jquery-emoji/img/emoji/30.png differ
diff --git a/static/jquery-emoji/img/emoji/31.png b/static/jquery-emoji/img/emoji/31.png
new file mode 100644
index 0000000000000000000000000000000000000000..fe5629f431e411f6870f9afe7662fe0b8022ecf4
Binary files /dev/null and b/static/jquery-emoji/img/emoji/31.png differ
diff --git a/static/jquery-emoji/img/emoji/32.png b/static/jquery-emoji/img/emoji/32.png
new file mode 100644
index 0000000000000000000000000000000000000000..d904049309c60ff5cd4772f8aa55389847d8cad3
Binary files /dev/null and b/static/jquery-emoji/img/emoji/32.png differ
diff --git a/static/jquery-emoji/img/emoji/33.png b/static/jquery-emoji/img/emoji/33.png
new file mode 100644
index 0000000000000000000000000000000000000000..671dd0c9e2ef5c61a08f7695b19defaa454f1e77
Binary files /dev/null and b/static/jquery-emoji/img/emoji/33.png differ
diff --git a/static/jquery-emoji/img/emoji/34.png b/static/jquery-emoji/img/emoji/34.png
new file mode 100644
index 0000000000000000000000000000000000000000..a2240c07e7af2be38a5b9d27eca65b9a5c9222c3
Binary files /dev/null and b/static/jquery-emoji/img/emoji/34.png differ
diff --git a/static/jquery-emoji/img/emoji/35.png b/static/jquery-emoji/img/emoji/35.png
new file mode 100644
index 0000000000000000000000000000000000000000..389a02bf282628757e93ae97fe811379f0be592e
Binary files /dev/null and b/static/jquery-emoji/img/emoji/35.png differ
diff --git a/static/jquery-emoji/img/emoji/36.png b/static/jquery-emoji/img/emoji/36.png
new file mode 100644
index 0000000000000000000000000000000000000000..f7f273c733b0255a6d3fbcbf1422c656d9326a12
Binary files /dev/null and b/static/jquery-emoji/img/emoji/36.png differ
diff --git a/static/jquery-emoji/img/emoji/37.png b/static/jquery-emoji/img/emoji/37.png
new file mode 100644
index 0000000000000000000000000000000000000000..09b9ef79a7d1aad4e9dd8fa8163b3ef5e9567b11
Binary files /dev/null and b/static/jquery-emoji/img/emoji/37.png differ
diff --git a/static/jquery-emoji/img/emoji/38.png b/static/jquery-emoji/img/emoji/38.png
new file mode 100644
index 0000000000000000000000000000000000000000..81786c1d8f5ed810fd8351f74996f9b64dbf5ffb
Binary files /dev/null and b/static/jquery-emoji/img/emoji/38.png differ
diff --git a/static/jquery-emoji/img/emoji/39.png b/static/jquery-emoji/img/emoji/39.png
new file mode 100644
index 0000000000000000000000000000000000000000..41c6b825d6a6abf736a1b882c951c1eb942afabf
Binary files /dev/null and b/static/jquery-emoji/img/emoji/39.png differ
diff --git a/static/jquery-emoji/img/emoji/4.png b/static/jquery-emoji/img/emoji/4.png
new file mode 100644
index 0000000000000000000000000000000000000000..74b78c9c07a5643bdfaf33b89677e00fefb11b92
Binary files /dev/null and b/static/jquery-emoji/img/emoji/4.png differ
diff --git a/static/jquery-emoji/img/emoji/40.png b/static/jquery-emoji/img/emoji/40.png
new file mode 100644
index 0000000000000000000000000000000000000000..277047b7c460cf2532412c6fbe66e172fb13e13b
Binary files /dev/null and b/static/jquery-emoji/img/emoji/40.png differ
diff --git a/static/jquery-emoji/img/emoji/41.png b/static/jquery-emoji/img/emoji/41.png
new file mode 100644
index 0000000000000000000000000000000000000000..ecc8874c2fdb9dac387bd6765ac8081034a75c85
Binary files /dev/null and b/static/jquery-emoji/img/emoji/41.png differ
diff --git a/static/jquery-emoji/img/emoji/42.png b/static/jquery-emoji/img/emoji/42.png
new file mode 100644
index 0000000000000000000000000000000000000000..f61267c281ded65c918ef42bc2c98042315f5c39
Binary files /dev/null and b/static/jquery-emoji/img/emoji/42.png differ
diff --git a/static/jquery-emoji/img/emoji/43.png b/static/jquery-emoji/img/emoji/43.png
new file mode 100644
index 0000000000000000000000000000000000000000..19f92efb66e8220e0d461e670898203084ef0c89
Binary files /dev/null and b/static/jquery-emoji/img/emoji/43.png differ
diff --git a/static/jquery-emoji/img/emoji/44.png b/static/jquery-emoji/img/emoji/44.png
new file mode 100644
index 0000000000000000000000000000000000000000..d01c982a75acf2968d07cbaccd4d601e9660eadb
Binary files /dev/null and b/static/jquery-emoji/img/emoji/44.png differ
diff --git a/static/jquery-emoji/img/emoji/45.png b/static/jquery-emoji/img/emoji/45.png
new file mode 100644
index 0000000000000000000000000000000000000000..38a99b43f7f3fb2bae43bca0ea80abbae1485d79
Binary files /dev/null and b/static/jquery-emoji/img/emoji/45.png differ
diff --git a/static/jquery-emoji/img/emoji/46.png b/static/jquery-emoji/img/emoji/46.png
new file mode 100644
index 0000000000000000000000000000000000000000..1cfe73672c0c48159a60bc287c5705f19ac4d873
Binary files /dev/null and b/static/jquery-emoji/img/emoji/46.png differ
diff --git a/static/jquery-emoji/img/emoji/47.png b/static/jquery-emoji/img/emoji/47.png
new file mode 100644
index 0000000000000000000000000000000000000000..6f9f029a420f06dadd6f66b04801771b4f92c48f
Binary files /dev/null and b/static/jquery-emoji/img/emoji/47.png differ
diff --git a/static/jquery-emoji/img/emoji/48.png b/static/jquery-emoji/img/emoji/48.png
new file mode 100644
index 0000000000000000000000000000000000000000..658c6d91875c8d13a3be0a9785238586133c436f
Binary files /dev/null and b/static/jquery-emoji/img/emoji/48.png differ
diff --git a/static/jquery-emoji/img/emoji/49.png b/static/jquery-emoji/img/emoji/49.png
new file mode 100644
index 0000000000000000000000000000000000000000..80c5aebb68091298f8995abba5e81e095938be25
Binary files /dev/null and b/static/jquery-emoji/img/emoji/49.png differ
diff --git a/static/jquery-emoji/img/emoji/5.png b/static/jquery-emoji/img/emoji/5.png
new file mode 100644
index 0000000000000000000000000000000000000000..591cfcef8bb86b07f085e81b99e16bb261c40e15
Binary files /dev/null and b/static/jquery-emoji/img/emoji/5.png differ
diff --git a/static/jquery-emoji/img/emoji/50.png b/static/jquery-emoji/img/emoji/50.png
new file mode 100644
index 0000000000000000000000000000000000000000..7d7790ce4dfc69a8dcbbf706b75757dffec862e2
Binary files /dev/null and b/static/jquery-emoji/img/emoji/50.png differ
diff --git a/static/jquery-emoji/img/emoji/51.png b/static/jquery-emoji/img/emoji/51.png
new file mode 100644
index 0000000000000000000000000000000000000000..a1bc850ecb4cfcdf75f8668bd0c668537a764223
Binary files /dev/null and b/static/jquery-emoji/img/emoji/51.png differ
diff --git a/static/jquery-emoji/img/emoji/52.png b/static/jquery-emoji/img/emoji/52.png
new file mode 100644
index 0000000000000000000000000000000000000000..d23c095e0804a23bc911a027530e12e86bdd7eda
Binary files /dev/null and b/static/jquery-emoji/img/emoji/52.png differ
diff --git a/static/jquery-emoji/img/emoji/53.png b/static/jquery-emoji/img/emoji/53.png
new file mode 100644
index 0000000000000000000000000000000000000000..afdb450d1dff9e742955efbb03bef606e1aaba16
Binary files /dev/null and b/static/jquery-emoji/img/emoji/53.png differ
diff --git a/static/jquery-emoji/img/emoji/54.png b/static/jquery-emoji/img/emoji/54.png
new file mode 100644
index 0000000000000000000000000000000000000000..8b40ff4c8c8fbc0fa88a827d8deb4daaab6b7fdf
Binary files /dev/null and b/static/jquery-emoji/img/emoji/54.png differ
diff --git a/static/jquery-emoji/img/emoji/55.png b/static/jquery-emoji/img/emoji/55.png
new file mode 100644
index 0000000000000000000000000000000000000000..260c531b9e23171ca25cd30971ba06e28a3d7c74
Binary files /dev/null and b/static/jquery-emoji/img/emoji/55.png differ
diff --git a/static/jquery-emoji/img/emoji/56.png b/static/jquery-emoji/img/emoji/56.png
new file mode 100644
index 0000000000000000000000000000000000000000..b31c08c0b883444326948789ca5bd9ddb2fcbe97
Binary files /dev/null and b/static/jquery-emoji/img/emoji/56.png differ
diff --git a/static/jquery-emoji/img/emoji/57.png b/static/jquery-emoji/img/emoji/57.png
new file mode 100644
index 0000000000000000000000000000000000000000..826ed1102dc6f3f74c008b3ce7bd03a4f0a44fa7
Binary files /dev/null and b/static/jquery-emoji/img/emoji/57.png differ
diff --git a/static/jquery-emoji/img/emoji/58.png b/static/jquery-emoji/img/emoji/58.png
new file mode 100644
index 0000000000000000000000000000000000000000..3479fbcbbd4b259651bc6bc450e364daa10dfb25
Binary files /dev/null and b/static/jquery-emoji/img/emoji/58.png differ
diff --git a/static/jquery-emoji/img/emoji/59.png b/static/jquery-emoji/img/emoji/59.png
new file mode 100644
index 0000000000000000000000000000000000000000..57e1adcb04ac2d22d05664a54aebb718b83801a9
Binary files /dev/null and b/static/jquery-emoji/img/emoji/59.png differ
diff --git a/static/jquery-emoji/img/emoji/6.png b/static/jquery-emoji/img/emoji/6.png
new file mode 100644
index 0000000000000000000000000000000000000000..af9a80b7f09fcd4926ddeb4b8849220514274b48
Binary files /dev/null and b/static/jquery-emoji/img/emoji/6.png differ
diff --git a/static/jquery-emoji/img/emoji/60.png b/static/jquery-emoji/img/emoji/60.png
new file mode 100644
index 0000000000000000000000000000000000000000..36e8edcbec4e8a21b060753be80e4ff4ba36d8e3
Binary files /dev/null and b/static/jquery-emoji/img/emoji/60.png differ
diff --git a/static/jquery-emoji/img/emoji/61.png b/static/jquery-emoji/img/emoji/61.png
new file mode 100644
index 0000000000000000000000000000000000000000..39f590d69458d276f2132d95c23fd7b231636d6e
Binary files /dev/null and b/static/jquery-emoji/img/emoji/61.png differ
diff --git a/static/jquery-emoji/img/emoji/62.png b/static/jquery-emoji/img/emoji/62.png
new file mode 100644
index 0000000000000000000000000000000000000000..cd78bed7440fee98515a0748851cceddb4efae1b
Binary files /dev/null and b/static/jquery-emoji/img/emoji/62.png differ
diff --git a/static/jquery-emoji/img/emoji/63.png b/static/jquery-emoji/img/emoji/63.png
new file mode 100644
index 0000000000000000000000000000000000000000..aa5b1d7c46fbfb27876d4e5facd5d0dfa5436d44
Binary files /dev/null and b/static/jquery-emoji/img/emoji/63.png differ
diff --git a/static/jquery-emoji/img/emoji/64.png b/static/jquery-emoji/img/emoji/64.png
new file mode 100644
index 0000000000000000000000000000000000000000..df007103b0bd410bfd23be425d6654b0aa3eeb16
Binary files /dev/null and b/static/jquery-emoji/img/emoji/64.png differ
diff --git a/static/jquery-emoji/img/emoji/65.png b/static/jquery-emoji/img/emoji/65.png
new file mode 100644
index 0000000000000000000000000000000000000000..95b9ee09480cb635876ddec024d6aba6e8d636bf
Binary files /dev/null and b/static/jquery-emoji/img/emoji/65.png differ
diff --git a/static/jquery-emoji/img/emoji/66.png b/static/jquery-emoji/img/emoji/66.png
new file mode 100644
index 0000000000000000000000000000000000000000..d70a2f06263fa99a8553765a6bfbb8a9a86a5597
Binary files /dev/null and b/static/jquery-emoji/img/emoji/66.png differ
diff --git a/static/jquery-emoji/img/emoji/67.png b/static/jquery-emoji/img/emoji/67.png
new file mode 100644
index 0000000000000000000000000000000000000000..552cfdc2b982d5d3ac41d44892872f038dfc2d60
Binary files /dev/null and b/static/jquery-emoji/img/emoji/67.png differ
diff --git a/static/jquery-emoji/img/emoji/68.png b/static/jquery-emoji/img/emoji/68.png
new file mode 100644
index 0000000000000000000000000000000000000000..1e118b5b1849619bb65488eb3ed219e3f77fa0d3
Binary files /dev/null and b/static/jquery-emoji/img/emoji/68.png differ
diff --git a/static/jquery-emoji/img/emoji/69.png b/static/jquery-emoji/img/emoji/69.png
new file mode 100644
index 0000000000000000000000000000000000000000..3289787dcf9d5ce7aeabbcd377a2523e893de33d
Binary files /dev/null and b/static/jquery-emoji/img/emoji/69.png differ
diff --git a/static/jquery-emoji/img/emoji/7.png b/static/jquery-emoji/img/emoji/7.png
new file mode 100644
index 0000000000000000000000000000000000000000..756766dd3e9702e42082555bca7c71ba2aadf544
Binary files /dev/null and b/static/jquery-emoji/img/emoji/7.png differ
diff --git a/static/jquery-emoji/img/emoji/70.png b/static/jquery-emoji/img/emoji/70.png
new file mode 100644
index 0000000000000000000000000000000000000000..8a5d8dad5c3ab032d0d986be788d309fe55cf3ad
Binary files /dev/null and b/static/jquery-emoji/img/emoji/70.png differ
diff --git a/static/jquery-emoji/img/emoji/71.png b/static/jquery-emoji/img/emoji/71.png
new file mode 100644
index 0000000000000000000000000000000000000000..416de47be465f67782f65262c32c4c10a353b7f2
Binary files /dev/null and b/static/jquery-emoji/img/emoji/71.png differ
diff --git a/static/jquery-emoji/img/emoji/72.png b/static/jquery-emoji/img/emoji/72.png
new file mode 100644
index 0000000000000000000000000000000000000000..ca3bb9bcf6304ded9679998f00959e1732d5a960
Binary files /dev/null and b/static/jquery-emoji/img/emoji/72.png differ
diff --git a/static/jquery-emoji/img/emoji/73.png b/static/jquery-emoji/img/emoji/73.png
new file mode 100644
index 0000000000000000000000000000000000000000..135e3981ed1307b19b7c20b00e56d38c5baa8d94
Binary files /dev/null and b/static/jquery-emoji/img/emoji/73.png differ
diff --git a/static/jquery-emoji/img/emoji/74.png b/static/jquery-emoji/img/emoji/74.png
new file mode 100644
index 0000000000000000000000000000000000000000..59d45baeabbb4d839472ebf66bd538dd9341e390
Binary files /dev/null and b/static/jquery-emoji/img/emoji/74.png differ
diff --git a/static/jquery-emoji/img/emoji/75.png b/static/jquery-emoji/img/emoji/75.png
new file mode 100644
index 0000000000000000000000000000000000000000..73a4dc840085c7f42c7464d827751348b58acfba
Binary files /dev/null and b/static/jquery-emoji/img/emoji/75.png differ
diff --git a/static/jquery-emoji/img/emoji/76.png b/static/jquery-emoji/img/emoji/76.png
new file mode 100644
index 0000000000000000000000000000000000000000..e3e16ef73f830bb9922c37bab7c66a6179127e94
Binary files /dev/null and b/static/jquery-emoji/img/emoji/76.png differ
diff --git a/static/jquery-emoji/img/emoji/77.png b/static/jquery-emoji/img/emoji/77.png
new file mode 100644
index 0000000000000000000000000000000000000000..30be04655af5ff06c524ef43ace5b4ab10bad850
Binary files /dev/null and b/static/jquery-emoji/img/emoji/77.png differ
diff --git a/static/jquery-emoji/img/emoji/78.png b/static/jquery-emoji/img/emoji/78.png
new file mode 100644
index 0000000000000000000000000000000000000000..68c74adada1c82c1e9e03f409fa5027d181371cb
Binary files /dev/null and b/static/jquery-emoji/img/emoji/78.png differ
diff --git a/static/jquery-emoji/img/emoji/79.png b/static/jquery-emoji/img/emoji/79.png
new file mode 100644
index 0000000000000000000000000000000000000000..1db722fa661ea4e74fca2dc29e7972716843d812
Binary files /dev/null and b/static/jquery-emoji/img/emoji/79.png differ
diff --git a/static/jquery-emoji/img/emoji/8.png b/static/jquery-emoji/img/emoji/8.png
new file mode 100644
index 0000000000000000000000000000000000000000..f95bfa897ed9a5bf105a66a3e962eb11d6ccd1a4
Binary files /dev/null and b/static/jquery-emoji/img/emoji/8.png differ
diff --git a/static/jquery-emoji/img/emoji/80.png b/static/jquery-emoji/img/emoji/80.png
new file mode 100644
index 0000000000000000000000000000000000000000..8b698415c3df31dfe15d7ccf13b158404557e024
Binary files /dev/null and b/static/jquery-emoji/img/emoji/80.png differ
diff --git a/static/jquery-emoji/img/emoji/81.png b/static/jquery-emoji/img/emoji/81.png
new file mode 100644
index 0000000000000000000000000000000000000000..f86c992d5a7a086c52fc373803eff8d38a44eeaf
Binary files /dev/null and b/static/jquery-emoji/img/emoji/81.png differ
diff --git a/static/jquery-emoji/img/emoji/82.png b/static/jquery-emoji/img/emoji/82.png
new file mode 100644
index 0000000000000000000000000000000000000000..783078d379839356e24e6346d594e33acdeadaed
Binary files /dev/null and b/static/jquery-emoji/img/emoji/82.png differ
diff --git a/static/jquery-emoji/img/emoji/83.png b/static/jquery-emoji/img/emoji/83.png
new file mode 100644
index 0000000000000000000000000000000000000000..3ece0b708af19a9d9b16ae5228ff5a7cf5325f6f
Binary files /dev/null and b/static/jquery-emoji/img/emoji/83.png differ
diff --git a/static/jquery-emoji/img/emoji/84.png b/static/jquery-emoji/img/emoji/84.png
new file mode 100644
index 0000000000000000000000000000000000000000..fc212be784482c07bb3c49168c48784d6ef9e046
Binary files /dev/null and b/static/jquery-emoji/img/emoji/84.png differ
diff --git a/static/jquery-emoji/img/emoji/9.png b/static/jquery-emoji/img/emoji/9.png
new file mode 100644
index 0000000000000000000000000000000000000000..82552008719d2841dbab81f34008db4ef830e6a1
Binary files /dev/null and b/static/jquery-emoji/img/emoji/9.png differ
diff --git a/static/jquery-emoji/img/qq/1.gif b/static/jquery-emoji/img/qq/1.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3852496c3bdd7703c670f400546e18fe15711a63
Binary files /dev/null and b/static/jquery-emoji/img/qq/1.gif differ
diff --git a/static/jquery-emoji/img/qq/10.gif b/static/jquery-emoji/img/qq/10.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5dc62f9cda283f3430a6e4bc588ab7e950f53242
Binary files /dev/null and b/static/jquery-emoji/img/qq/10.gif differ
diff --git a/static/jquery-emoji/img/qq/11.gif b/static/jquery-emoji/img/qq/11.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8398a2c982644a13c26bc73693d8f32700322dd8
Binary files /dev/null and b/static/jquery-emoji/img/qq/11.gif differ
diff --git a/static/jquery-emoji/img/qq/12.gif b/static/jquery-emoji/img/qq/12.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e12643c304bb02931c05e70035e009d8fa786288
Binary files /dev/null and b/static/jquery-emoji/img/qq/12.gif differ
diff --git a/static/jquery-emoji/img/qq/13.gif b/static/jquery-emoji/img/qq/13.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9ac3c8165044d6c887894cc5b28346e5cd64c06c
Binary files /dev/null and b/static/jquery-emoji/img/qq/13.gif differ
diff --git a/static/jquery-emoji/img/qq/14.gif b/static/jquery-emoji/img/qq/14.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4700f5fc8454a61142ec96618d7344dae5cd32d7
Binary files /dev/null and b/static/jquery-emoji/img/qq/14.gif differ
diff --git a/static/jquery-emoji/img/qq/15.gif b/static/jquery-emoji/img/qq/15.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e66b06309eaa98d9454fa1070770f948ec1e59ea
Binary files /dev/null and b/static/jquery-emoji/img/qq/15.gif differ
diff --git a/static/jquery-emoji/img/qq/16.gif b/static/jquery-emoji/img/qq/16.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9289aed26a514055d30d34d24e406e44cbf76dfc
Binary files /dev/null and b/static/jquery-emoji/img/qq/16.gif differ
diff --git a/static/jquery-emoji/img/qq/17.gif b/static/jquery-emoji/img/qq/17.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0b078211660851aa378f541dfbecdf7b8aa78865
Binary files /dev/null and b/static/jquery-emoji/img/qq/17.gif differ
diff --git a/static/jquery-emoji/img/qq/18.gif b/static/jquery-emoji/img/qq/18.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d784389afdff12f4c6012724ffdb2b00a78bbeb5
Binary files /dev/null and b/static/jquery-emoji/img/qq/18.gif differ
diff --git a/static/jquery-emoji/img/qq/19.gif b/static/jquery-emoji/img/qq/19.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3deed1de1ae86fa7f80dfb3c2867fcd74b55e012
Binary files /dev/null and b/static/jquery-emoji/img/qq/19.gif differ
diff --git a/static/jquery-emoji/img/qq/2.gif b/static/jquery-emoji/img/qq/2.gif
new file mode 100644
index 0000000000000000000000000000000000000000..82b3a79226c3cf4b88579cdd3469cddb3721b04e
Binary files /dev/null and b/static/jquery-emoji/img/qq/2.gif differ
diff --git a/static/jquery-emoji/img/qq/20.gif b/static/jquery-emoji/img/qq/20.gif
new file mode 100644
index 0000000000000000000000000000000000000000..eaabb61df0efb24beb10ad0e81c65ed0f57357e2
Binary files /dev/null and b/static/jquery-emoji/img/qq/20.gif differ
diff --git a/static/jquery-emoji/img/qq/21.gif b/static/jquery-emoji/img/qq/21.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0a0da9d6a9c3ee538a0cb76ac9db201750353c28
Binary files /dev/null and b/static/jquery-emoji/img/qq/21.gif differ
diff --git a/static/jquery-emoji/img/qq/22.gif b/static/jquery-emoji/img/qq/22.gif
new file mode 100644
index 0000000000000000000000000000000000000000..30c90c4f595db3139b0ba532918910a45eb0efec
Binary files /dev/null and b/static/jquery-emoji/img/qq/22.gif differ
diff --git a/static/jquery-emoji/img/qq/23.gif b/static/jquery-emoji/img/qq/23.gif
new file mode 100644
index 0000000000000000000000000000000000000000..893a55113fac05b93bc31cbc46349f8e374f1316
Binary files /dev/null and b/static/jquery-emoji/img/qq/23.gif differ
diff --git a/static/jquery-emoji/img/qq/24.gif b/static/jquery-emoji/img/qq/24.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1daefe6c04737a8eb17075c0fb915d2f19d313bb
Binary files /dev/null and b/static/jquery-emoji/img/qq/24.gif differ
diff --git a/static/jquery-emoji/img/qq/25.gif b/static/jquery-emoji/img/qq/25.gif
new file mode 100644
index 0000000000000000000000000000000000000000..57498b189973e2b825e36d57c7e18f2f5ccfcd58
Binary files /dev/null and b/static/jquery-emoji/img/qq/25.gif differ
diff --git a/static/jquery-emoji/img/qq/26.gif b/static/jquery-emoji/img/qq/26.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b7b8b52be46ee943cbf4423f3a9d5e2e175f3110
Binary files /dev/null and b/static/jquery-emoji/img/qq/26.gif differ
diff --git a/static/jquery-emoji/img/qq/27.gif b/static/jquery-emoji/img/qq/27.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ec710e7426df82f477ee7d0b17473718d144509a
Binary files /dev/null and b/static/jquery-emoji/img/qq/27.gif differ
diff --git a/static/jquery-emoji/img/qq/28.gif b/static/jquery-emoji/img/qq/28.gif
new file mode 100644
index 0000000000000000000000000000000000000000..fb7441b49259026015455c6e58bb387c85d5d057
Binary files /dev/null and b/static/jquery-emoji/img/qq/28.gif differ
diff --git a/static/jquery-emoji/img/qq/29.gif b/static/jquery-emoji/img/qq/29.gif
new file mode 100644
index 0000000000000000000000000000000000000000..dc05e4e422a93b656e5504284884a53ea9fe2730
Binary files /dev/null and b/static/jquery-emoji/img/qq/29.gif differ
diff --git a/static/jquery-emoji/img/qq/3.gif b/static/jquery-emoji/img/qq/3.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5493ff0fb77ed183b78f0ff286786cda8c89fc4b
Binary files /dev/null and b/static/jquery-emoji/img/qq/3.gif differ
diff --git a/static/jquery-emoji/img/qq/30.gif b/static/jquery-emoji/img/qq/30.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b7f4347f34e8854b74773af0a63993209c324ab5
Binary files /dev/null and b/static/jquery-emoji/img/qq/30.gif differ
diff --git a/static/jquery-emoji/img/qq/31.gif b/static/jquery-emoji/img/qq/31.gif
new file mode 100644
index 0000000000000000000000000000000000000000..95bd2d5844002f38883a9ad28026cc773f87dc08
Binary files /dev/null and b/static/jquery-emoji/img/qq/31.gif differ
diff --git a/static/jquery-emoji/img/qq/32.gif b/static/jquery-emoji/img/qq/32.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9d3616bfcae4e8fa155aff81b69a8cc57b57b45e
Binary files /dev/null and b/static/jquery-emoji/img/qq/32.gif differ
diff --git a/static/jquery-emoji/img/qq/33.gif b/static/jquery-emoji/img/qq/33.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8e711dd54c6d0e57e4a6fe564d5b66f5fa9c7496
Binary files /dev/null and b/static/jquery-emoji/img/qq/33.gif differ
diff --git a/static/jquery-emoji/img/qq/34.gif b/static/jquery-emoji/img/qq/34.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cff4f0a8c0fec2d1c8d969ca9df33e5a1488acb9
Binary files /dev/null and b/static/jquery-emoji/img/qq/34.gif differ
diff --git a/static/jquery-emoji/img/qq/35.gif b/static/jquery-emoji/img/qq/35.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3d7c3f3a6d2bec8959d147ae53f54b61a0f31dd5
Binary files /dev/null and b/static/jquery-emoji/img/qq/35.gif differ
diff --git a/static/jquery-emoji/img/qq/36.gif b/static/jquery-emoji/img/qq/36.gif
new file mode 100644
index 0000000000000000000000000000000000000000..01c1402969d40d790a9d482c44627be7b7a89a7a
Binary files /dev/null and b/static/jquery-emoji/img/qq/36.gif differ
diff --git a/static/jquery-emoji/img/qq/37.gif b/static/jquery-emoji/img/qq/37.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d61bdc71cfc797a944a4d86baddc49d862074a96
Binary files /dev/null and b/static/jquery-emoji/img/qq/37.gif differ
diff --git a/static/jquery-emoji/img/qq/38.gif b/static/jquery-emoji/img/qq/38.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1fb0747afa5fec0a3c9304fdf5f1695f735260b6
Binary files /dev/null and b/static/jquery-emoji/img/qq/38.gif differ
diff --git a/static/jquery-emoji/img/qq/39.gif b/static/jquery-emoji/img/qq/39.gif
new file mode 100644
index 0000000000000000000000000000000000000000..30b2c562ca11aa38bff5d4d5011549e67f441d8a
Binary files /dev/null and b/static/jquery-emoji/img/qq/39.gif differ
diff --git a/static/jquery-emoji/img/qq/4.gif b/static/jquery-emoji/img/qq/4.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5c0948ecd1b99d7490970f089151f77e923a7471
Binary files /dev/null and b/static/jquery-emoji/img/qq/4.gif differ
diff --git a/static/jquery-emoji/img/qq/40.gif b/static/jquery-emoji/img/qq/40.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9f1f62a4f38e26182c7b96789c726d85c59073ea
Binary files /dev/null and b/static/jquery-emoji/img/qq/40.gif differ
diff --git a/static/jquery-emoji/img/qq/41.gif b/static/jquery-emoji/img/qq/41.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c7a307a976c249592bdff38ce79037be8e4ccca1
Binary files /dev/null and b/static/jquery-emoji/img/qq/41.gif differ
diff --git a/static/jquery-emoji/img/qq/42.gif b/static/jquery-emoji/img/qq/42.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c7a821f8f68c27e038f6b5ef997d7f4d2dd2caa0
Binary files /dev/null and b/static/jquery-emoji/img/qq/42.gif differ
diff --git a/static/jquery-emoji/img/qq/43.gif b/static/jquery-emoji/img/qq/43.gif
new file mode 100644
index 0000000000000000000000000000000000000000..de6555647c8ceab8ea5cd77f383338546ce5eeea
Binary files /dev/null and b/static/jquery-emoji/img/qq/43.gif differ
diff --git a/static/jquery-emoji/img/qq/44.gif b/static/jquery-emoji/img/qq/44.gif
new file mode 100644
index 0000000000000000000000000000000000000000..155250ca08d94635a42c12f5b92510761554ea00
Binary files /dev/null and b/static/jquery-emoji/img/qq/44.gif differ
diff --git a/static/jquery-emoji/img/qq/45.gif b/static/jquery-emoji/img/qq/45.gif
new file mode 100644
index 0000000000000000000000000000000000000000..12fd678c836a673938a34a0437264391c5fe83e1
Binary files /dev/null and b/static/jquery-emoji/img/qq/45.gif differ
diff --git a/static/jquery-emoji/img/qq/46.gif b/static/jquery-emoji/img/qq/46.gif
new file mode 100644
index 0000000000000000000000000000000000000000..413315f79fe89dba71c76a281f2a91652d982e23
Binary files /dev/null and b/static/jquery-emoji/img/qq/46.gif differ
diff --git a/static/jquery-emoji/img/qq/47.gif b/static/jquery-emoji/img/qq/47.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6d68fa863d3ee41bd3faea0d6ccb3358d40e5c35
Binary files /dev/null and b/static/jquery-emoji/img/qq/47.gif differ
diff --git a/static/jquery-emoji/img/qq/48.gif b/static/jquery-emoji/img/qq/48.gif
new file mode 100644
index 0000000000000000000000000000000000000000..37f52e307d24c5372d10c9f3ead4732147643ee6
Binary files /dev/null and b/static/jquery-emoji/img/qq/48.gif differ
diff --git a/static/jquery-emoji/img/qq/49.gif b/static/jquery-emoji/img/qq/49.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0233ac8ba7f9199ce9206134edd877ce62bb0094
Binary files /dev/null and b/static/jquery-emoji/img/qq/49.gif differ
diff --git a/static/jquery-emoji/img/qq/5.gif b/static/jquery-emoji/img/qq/5.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c51692b3a9738fbb4b2f285f6d4cd03c2fc103bb
Binary files /dev/null and b/static/jquery-emoji/img/qq/5.gif differ
diff --git a/static/jquery-emoji/img/qq/50.gif b/static/jquery-emoji/img/qq/50.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cabb9aaccaf3ab8976a88229f25ff839d35e4cd6
Binary files /dev/null and b/static/jquery-emoji/img/qq/50.gif differ
diff --git a/static/jquery-emoji/img/qq/51.gif b/static/jquery-emoji/img/qq/51.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9080a9943473c9e9f9658506032c9a94eb6e5488
Binary files /dev/null and b/static/jquery-emoji/img/qq/51.gif differ
diff --git a/static/jquery-emoji/img/qq/52.gif b/static/jquery-emoji/img/qq/52.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9b28e90339bd7fb1b57d6f314f50ed3f9e16ac4a
Binary files /dev/null and b/static/jquery-emoji/img/qq/52.gif differ
diff --git a/static/jquery-emoji/img/qq/53.gif b/static/jquery-emoji/img/qq/53.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9b0e94f4ff321cc03eeb64c0158c8237d78ae206
Binary files /dev/null and b/static/jquery-emoji/img/qq/53.gif differ
diff --git a/static/jquery-emoji/img/qq/54.gif b/static/jquery-emoji/img/qq/54.gif
new file mode 100644
index 0000000000000000000000000000000000000000..755dcf4202050923ecce174631c9c7e7e6cc5edf
Binary files /dev/null and b/static/jquery-emoji/img/qq/54.gif differ
diff --git a/static/jquery-emoji/img/qq/55.gif b/static/jquery-emoji/img/qq/55.gif
new file mode 100644
index 0000000000000000000000000000000000000000..56108a2c8bc841b89311708b194c51e364827bdc
Binary files /dev/null and b/static/jquery-emoji/img/qq/55.gif differ
diff --git a/static/jquery-emoji/img/qq/56.gif b/static/jquery-emoji/img/qq/56.gif
new file mode 100644
index 0000000000000000000000000000000000000000..92a13b373dbaa3a578ba151277497a94df842339
Binary files /dev/null and b/static/jquery-emoji/img/qq/56.gif differ
diff --git a/static/jquery-emoji/img/qq/57.gif b/static/jquery-emoji/img/qq/57.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9644756babf18d46c2f841f57bcd6a3117aa1b0b
Binary files /dev/null and b/static/jquery-emoji/img/qq/57.gif differ
diff --git a/static/jquery-emoji/img/qq/58.gif b/static/jquery-emoji/img/qq/58.gif
new file mode 100644
index 0000000000000000000000000000000000000000..fbd15fee3822988fe36c34de8696843e96e625d2
Binary files /dev/null and b/static/jquery-emoji/img/qq/58.gif differ
diff --git a/static/jquery-emoji/img/qq/59.gif b/static/jquery-emoji/img/qq/59.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0e87b86010033c2f05fbc0dba796e17db1fd5828
Binary files /dev/null and b/static/jquery-emoji/img/qq/59.gif differ
diff --git a/static/jquery-emoji/img/qq/6.gif b/static/jquery-emoji/img/qq/6.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d48c0ef50684bfe4f073dc5891a02e3ba87ebb89
Binary files /dev/null and b/static/jquery-emoji/img/qq/6.gif differ
diff --git a/static/jquery-emoji/img/qq/60.gif b/static/jquery-emoji/img/qq/60.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6b86177b1c52b9f7a8ab4589adb17323a28eb4a1
Binary files /dev/null and b/static/jquery-emoji/img/qq/60.gif differ
diff --git a/static/jquery-emoji/img/qq/61.gif b/static/jquery-emoji/img/qq/61.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f99e873b180018d43d1839622a35c388a28848f3
Binary files /dev/null and b/static/jquery-emoji/img/qq/61.gif differ
diff --git a/static/jquery-emoji/img/qq/62.gif b/static/jquery-emoji/img/qq/62.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c6d5b7d14b19cd75c9f6af6b8946bcc8f23ff83c
Binary files /dev/null and b/static/jquery-emoji/img/qq/62.gif differ
diff --git a/static/jquery-emoji/img/qq/63.gif b/static/jquery-emoji/img/qq/63.gif
new file mode 100644
index 0000000000000000000000000000000000000000..abce8050aca8cf2eac3a5ea11e2afffae45afc1b
Binary files /dev/null and b/static/jquery-emoji/img/qq/63.gif differ
diff --git a/static/jquery-emoji/img/qq/64.gif b/static/jquery-emoji/img/qq/64.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7e259b279b86df945ce854c5ebb42622d9efdc20
Binary files /dev/null and b/static/jquery-emoji/img/qq/64.gif differ
diff --git a/static/jquery-emoji/img/qq/65.gif b/static/jquery-emoji/img/qq/65.gif
new file mode 100644
index 0000000000000000000000000000000000000000..87bb28a688909ff71197ca1a4eb60765998f0e97
Binary files /dev/null and b/static/jquery-emoji/img/qq/65.gif differ
diff --git a/static/jquery-emoji/img/qq/66.gif b/static/jquery-emoji/img/qq/66.gif
new file mode 100644
index 0000000000000000000000000000000000000000..09880e3b4a00439a844830fca1435919599d3780
Binary files /dev/null and b/static/jquery-emoji/img/qq/66.gif differ
diff --git a/static/jquery-emoji/img/qq/67.gif b/static/jquery-emoji/img/qq/67.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f746016b5dd85a77481653ec7e64c09d47f4fd0b
Binary files /dev/null and b/static/jquery-emoji/img/qq/67.gif differ
diff --git a/static/jquery-emoji/img/qq/68.gif b/static/jquery-emoji/img/qq/68.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2694402e3415d8ca0fb245febc558d52b1857366
Binary files /dev/null and b/static/jquery-emoji/img/qq/68.gif differ
diff --git a/static/jquery-emoji/img/qq/69.gif b/static/jquery-emoji/img/qq/69.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1f0450941c5648b8166c04d3c8ccea624721a663
Binary files /dev/null and b/static/jquery-emoji/img/qq/69.gif differ
diff --git a/static/jquery-emoji/img/qq/7.gif b/static/jquery-emoji/img/qq/7.gif
new file mode 100644
index 0000000000000000000000000000000000000000..baf9191f98eb8449a90edce3b4fce123383b59c2
Binary files /dev/null and b/static/jquery-emoji/img/qq/7.gif differ
diff --git a/static/jquery-emoji/img/qq/70.gif b/static/jquery-emoji/img/qq/70.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c702aeb40d57eff80c987a6e8b733761f9c9ac9a
Binary files /dev/null and b/static/jquery-emoji/img/qq/70.gif differ
diff --git a/static/jquery-emoji/img/qq/71.gif b/static/jquery-emoji/img/qq/71.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4c8eb5af1becbdb6180b139fffb647677e38e695
Binary files /dev/null and b/static/jquery-emoji/img/qq/71.gif differ
diff --git a/static/jquery-emoji/img/qq/72.gif b/static/jquery-emoji/img/qq/72.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a1437e2a51fe9240171e0b49bfa97a3921cede8f
Binary files /dev/null and b/static/jquery-emoji/img/qq/72.gif differ
diff --git a/static/jquery-emoji/img/qq/73.gif b/static/jquery-emoji/img/qq/73.gif
new file mode 100644
index 0000000000000000000000000000000000000000..65baf674cdfcc69743a493d89a84d1e66c3fd9e5
Binary files /dev/null and b/static/jquery-emoji/img/qq/73.gif differ
diff --git a/static/jquery-emoji/img/qq/74.gif b/static/jquery-emoji/img/qq/74.gif
new file mode 100644
index 0000000000000000000000000000000000000000..25a90755bf9dde464acacc96ed765f3be6de2a38
Binary files /dev/null and b/static/jquery-emoji/img/qq/74.gif differ
diff --git a/static/jquery-emoji/img/qq/75.gif b/static/jquery-emoji/img/qq/75.gif
new file mode 100644
index 0000000000000000000000000000000000000000..29ac66578fc713dc5bf3aa60ce8b19230a210a37
Binary files /dev/null and b/static/jquery-emoji/img/qq/75.gif differ
diff --git a/static/jquery-emoji/img/qq/76.gif b/static/jquery-emoji/img/qq/76.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d9acb81cc4a1bab7f277485522b55aba6d6c66d9
Binary files /dev/null and b/static/jquery-emoji/img/qq/76.gif differ
diff --git a/static/jquery-emoji/img/qq/77.gif b/static/jquery-emoji/img/qq/77.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c871e8e0b55f252ec5935a3f89de3810397de93e
Binary files /dev/null and b/static/jquery-emoji/img/qq/77.gif differ
diff --git a/static/jquery-emoji/img/qq/78.gif b/static/jquery-emoji/img/qq/78.gif
new file mode 100644
index 0000000000000000000000000000000000000000..079d2225d5268f5f12a1b52667d749b02d2e4b84
Binary files /dev/null and b/static/jquery-emoji/img/qq/78.gif differ
diff --git a/static/jquery-emoji/img/qq/79.gif b/static/jquery-emoji/img/qq/79.gif
new file mode 100644
index 0000000000000000000000000000000000000000..29eb43a4cd8deb2d9f29e9f7a44296936304468a
Binary files /dev/null and b/static/jquery-emoji/img/qq/79.gif differ
diff --git a/static/jquery-emoji/img/qq/8.gif b/static/jquery-emoji/img/qq/8.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f3cc4d9aa6121a5eadb6fac081168d89f387d751
Binary files /dev/null and b/static/jquery-emoji/img/qq/8.gif differ
diff --git a/static/jquery-emoji/img/qq/80.gif b/static/jquery-emoji/img/qq/80.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8efc2e8a90ed78e4b595703f2fa33f41cb021dfb
Binary files /dev/null and b/static/jquery-emoji/img/qq/80.gif differ
diff --git a/static/jquery-emoji/img/qq/81.gif b/static/jquery-emoji/img/qq/81.gif
new file mode 100644
index 0000000000000000000000000000000000000000..db862c237e27b2cca777f70421a2d41e52165508
Binary files /dev/null and b/static/jquery-emoji/img/qq/81.gif differ
diff --git a/static/jquery-emoji/img/qq/82.gif b/static/jquery-emoji/img/qq/82.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9a7ede7a5aeea3555ed5b24c108f2dd96edbbe88
Binary files /dev/null and b/static/jquery-emoji/img/qq/82.gif differ
diff --git a/static/jquery-emoji/img/qq/83.gif b/static/jquery-emoji/img/qq/83.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9d99f66b0a9ed1dc17039b89f1fff400af7d514a
Binary files /dev/null and b/static/jquery-emoji/img/qq/83.gif differ
diff --git a/static/jquery-emoji/img/qq/84.gif b/static/jquery-emoji/img/qq/84.gif
new file mode 100644
index 0000000000000000000000000000000000000000..885cd057851e0b482d9a68512d9cd4b71fa54a90
Binary files /dev/null and b/static/jquery-emoji/img/qq/84.gif differ
diff --git a/static/jquery-emoji/img/qq/85.gif b/static/jquery-emoji/img/qq/85.gif
new file mode 100644
index 0000000000000000000000000000000000000000..486cd1d806aae7d8f3d840fd0a67b91e65c2768d
Binary files /dev/null and b/static/jquery-emoji/img/qq/85.gif differ
diff --git a/static/jquery-emoji/img/qq/86.gif b/static/jquery-emoji/img/qq/86.gif
new file mode 100644
index 0000000000000000000000000000000000000000..53d31df3ad333c15d0a47006deca20f15334dac8
Binary files /dev/null and b/static/jquery-emoji/img/qq/86.gif differ
diff --git a/static/jquery-emoji/img/qq/87.gif b/static/jquery-emoji/img/qq/87.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f10d46fc40970b6f126c167e6ddc54a213a0a4b6
Binary files /dev/null and b/static/jquery-emoji/img/qq/87.gif differ
diff --git a/static/jquery-emoji/img/qq/88.gif b/static/jquery-emoji/img/qq/88.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1068589a1714b8b1f4abf7f18f67702fd3aa9481
Binary files /dev/null and b/static/jquery-emoji/img/qq/88.gif differ
diff --git a/static/jquery-emoji/img/qq/89.gif b/static/jquery-emoji/img/qq/89.gif
new file mode 100644
index 0000000000000000000000000000000000000000..375d87d927378801db3fc4d80b1c7a13ca7a8392
Binary files /dev/null and b/static/jquery-emoji/img/qq/89.gif differ
diff --git a/static/jquery-emoji/img/qq/9.gif b/static/jquery-emoji/img/qq/9.gif
new file mode 100644
index 0000000000000000000000000000000000000000..68ee561904a1518276fc9deb422329e559783239
Binary files /dev/null and b/static/jquery-emoji/img/qq/9.gif differ
diff --git a/static/jquery-emoji/img/qq/90.gif b/static/jquery-emoji/img/qq/90.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a03705f1582289a1b2ea1f38769044e2a241fa63
Binary files /dev/null and b/static/jquery-emoji/img/qq/90.gif differ
diff --git a/static/jquery-emoji/img/qq/91.gif b/static/jquery-emoji/img/qq/91.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ac4cb77516196958ddabda9ea2b3b94c3f471b2f
Binary files /dev/null and b/static/jquery-emoji/img/qq/91.gif differ
diff --git a/static/jquery-emoji/img/tieba/1.jpg b/static/jquery-emoji/img/tieba/1.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..70931dd0c6fb52cd164e857450ab409773e92a73
Binary files /dev/null and b/static/jquery-emoji/img/tieba/1.jpg differ
diff --git a/static/jquery-emoji/img/tieba/10.jpg b/static/jquery-emoji/img/tieba/10.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..c72534adf164df8e253f7d79dd5838d7b405325d
Binary files /dev/null and b/static/jquery-emoji/img/tieba/10.jpg differ
diff --git a/static/jquery-emoji/img/tieba/11.jpg b/static/jquery-emoji/img/tieba/11.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..ce2f0fd2d2f5b15ef8219f703dfef43fb207e829
Binary files /dev/null and b/static/jquery-emoji/img/tieba/11.jpg differ
diff --git a/static/jquery-emoji/img/tieba/12.jpg b/static/jquery-emoji/img/tieba/12.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..34ea81f88c7be16e260ee77c85330e417bf98efe
Binary files /dev/null and b/static/jquery-emoji/img/tieba/12.jpg differ
diff --git a/static/jquery-emoji/img/tieba/13.jpg b/static/jquery-emoji/img/tieba/13.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..6d7ae5717233cb4655111e786d4c544ae2207746
Binary files /dev/null and b/static/jquery-emoji/img/tieba/13.jpg differ
diff --git a/static/jquery-emoji/img/tieba/14.jpg b/static/jquery-emoji/img/tieba/14.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..0754d203a0d667f3cb8f970a606239ec82a885bb
Binary files /dev/null and b/static/jquery-emoji/img/tieba/14.jpg differ
diff --git a/static/jquery-emoji/img/tieba/15.jpg b/static/jquery-emoji/img/tieba/15.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..af12ff1a913b3dba72b7e44780bbad60b8e01374
Binary files /dev/null and b/static/jquery-emoji/img/tieba/15.jpg differ
diff --git a/static/jquery-emoji/img/tieba/16.jpg b/static/jquery-emoji/img/tieba/16.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..940dd87edb3adb8e507cd2905e65a3c6656ef0aa
Binary files /dev/null and b/static/jquery-emoji/img/tieba/16.jpg differ
diff --git a/static/jquery-emoji/img/tieba/17.jpg b/static/jquery-emoji/img/tieba/17.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..6433bee0e900aa5b1bce29ff57a5fac20a950e7e
Binary files /dev/null and b/static/jquery-emoji/img/tieba/17.jpg differ
diff --git a/static/jquery-emoji/img/tieba/18.jpg b/static/jquery-emoji/img/tieba/18.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..e041a4b87fd1e296d82b335c9596c179e258ba80
Binary files /dev/null and b/static/jquery-emoji/img/tieba/18.jpg differ
diff --git a/static/jquery-emoji/img/tieba/19.jpg b/static/jquery-emoji/img/tieba/19.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..2ba6887e314c2f82f01e13a637fa59279d233ab9
Binary files /dev/null and b/static/jquery-emoji/img/tieba/19.jpg differ
diff --git a/static/jquery-emoji/img/tieba/2.jpg b/static/jquery-emoji/img/tieba/2.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..661ed307799bfae9a9321a2dab46b4d0bd7c28d2
Binary files /dev/null and b/static/jquery-emoji/img/tieba/2.jpg differ
diff --git a/static/jquery-emoji/img/tieba/20.jpg b/static/jquery-emoji/img/tieba/20.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..7a3e337c2969c9cb955cf7b1f785bccf81408f64
Binary files /dev/null and b/static/jquery-emoji/img/tieba/20.jpg differ
diff --git a/static/jquery-emoji/img/tieba/21.jpg b/static/jquery-emoji/img/tieba/21.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..d70a3c3470c2e0a3d7932f7e8a218ab704c70224
Binary files /dev/null and b/static/jquery-emoji/img/tieba/21.jpg differ
diff --git a/static/jquery-emoji/img/tieba/22.jpg b/static/jquery-emoji/img/tieba/22.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..90b415479482a737c22d5464ae5735f1994580ad
Binary files /dev/null and b/static/jquery-emoji/img/tieba/22.jpg differ
diff --git a/static/jquery-emoji/img/tieba/23.jpg b/static/jquery-emoji/img/tieba/23.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..b1ca9e7df730601e0848c561e4fbc99cb22ab30d
Binary files /dev/null and b/static/jquery-emoji/img/tieba/23.jpg differ
diff --git a/static/jquery-emoji/img/tieba/24.jpg b/static/jquery-emoji/img/tieba/24.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..9b034b4fbeecdeaf94439b0225723ed240fc6058
Binary files /dev/null and b/static/jquery-emoji/img/tieba/24.jpg differ
diff --git a/static/jquery-emoji/img/tieba/25.jpg b/static/jquery-emoji/img/tieba/25.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..94221385a1eb4e61968147244302e5e558f7faa0
Binary files /dev/null and b/static/jquery-emoji/img/tieba/25.jpg differ
diff --git a/static/jquery-emoji/img/tieba/26.jpg b/static/jquery-emoji/img/tieba/26.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..7401e134442ed2bb99bcd2de0c37863e8e977093
Binary files /dev/null and b/static/jquery-emoji/img/tieba/26.jpg differ
diff --git a/static/jquery-emoji/img/tieba/27.jpg b/static/jquery-emoji/img/tieba/27.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..e69e40f03c259e5ea53b977e0521cbb807416a4c
Binary files /dev/null and b/static/jquery-emoji/img/tieba/27.jpg differ
diff --git a/static/jquery-emoji/img/tieba/28.jpg b/static/jquery-emoji/img/tieba/28.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..5d65ca25576d819d20315a2eb6d45eb38430e254
Binary files /dev/null and b/static/jquery-emoji/img/tieba/28.jpg differ
diff --git a/static/jquery-emoji/img/tieba/29.jpg b/static/jquery-emoji/img/tieba/29.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..02c350ef7d48a8825e143cbd00c72c48b3609ca6
Binary files /dev/null and b/static/jquery-emoji/img/tieba/29.jpg differ
diff --git a/static/jquery-emoji/img/tieba/3.jpg b/static/jquery-emoji/img/tieba/3.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..f82df23acadcc2be92f26705e00bb6ef3b8760ea
Binary files /dev/null and b/static/jquery-emoji/img/tieba/3.jpg differ
diff --git a/static/jquery-emoji/img/tieba/30.jpg b/static/jquery-emoji/img/tieba/30.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..4a86c93bb53af397e37b995e2cb550fbdbd9805e
Binary files /dev/null and b/static/jquery-emoji/img/tieba/30.jpg differ
diff --git a/static/jquery-emoji/img/tieba/31.jpg b/static/jquery-emoji/img/tieba/31.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..b33af4fb3a01a922079e2b3ae1dc2cfcd0904a2f
Binary files /dev/null and b/static/jquery-emoji/img/tieba/31.jpg differ
diff --git a/static/jquery-emoji/img/tieba/32.jpg b/static/jquery-emoji/img/tieba/32.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..19e670aed402850d9ebde7c80a046502935fb10c
Binary files /dev/null and b/static/jquery-emoji/img/tieba/32.jpg differ
diff --git a/static/jquery-emoji/img/tieba/33.jpg b/static/jquery-emoji/img/tieba/33.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..ef1c46e4b6c8471b14f3cfeb007b5de3212993f5
Binary files /dev/null and b/static/jquery-emoji/img/tieba/33.jpg differ
diff --git a/static/jquery-emoji/img/tieba/34.jpg b/static/jquery-emoji/img/tieba/34.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..b71ea4e8043732cb082d94c90bbd3797d882a423
Binary files /dev/null and b/static/jquery-emoji/img/tieba/34.jpg differ
diff --git a/static/jquery-emoji/img/tieba/35.jpg b/static/jquery-emoji/img/tieba/35.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..4b6d826b0a1bc83385aa57b89055fd02aeed51d5
Binary files /dev/null and b/static/jquery-emoji/img/tieba/35.jpg differ
diff --git a/static/jquery-emoji/img/tieba/36.jpg b/static/jquery-emoji/img/tieba/36.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..a3f1a0fc2c25737733cd57c049680c931d295cfe
Binary files /dev/null and b/static/jquery-emoji/img/tieba/36.jpg differ
diff --git a/static/jquery-emoji/img/tieba/37.jpg b/static/jquery-emoji/img/tieba/37.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..283b9a90c68f02dc76c616edb2debaaa39e90eef
Binary files /dev/null and b/static/jquery-emoji/img/tieba/37.jpg differ
diff --git a/static/jquery-emoji/img/tieba/38.jpg b/static/jquery-emoji/img/tieba/38.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..d0b02220bc917e0e8f223f5fb17d9438a3814218
Binary files /dev/null and b/static/jquery-emoji/img/tieba/38.jpg differ
diff --git a/static/jquery-emoji/img/tieba/39.jpg b/static/jquery-emoji/img/tieba/39.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..f1a7b2602b008a9bce1936e5e6d3b15a26eb9ba8
Binary files /dev/null and b/static/jquery-emoji/img/tieba/39.jpg differ
diff --git a/static/jquery-emoji/img/tieba/4.jpg b/static/jquery-emoji/img/tieba/4.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..a7aec78bcb4e699ad0d9369c5c6f2f7f14e1574d
Binary files /dev/null and b/static/jquery-emoji/img/tieba/4.jpg differ
diff --git a/static/jquery-emoji/img/tieba/40.jpg b/static/jquery-emoji/img/tieba/40.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..f119c6b76261a0a53e11950b7c74b4a66ef58570
Binary files /dev/null and b/static/jquery-emoji/img/tieba/40.jpg differ
diff --git a/static/jquery-emoji/img/tieba/41.jpg b/static/jquery-emoji/img/tieba/41.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..24a0d3e22b01e6a56548415d21707f4223e7a6f3
Binary files /dev/null and b/static/jquery-emoji/img/tieba/41.jpg differ
diff --git a/static/jquery-emoji/img/tieba/42.jpg b/static/jquery-emoji/img/tieba/42.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..9cbfc113f353ef6231b8d4b58713a511923d79e3
Binary files /dev/null and b/static/jquery-emoji/img/tieba/42.jpg differ
diff --git a/static/jquery-emoji/img/tieba/43.jpg b/static/jquery-emoji/img/tieba/43.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..714e4cd45338664c6e49ae66fc853d6aea6d04fb
Binary files /dev/null and b/static/jquery-emoji/img/tieba/43.jpg differ
diff --git a/static/jquery-emoji/img/tieba/44.jpg b/static/jquery-emoji/img/tieba/44.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..69ea7271a4eecdbcf488d114333648f236f7f045
Binary files /dev/null and b/static/jquery-emoji/img/tieba/44.jpg differ
diff --git a/static/jquery-emoji/img/tieba/45.jpg b/static/jquery-emoji/img/tieba/45.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..6b914864d0f9cf9a6fa786b047c16b1b4398389f
Binary files /dev/null and b/static/jquery-emoji/img/tieba/45.jpg differ
diff --git a/static/jquery-emoji/img/tieba/46.jpg b/static/jquery-emoji/img/tieba/46.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..517d3be14b8c12f02e77fa0a81ad023c1e568c02
Binary files /dev/null and b/static/jquery-emoji/img/tieba/46.jpg differ
diff --git a/static/jquery-emoji/img/tieba/47.jpg b/static/jquery-emoji/img/tieba/47.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..326583c40e5ae438e839c5e07022a78c2b694c99
Binary files /dev/null and b/static/jquery-emoji/img/tieba/47.jpg differ
diff --git a/static/jquery-emoji/img/tieba/48.jpg b/static/jquery-emoji/img/tieba/48.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..10068e4f7548d824ec0bcfa84e092c4783f75cd1
Binary files /dev/null and b/static/jquery-emoji/img/tieba/48.jpg differ
diff --git a/static/jquery-emoji/img/tieba/49.jpg b/static/jquery-emoji/img/tieba/49.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..dd40d1b2862db975d3ea865e297a6874e22aa3dd
Binary files /dev/null and b/static/jquery-emoji/img/tieba/49.jpg differ
diff --git a/static/jquery-emoji/img/tieba/5.jpg b/static/jquery-emoji/img/tieba/5.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..151be403e493d39cbff326cd5237759d84f8144d
Binary files /dev/null and b/static/jquery-emoji/img/tieba/5.jpg differ
diff --git a/static/jquery-emoji/img/tieba/50.jpg b/static/jquery-emoji/img/tieba/50.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..5a519bd8c8cdcc84a5289b6aa251aa1a19b1490c
Binary files /dev/null and b/static/jquery-emoji/img/tieba/50.jpg differ
diff --git a/static/jquery-emoji/img/tieba/6.jpg b/static/jquery-emoji/img/tieba/6.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..b8e75a2e0baa194da13bb70b65ca4bdfde1509a9
Binary files /dev/null and b/static/jquery-emoji/img/tieba/6.jpg differ
diff --git a/static/jquery-emoji/img/tieba/7.jpg b/static/jquery-emoji/img/tieba/7.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..ff58a6107a968b7baa5b24d2ec026e7ed66b34e6
Binary files /dev/null and b/static/jquery-emoji/img/tieba/7.jpg differ
diff --git a/static/jquery-emoji/img/tieba/8.jpg b/static/jquery-emoji/img/tieba/8.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..3f8ad2033576226fdd0acdf2be32df0b159359ea
Binary files /dev/null and b/static/jquery-emoji/img/tieba/8.jpg differ
diff --git a/static/jquery-emoji/img/tieba/9.jpg b/static/jquery-emoji/img/tieba/9.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..28ef078443b7db9268cb6b85c6c43bd60cbb1641
Binary files /dev/null and b/static/jquery-emoji/img/tieba/9.jpg differ
diff --git a/static/jquery-emoji/js/jquery.emoji.js b/static/jquery-emoji/js/jquery.emoji.js
new file mode 100644
index 0000000000000000000000000000000000000000..70d215be20e238e64cdeb3cd5cc5557b7bb5f915
--- /dev/null
+++ b/static/jquery-emoji/js/jquery.emoji.js
@@ -0,0 +1,432 @@
+/**
+ * Created by Sky on 2015/12/11.
+ */
+(function ($, window, document) {
+ if (!Array.prototype.indexOf) {
+ Array.prototype.indexOf = function (elt) {
+ var len = this.length >>> 0;
+
+ var from = Number(arguments[1]) || 0;
+ from = (from < 0)
+ ? Math.ceil(from)
+ : Math.floor(from);
+ if (from < 0)
+ from += len;
+
+ for (; from < len; from++) {
+ if (from in this &&
+ this[from] === elt)
+ return from;
+ }
+ return -1;
+ };
+ }
+
+ var PLUGIN_NAME = 'emoji',
+ VERSION = '1.3.0',
+ DEFAULTS = {
+ showTab: true,
+ animation: 'fade',
+ icons: []
+ };
+
+ window.emoji_index = 0;
+
+ function Plugin(element, options) {
+ this.$content = $(element);
+ this.options = options;
+ this.index = emoji_index;
+ switch (options.animation) {
+ case 'none':
+ this.showFunc = 'show';
+ this.hideFunc = 'hide';
+ this.toggleFunc = 'toggle';
+ break;
+ case 'slide':
+ this.showFunc = 'slideDown';
+ this.hideFunc = 'slideUp';
+ this.toggleFunc = 'slideToggle';
+ break;
+ case 'fade':
+ this.showFunc = 'fadeIn';
+ this.hideFunc = 'fadeOut';
+ this.toggleFunc = 'fadeToggle';
+ break;
+ default:
+ this.showFunc = 'fadeIn';
+ this.hideFunc = 'fadeOut';
+ this.toggleFunc = 'fadeToggle';
+ break;
+ }
+ this._init();
+ }
+
+ Plugin.prototype = {
+ _init: function () {
+ var that = this;
+ var btn = this.options.button;
+ var newBtn,
+ contentTop,
+ contentLeft,
+ panelTop,
+ panelLeft;
+ var ix = that.index;
+ if (!btn) {
+ newBtn = '';
+ contentTop = this.$content.offset().top + this.$content.outerHeight() + 10;
+ contentLeft = this.$content.offset().left + 2;
+ $(newBtn).appendTo($('body'));
+ $('#emoji_btn_' + ix).css({ 'top': contentTop + 'px', 'left': contentLeft + 'px' });
+ btn = '#emoji_btn_' + ix;
+ }
+
+ var showTab = this.options.showTab;
+ var iconsGroup = this.options.icons;
+ var groupLength = iconsGroup.length;
+ if (groupLength === 0) {
+ alert('Missing icons config!');
+ return false;
+ }
+
+ var emoji_container = '
';
+ var emoji_content = '
';
+ var emoji_tab = '
';
+ var panel,
+ name,
+ path,
+ maxNum,
+ excludeNums,
+ file,
+ placeholder,
+ alias,
+ title,
+ index,
+ notation;
+ for (var i = 0; i < groupLength; i++) {
+ name = iconsGroup[i].name || 'group' + (i + 1);
+ path = iconsGroup[i].path;
+ maxNum = iconsGroup[i].maxNum;
+ excludeNums = iconsGroup[i].excludeNums;
+ file = iconsGroup[i].file || '.jpg';
+ placeholder = iconsGroup[i].placeholder || '#em' + (i + 1) + '_{alias}#';
+ alias = iconsGroup[i].alias;
+ title = iconsGroup[i].title;
+ index = 0;
+ if (!path || !maxNum) {
+ alert('The ' + i + ' index of icon groups has error config!');
+ continue;
+ }
+ panel = '';
+ for (var j = 1; j <= maxNum; j++) {
+ if (excludeNums && excludeNums.indexOf(j) >= 0) {
+ continue;
+ }
+ if (alias) {
+ if (typeof alias !== 'object') {
+ alert('Error config about alias!');
+ break;
+ }
+ notation = placeholder.replace(new RegExp('{alias}', 'gi'), alias[j].toString());
+ } else {
+ notation = placeholder.replace(new RegExp('{alias}', 'gi'), j.toString());
+ }
+ panel += '
';
+ index++;
+ }
+ panel += '
';
+ emoji_content += panel;
+ emoji_tab += '- ' + name + '
';
+ }
+ emoji_content += '
';
+ emoji_tab += '
';
+ var emoji_preview = '
![]()
';
+ emoji_container += emoji_content;
+ emoji_container += emoji_tab;
+ emoji_container += emoji_preview;
+
+ $(emoji_container).appendTo($('body'));
+
+ // calc panel width
+ var panelWidth = '544px';
+ var winWidth = $(window).width();
+ if (winWidth < 544) {
+ switch (this.options.position) {
+ case 'topLeft':
+ case 'bottomLeft':
+ panelWidth = (winWidth - $(btn).offset().right * 2) + 'px';
+ break;
+ default:
+ panelWidth = (winWidth - $(btn).offset().left * 2) + 'px';
+ }
+ }
+ $('#emoji_container_' + ix).css('width', panelWidth);
+ $('#emoji_container_' + ix + ' .emoji_tab_list').css('width', (parseInt(panelWidth) - 44) + 'px');
+
+ // calc panel position
+ switch (this.options.position) {
+ case 'topLeft':
+ panelTop = $(btn).offset().top - $('#emoji_container_' + ix).outerHeight() - 5;
+ panelLeft = $(btn).offset().left - $('#emoji_container_' + ix).outerWidth() + $(btn).outerHeight();
+ break;
+ case 'topRight':
+ panelTop = $(btn).offset().top - $('#emoji_container_' + ix).outerHeight() - 5;
+ panelLeft = $(btn).offset().left;
+ break;
+ case 'bottomLeft':
+ panelTop = $(btn).offset().top + $(btn).outerHeight() + 5;
+ panelLeft = $(btn).offset().left - $('#emoji_container_' + ix).outerWidth() + $(btn).outerHeight();
+ break;
+ default:
+ panelTop = $(btn).offset().top + $(btn).outerHeight() + 5;
+ panelLeft = $(btn).offset().left;
+ }
+ $('#emoji_container_' + ix).css({ 'top': panelTop + 'px', 'left': panelLeft + 'px' });
+
+ $('#emoji_container_' + ix + ' .emoji_content').mCustomScrollbar({
+ theme: 'minimal-dark',
+ scrollbarPosition: 'inside',
+ mouseWheel: {
+ scrollAmount: 275
+ }
+ });
+
+ var pageCount = groupLength % 8 === 0 ? parseInt(groupLength / 8) : parseInt(groupLength / 8) + 1;
+ var pageIndex = 1;
+ $(document).on({
+ 'click': function (e) {
+ var target = e.target;
+ var field = that.$content[0];
+ var code,
+ tab,
+ imgSrc,
+ insertHtml;
+ if (target === $(btn)[0]) {
+ $('#emoji_container_' + ix)[that.toggleFunc]();
+ that.$content.focus();
+ } else if ($(target).parents('#emoji_container_' + ix).length > 0) {
+ code = $(target).data('emoji_code') || $(target).parent().data('emoji_code');
+ tab = $(target).data('emoji_tab');
+ if (code) {
+ if (field.nodeName === 'DIV') {
+ imgSrc = $('#emoji_container_' + ix + ' a[data-emoji_code="' + code + '"] img').attr('src');
+ insertHtml = '

';
+ that._insertAtCursor(field, insertHtml, false);
+ } else {
+ that._insertAtCursor(field, code);
+ }
+ that.hide();
+ }
+ else if (tab) {
+ if (!$(target).hasClass('selected')) {
+ $('#emoji_container_' + ix + ' .emoji_icons').hide();
+ $('#emoji_container_' + ix + ' #' + tab).show();
+ $(target).addClass('selected').siblings().removeClass('selected');
+ }
+ } else if ($(target).hasClass('emoji_tab_prev')) {
+ if (pageIndex > 1) {
+ $('#emoji_container_' + ix + ' .emoji_tab_list ul').css('margin-left', ('-503' * (pageIndex - 2)) + 'px');
+ pageIndex--;
+ }
+
+ } else if ($(target).hasClass('emoji_tab_next')) {
+ if (pageIndex < pageCount) {
+ $('#emoji_container_' + ix + ' .emoji_tab_list ul').css('margin-left', ('-503' * pageIndex) + 'px');
+ pageIndex++;
+ }
+ }
+ that.$content.focus();
+ } else if ($('#emoji_container_' + ix + ':visible').length > 0) {
+ that.hide();
+ that.$content.focus();
+ }
+ }
+ });
+
+ $('#emoji_container_' + ix + ' .emoji_icons a').mouseenter(function () {
+ var index = $(this).data('index');
+ if (parseInt(index / 5) % 2 === 0) {
+ $('#emoji_container_' + ix + ' .emoji_preview').css({ 'left': 'auto', 'right': 0 });
+ } else {
+ $('#emoji_container_' + ix + ' .emoji_preview').css({ 'left': 0, 'right': 'auto' });
+ }
+ var src = $(this).find('img').attr('src');
+ $('#emoji_container_' + ix + ' .emoji_preview img').attr('src', src).parent().show();
+ });
+
+ $('#emoji_container_' + ix + ' .emoji_icons a').mouseleave(function () {
+ $('#emoji_container_' + ix + ' .emoji_preview img').removeAttr('src').parent().hide();
+ });
+ },
+
+ _insertAtCursor: function (field, value, selectPastedContent) {
+ var sel, range;
+ if (field.nodeName === 'DIV') {
+ field.focus();
+ if (window.getSelection) {
+ sel = window.getSelection();
+ if (sel.getRangeAt && sel.rangeCount) {
+ range = sel.getRangeAt(0);
+ range.deleteContents();
+ var el = document.createElement('div');
+ el.innerHTML = value;
+ var frag = document.createDocumentFragment(), node, lastNode;
+ while ((node = el.firstChild)) {
+ lastNode = frag.appendChild(node);
+ }
+ var firstNode = frag.firstChild;
+ range.insertNode(frag);
+
+ if (lastNode) {
+ range = range.cloneRange();
+ range.setStartAfter(lastNode);
+ if (selectPastedContent) {
+ range.setStartBefore(firstNode);
+ } else {
+ range.collapse(true);
+ }
+ sel.removeAllRanges();
+ sel.addRange(range);
+ }
+ }
+ } else if ((sel = document.selection) && sel.type !== 'Control') {
+ var originalRange = sel.createRange();
+ originalRange.collapse(true);
+ sel.createRange().pasteHTML(value);
+ if (selectPastedContent) {
+ range = sel.createRange();
+ range.setEndPoint('StartToStart', originalRange);
+ range.select();
+ }
+ }
+ } else {
+ if (document.selection) {
+ field.focus();
+ sel = document.selection.createRange();
+ sel.text = value;
+ sel.select();
+ }
+ else if (field.selectionStart || field.selectionStart === 0) {
+ var startPos = field.selectionStart;
+ var endPos = field.selectionEnd;
+ var restoreTop = field.scrollTop;
+ field.value = field.value.substring(0, startPos) + value + field.value.substring(endPos, field.value.length);
+ if (restoreTop > 0) {
+ field.scrollTop = restoreTop;
+ }
+ field.focus();
+ field.selectionStart = startPos + value.length;
+ field.selectionEnd = startPos + value.length;
+ } else {
+ field.value += value;
+ field.focus();
+ }
+ }
+
+ },
+
+ show: function () {
+ $('#emoji_container_' + this.index)[this.showFunc]();
+ },
+
+ hide: function () {
+ $('#emoji_container_' + this.index)[this.hideFunc]();
+ },
+
+ toggle: function () {
+ $('#emoji_container_' + this.index)[this.toggleFunc]();
+ }
+ };
+
+ function fn(option) {
+ emoji_index++;
+ return this.each(function () {
+ var $this = $(this);
+ var data = $this.data('plugin_' + PLUGIN_NAME + emoji_index);
+ var options = $.extend({}, DEFAULTS, $this.data(), typeof option === 'object' && option);
+
+ if (!data) $this.data('plugin_' + PLUGIN_NAME + emoji_index, (data = new Plugin(this, options)));
+ if (typeof option === 'string') data[option]();
+ });
+ }
+
+ $.fn[PLUGIN_NAME] = fn;
+ $.fn[PLUGIN_NAME].Constructor = Plugin;
+
+}(jQuery, window, document));
+
+(function ($, window, document) {
+
+ var PLUGIN_NAME = 'emojiParse',
+ VERSION = '1.3.0',
+ DEFAULTS = {
+ icons: []
+ };
+
+ function Plugin(element, options) {
+ this.$content = $(element);
+ this.options = options;
+ this._init();
+ }
+
+ Plugin.prototype = {
+ _init: function () {
+ var that = this;
+ var iconsGroup = this.options.icons;
+ var groupLength = iconsGroup.length;
+ var path,
+ file,
+ placeholder,
+ alias,
+ pattern,
+ regexp,
+ revertAlias = {};
+ if (groupLength > 0) {
+ for (var i = 0; i < groupLength; i++) {
+ path = iconsGroup[i].path;
+ file = iconsGroup[i].file || '.jpg';
+ placeholder = iconsGroup[i].placeholder;
+ alias = iconsGroup[i].alias;
+ if (!path) {
+ alert('Path not config!');
+ continue;
+ }
+ if (alias) {
+ for (var attr in alias) {
+ if (alias.hasOwnProperty(attr)) {
+ revertAlias[alias[attr]] = attr;
+ }
+ }
+ pattern = placeholder.replace(new RegExp('{alias}', 'gi'), '([\\s\\S]+?)');
+ regexp = new RegExp(pattern, 'gm');
+ that.$content.html(that.$content.html().replace(regexp, function ($0, $1) {
+ var n = revertAlias[$1];
+ if (n) {
+ return '

';
+ } else {
+ return $0;
+ }
+ }));
+ } else {
+ pattern = placeholder.replace(new RegExp('{alias}', 'gi'), '(\\d+?)');
+ that.$content.html(that.$content.html().replace(new RegExp(pattern, 'gm'), '

'));
+ }
+ }
+ }
+ }
+ };
+
+ function fn(option) {
+ return this.each(function () {
+ var $this = $(this);
+ var data = $this.data('plugin_' + PLUGIN_NAME);
+ var options = $.extend({}, DEFAULTS, $this.data(), typeof option === 'object' && option);
+
+ if (!data) $this.data('plugin_' + PLUGIN_NAME, (data = new Plugin(this, options)));
+ if (typeof option === 'string') data[option]();
+ });
+ }
+
+ $.fn[PLUGIN_NAME] = fn;
+ $.fn[PLUGIN_NAME].Constructor = Plugin;
+
+}(jQuery, window, document));
diff --git a/static/jquery-emoji/js/jquery.emoji.min.js b/static/jquery-emoji/js/jquery.emoji.min.js
new file mode 100644
index 0000000000000000000000000000000000000000..ce617b0388d2491b9426efec0a00a7a72cde20d4
--- /dev/null
+++ b/static/jquery-emoji/js/jquery.emoji.min.js
@@ -0,0 +1 @@
+!function(a,b,c){function d(b,c){switch(this.$content=a(b),this.options=c,this.index=emoji_index,c.animation){case"none":this.showFunc="show",this.hideFunc="hide",this.toggleFunc="toggle";break;case"slide":this.showFunc="slideDown",this.hideFunc="slideUp",this.toggleFunc="slideToggle";break;case"fade":this.showFunc="fadeIn",this.hideFunc="fadeOut",this.toggleFunc="fadeToggle";break;default:this.showFunc="fadeIn",this.hideFunc="fadeOut",this.toggleFunc="fadeToggle"}this._init()}function e(b){return emoji_index++,this.each(function(){var c=a(this),e=c.data("plugin_"+f+emoji_index),h=a.extend({},g,c.data(),"object"==typeof b&&b);e||c.data("plugin_"+f+emoji_index,e=new d(this,h)),"string"==typeof b&&e[b]()})}Array.prototype.indexOf||(Array.prototype.indexOf=function(a){var b=this.length>>>0,c=Number(arguments[1])||0;for(c=c<0?Math.ceil(c):Math.floor(c),c<0&&(c+=b);c
',e=this.$content.offset().top+this.$content.outerHeight()+10,f=this.$content.offset().left+2,a(d).appendTo(a("body")),a("#emoji_btn_"+k).css({top:e+"px",left:f+"px"}),j="#emoji_btn_"+k);var l=this.options.showTab,m=this.options.icons,n=m.length;if(0===n)return alert("Missing icons config!"),!1;for(var o,p,q,r,s,t,u,v,w,x,y,z='
',A='
',B='
',C=0;C';for(var D=1;D<=r;D++)if(!(s&&s.indexOf(D)>=0)){if(v){if("object"!=typeof v){alert("Error config about alias!");break}y=u.replace(new RegExp("{alias}","gi"),v[D].toString())}else y=u.replace(new RegExp("{alias}","gi"),D.toString());o+='
',x++}o+="
",A+=o,B+='
'+p+""}else alert("The "+C+" index of icon groups has error config!");A+="
",B+='
';var E='
![]()
';z+=A,z+=B,z+=E,a(z).appendTo(a("body"));var F="544px",G=a(b).width();if(G<544)switch(this.options.position){case"topLeft":case"bottomLeft":F=G-2*a(j).offset().right+"px";break;default:F=G-2*a(j).offset().left+"px"}switch(a("#emoji_container_"+k).css("width",F),a("#emoji_container_"+k+" .emoji_tab_list").css("width",parseInt(F)-44+""),this.options.position){case"topLeft":g=a(j).offset().top-a("#emoji_container_"+k).outerHeight()-5,h=a(j).offset().left-a("#emoji_container_"+k).outerWidth()+a(j).outerHeight();break;case"topRight":g=a(j).offset().top-a("#emoji_container_"+k).outerHeight()-5,h=a(j).offset().left;break;case"bottomLeft":g=a(j).offset().top+a(j).outerHeight()+5,h=a(j).offset().left-a("#emoji_container_"+k).outerWidth()+a(j).outerHeight();break;default:g=a(j).offset().top+a(j).outerHeight()+5,h=a(j).offset().left}a("#emoji_container_"+k).css({top:g+"px",left:h+"px"}),a("#emoji_container_"+k+" .emoji_content").mCustomScrollbar({theme:"minimal-dark",scrollbarPosition:"inside",mouseWheel:{scrollAmount:275}});var H=n%8===0?parseInt(n/8):parseInt(n/8)+1,I=1;a(c).on({click:function(b){var c,d,e,f,g=b.target,h=i.$content[0];g===a(j)[0]?(a("#emoji_container_"+k)[i.toggleFunc](),i.$content.focus()):a(g).parents("#emoji_container_"+k).length>0?(c=a(g).data("emoji_code")||a(g).parent().data("emoji_code"),d=a(g).data("emoji_tab"),c?("DIV"===h.nodeName?(e=a("#emoji_container_"+k+' a[data-emoji_code="'+c+'"] img').attr("src"),f='

',i._insertAtCursor(h,f,!1)):i._insertAtCursor(h,c),i.hide()):d?a(g).hasClass("selected")||(a("#emoji_container_"+k+" .emoji_icons").hide(),a("#emoji_container_"+k+" #"+d).show(),a(g).addClass("selected").siblings().removeClass("selected")):a(g).hasClass("emoji_tab_prev")?I>1&&(a("#emoji_container_"+k+" .emoji_tab_list ul").css("margin-left","-503"*(I-2)+"px"),I--):a(g).hasClass("emoji_tab_next")&&I
0&&(i.hide(),i.$content.focus())}}),a("#emoji_container_"+k+" .emoji_icons a").mouseenter(function(){var b=a(this).data("index");parseInt(b/5)%2===0?a("#emoji_container_"+k+" .emoji_preview").css({left:"auto",right:0}):a("#emoji_container_"+k+" .emoji_preview").css({left:0,right:"auto"});var c=a(this).find("img").attr("src");a("#emoji_container_"+k+" .emoji_preview img").attr("src",c).parent().show()}),a("#emoji_container_"+k+" .emoji_icons a").mouseleave(function(){a("#emoji_container_"+k+" .emoji_preview img").removeAttr("src").parent().hide()})},_insertAtCursor:function(a,d,e){var f,g;if("DIV"===a.nodeName){if(a.focus(),b.getSelection){if(f=b.getSelection(),f.getRangeAt&&f.rangeCount){g=f.getRangeAt(0),g.deleteContents();var h=c.createElement("div");h.innerHTML=d;for(var i,j,k=c.createDocumentFragment();i=h.firstChild;)j=k.appendChild(i);var l=k.firstChild;g.insertNode(k),j&&(g=g.cloneRange(),g.setStartAfter(j),e?g.setStartBefore(l):g.collapse(!0),f.removeAllRanges(),f.addRange(g))}}else if((f=c.selection)&&"Control"!==f.type){var m=f.createRange();m.collapse(!0),f.createRange().pasteHTML(d),e&&(g=f.createRange(),g.setEndPoint("StartToStart",m),g.select())}}else if(c.selection)a.focus(),f=c.selection.createRange(),f.text=d,f.select();else if(a.selectionStart||0===a.selectionStart){var n=a.selectionStart,o=a.selectionEnd,p=a.scrollTop;a.value=a.value.substring(0,n)+d+a.value.substring(o,a.value.length),p>0&&(a.scrollTop=p),a.focus(),a.selectionStart=n+d.length,a.selectionEnd=n+d.length}else a.value+=d,a.focus()},show:function(){a("#emoji_container_"+this.index)[this.showFunc]()},hide:function(){a("#emoji_container_"+this.index)[this.hideFunc]()},toggle:function(){a("#emoji_container_"+this.index)[this.toggleFunc]()}},a.fn[f]=e,a.fn[f].Constructor=d}(jQuery,window,document),function(a,b,c){function d(b,c){this.$content=a(b),this.options=c,this._init()}function e(b){return this.each(function(){var c=a(this),e=c.data("plugin_"+f),h=a.extend({},g,c.data(),"object"==typeof b&&b);e||c.data("plugin_"+f,e=new d(this,h)),"string"==typeof b&&e[b]()})}var f="emojiParse",g={icons:[]};d.prototype={_init:function(){var a,b,c,d,e,f,g=this,h=this.options.icons,i=h.length,j={};if(i>0)for(var k=0;k':c}))}else e=c.replace(new RegExp("{alias}","gi"),"(\\d+?)"),g.$content.html(g.$content.html().replace(new RegExp(e,"gm"),'
'));else alert("Path not config!")}},a.fn[f]=e,a.fn[f].Constructor=d}(jQuery,window,document);
\ No newline at end of file
diff --git a/static/jquery-emoji/lib/css/bootstrap.css b/static/jquery-emoji/lib/css/bootstrap.css
new file mode 100644
index 0000000000000000000000000000000000000000..fb15e3d69c352f7e0a7fc4c20fb9d16721a05171
--- /dev/null
+++ b/static/jquery-emoji/lib/css/bootstrap.css
@@ -0,0 +1,6584 @@
+/*!
+ * Bootstrap v3.3.4 (http://getbootstrap.com)
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+
+/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
+html {
+ font-family: sans-serif;
+ -webkit-text-size-adjust: 100%;
+ -ms-text-size-adjust: 100%;
+}
+body {
+ margin: 0;
+}
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+menu,
+nav,
+section,
+summary {
+ display: block;
+}
+audio,
+canvas,
+progress,
+video {
+ display: inline-block;
+ vertical-align: baseline;
+}
+audio:not([controls]) {
+ display: none;
+ height: 0;
+}
+[hidden],
+template {
+ display: none;
+}
+a {
+ background-color: transparent;
+}
+a:active,
+a:hover {
+ outline: 0;
+}
+abbr[title] {
+ border-bottom: 1px dotted;
+}
+b,
+strong {
+ font-weight: bold;
+}
+dfn {
+ font-style: italic;
+}
+h1 {
+ margin: .67em 0;
+ font-size: 2em;
+}
+mark {
+ color: #000;
+ background: #ff0;
+}
+small {
+ font-size: 80%;
+}
+sub,
+sup {
+ position: relative;
+ font-size: 75%;
+ line-height: 0;
+ vertical-align: baseline;
+}
+sup {
+ top: -.5em;
+}
+sub {
+ bottom: -.25em;
+}
+img {
+ border: 0;
+}
+svg:not(:root) {
+ overflow: hidden;
+}
+figure {
+ margin: 1em 40px;
+}
+hr {
+ height: 0;
+ -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+}
+pre {
+ overflow: auto;
+}
+code,
+kbd,
+pre,
+samp {
+ font-family: monospace, monospace;
+ font-size: 1em;
+}
+button,
+input,
+optgroup,
+select,
+textarea {
+ margin: 0;
+ font: inherit;
+ color: inherit;
+}
+button {
+ overflow: visible;
+}
+button,
+select {
+ text-transform: none;
+}
+button,
+html input[type="button"],
+input[type="reset"],
+input[type="submit"] {
+ -webkit-appearance: button;
+ cursor: pointer;
+}
+button[disabled],
+html input[disabled] {
+ cursor: default;
+}
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+ padding: 0;
+ border: 0;
+}
+input {
+ line-height: normal;
+}
+input[type="checkbox"],
+input[type="radio"] {
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ padding: 0;
+}
+input[type="number"]::-webkit-inner-spin-button,
+input[type="number"]::-webkit-outer-spin-button {
+ height: auto;
+}
+input[type="search"] {
+ -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ -webkit-appearance: textfield;
+}
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+fieldset {
+ padding: .35em .625em .75em;
+ margin: 0 2px;
+ border: 1px solid #c0c0c0;
+}
+legend {
+ padding: 0;
+ border: 0;
+}
+textarea {
+ overflow: auto;
+}
+optgroup {
+ font-weight: bold;
+}
+table {
+ border-spacing: 0;
+ border-collapse: collapse;
+}
+td,
+th {
+ padding: 0;
+}
+/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
+@media print {
+ *,
+ *:before,
+ *:after {
+ color: #000 !important;
+ text-shadow: none !important;
+ background: transparent !important;
+ -webkit-box-shadow: none !important;
+ box-shadow: none !important;
+ }
+ a,
+ a:visited {
+ text-decoration: underline;
+ }
+ a[href]:after {
+ content: " (" attr(href) ")";
+ }
+ abbr[title]:after {
+ content: " (" attr(title) ")";
+ }
+ a[href^="#"]:after,
+ a[href^="javascript:"]:after {
+ content: "";
+ }
+ pre,
+ blockquote {
+ border: 1px solid #999;
+
+ page-break-inside: avoid;
+ }
+ thead {
+ display: table-header-group;
+ }
+ tr,
+ img {
+ page-break-inside: avoid;
+ }
+ img {
+ max-width: 100% !important;
+ }
+ p,
+ h2,
+ h3 {
+ orphans: 3;
+ widows: 3;
+ }
+ h2,
+ h3 {
+ page-break-after: avoid;
+ }
+ select {
+ background: #fff !important;
+ }
+ .navbar {
+ display: none;
+ }
+ .btn > .caret,
+ .dropup > .btn > .caret {
+ border-top-color: #000 !important;
+ }
+ .label {
+ border: 1px solid #000;
+ }
+ .table {
+ border-collapse: collapse !important;
+ }
+ .table td,
+ .table th {
+ background-color: #fff !important;
+ }
+ .table-bordered th,
+ .table-bordered td {
+ border: 1px solid #ddd !important;
+ }
+}
+@font-face {
+ font-family: 'Glyphicons Halflings';
+
+ src: url('../fonts/glyphicons-halflings-regular.eot');
+ src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
+}
+.glyphicon {
+ position: relative;
+ top: 1px;
+ display: inline-block;
+ font-family: 'Glyphicons Halflings';
+ font-style: normal;
+ font-weight: normal;
+ line-height: 1;
+
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+.glyphicon-asterisk:before {
+ content: "\2a";
+}
+.glyphicon-plus:before {
+ content: "\2b";
+}
+.glyphicon-euro:before,
+.glyphicon-eur:before {
+ content: "\20ac";
+}
+.glyphicon-minus:before {
+ content: "\2212";
+}
+.glyphicon-cloud:before {
+ content: "\2601";
+}
+.glyphicon-envelope:before {
+ content: "\2709";
+}
+.glyphicon-pencil:before {
+ content: "\270f";
+}
+.glyphicon-glass:before {
+ content: "\e001";
+}
+.glyphicon-music:before {
+ content: "\e002";
+}
+.glyphicon-search:before {
+ content: "\e003";
+}
+.glyphicon-heart:before {
+ content: "\e005";
+}
+.glyphicon-star:before {
+ content: "\e006";
+}
+.glyphicon-star-empty:before {
+ content: "\e007";
+}
+.glyphicon-user:before {
+ content: "\e008";
+}
+.glyphicon-film:before {
+ content: "\e009";
+}
+.glyphicon-th-large:before {
+ content: "\e010";
+}
+.glyphicon-th:before {
+ content: "\e011";
+}
+.glyphicon-th-list:before {
+ content: "\e012";
+}
+.glyphicon-ok:before {
+ content: "\e013";
+}
+.glyphicon-remove:before {
+ content: "\e014";
+}
+.glyphicon-zoom-in:before {
+ content: "\e015";
+}
+.glyphicon-zoom-out:before {
+ content: "\e016";
+}
+.glyphicon-off:before {
+ content: "\e017";
+}
+.glyphicon-signal:before {
+ content: "\e018";
+}
+.glyphicon-cog:before {
+ content: "\e019";
+}
+.glyphicon-trash:before {
+ content: "\e020";
+}
+.glyphicon-home:before {
+ content: "\e021";
+}
+.glyphicon-file:before {
+ content: "\e022";
+}
+.glyphicon-time:before {
+ content: "\e023";
+}
+.glyphicon-road:before {
+ content: "\e024";
+}
+.glyphicon-download-alt:before {
+ content: "\e025";
+}
+.glyphicon-download:before {
+ content: "\e026";
+}
+.glyphicon-upload:before {
+ content: "\e027";
+}
+.glyphicon-inbox:before {
+ content: "\e028";
+}
+.glyphicon-play-circle:before {
+ content: "\e029";
+}
+.glyphicon-repeat:before {
+ content: "\e030";
+}
+.glyphicon-refresh:before {
+ content: "\e031";
+}
+.glyphicon-list-alt:before {
+ content: "\e032";
+}
+.glyphicon-lock:before {
+ content: "\e033";
+}
+.glyphicon-flag:before {
+ content: "\e034";
+}
+.glyphicon-headphones:before {
+ content: "\e035";
+}
+.glyphicon-volume-off:before {
+ content: "\e036";
+}
+.glyphicon-volume-down:before {
+ content: "\e037";
+}
+.glyphicon-volume-up:before {
+ content: "\e038";
+}
+.glyphicon-qrcode:before {
+ content: "\e039";
+}
+.glyphicon-barcode:before {
+ content: "\e040";
+}
+.glyphicon-tag:before {
+ content: "\e041";
+}
+.glyphicon-tags:before {
+ content: "\e042";
+}
+.glyphicon-book:before {
+ content: "\e043";
+}
+.glyphicon-bookmark:before {
+ content: "\e044";
+}
+.glyphicon-print:before {
+ content: "\e045";
+}
+.glyphicon-camera:before {
+ content: "\e046";
+}
+.glyphicon-font:before {
+ content: "\e047";
+}
+.glyphicon-bold:before {
+ content: "\e048";
+}
+.glyphicon-italic:before {
+ content: "\e049";
+}
+.glyphicon-text-height:before {
+ content: "\e050";
+}
+.glyphicon-text-width:before {
+ content: "\e051";
+}
+.glyphicon-align-left:before {
+ content: "\e052";
+}
+.glyphicon-align-center:before {
+ content: "\e053";
+}
+.glyphicon-align-right:before {
+ content: "\e054";
+}
+.glyphicon-align-justify:before {
+ content: "\e055";
+}
+.glyphicon-list:before {
+ content: "\e056";
+}
+.glyphicon-indent-left:before {
+ content: "\e057";
+}
+.glyphicon-indent-right:before {
+ content: "\e058";
+}
+.glyphicon-facetime-video:before {
+ content: "\e059";
+}
+.glyphicon-picture:before {
+ content: "\e060";
+}
+.glyphicon-map-marker:before {
+ content: "\e062";
+}
+.glyphicon-adjust:before {
+ content: "\e063";
+}
+.glyphicon-tint:before {
+ content: "\e064";
+}
+.glyphicon-edit:before {
+ content: "\e065";
+}
+.glyphicon-share:before {
+ content: "\e066";
+}
+.glyphicon-check:before {
+ content: "\e067";
+}
+.glyphicon-move:before {
+ content: "\e068";
+}
+.glyphicon-step-backward:before {
+ content: "\e069";
+}
+.glyphicon-fast-backward:before {
+ content: "\e070";
+}
+.glyphicon-backward:before {
+ content: "\e071";
+}
+.glyphicon-play:before {
+ content: "\e072";
+}
+.glyphicon-pause:before {
+ content: "\e073";
+}
+.glyphicon-stop:before {
+ content: "\e074";
+}
+.glyphicon-forward:before {
+ content: "\e075";
+}
+.glyphicon-fast-forward:before {
+ content: "\e076";
+}
+.glyphicon-step-forward:before {
+ content: "\e077";
+}
+.glyphicon-eject:before {
+ content: "\e078";
+}
+.glyphicon-chevron-left:before {
+ content: "\e079";
+}
+.glyphicon-chevron-right:before {
+ content: "\e080";
+}
+.glyphicon-plus-sign:before {
+ content: "\e081";
+}
+.glyphicon-minus-sign:before {
+ content: "\e082";
+}
+.glyphicon-remove-sign:before {
+ content: "\e083";
+}
+.glyphicon-ok-sign:before {
+ content: "\e084";
+}
+.glyphicon-question-sign:before {
+ content: "\e085";
+}
+.glyphicon-info-sign:before {
+ content: "\e086";
+}
+.glyphicon-screenshot:before {
+ content: "\e087";
+}
+.glyphicon-remove-circle:before {
+ content: "\e088";
+}
+.glyphicon-ok-circle:before {
+ content: "\e089";
+}
+.glyphicon-ban-circle:before {
+ content: "\e090";
+}
+.glyphicon-arrow-left:before {
+ content: "\e091";
+}
+.glyphicon-arrow-right:before {
+ content: "\e092";
+}
+.glyphicon-arrow-up:before {
+ content: "\e093";
+}
+.glyphicon-arrow-down:before {
+ content: "\e094";
+}
+.glyphicon-share-alt:before {
+ content: "\e095";
+}
+.glyphicon-resize-full:before {
+ content: "\e096";
+}
+.glyphicon-resize-small:before {
+ content: "\e097";
+}
+.glyphicon-exclamation-sign:before {
+ content: "\e101";
+}
+.glyphicon-gift:before {
+ content: "\e102";
+}
+.glyphicon-leaf:before {
+ content: "\e103";
+}
+.glyphicon-fire:before {
+ content: "\e104";
+}
+.glyphicon-eye-open:before {
+ content: "\e105";
+}
+.glyphicon-eye-close:before {
+ content: "\e106";
+}
+.glyphicon-warning-sign:before {
+ content: "\e107";
+}
+.glyphicon-plane:before {
+ content: "\e108";
+}
+.glyphicon-calendar:before {
+ content: "\e109";
+}
+.glyphicon-random:before {
+ content: "\e110";
+}
+.glyphicon-comment:before {
+ content: "\e111";
+}
+.glyphicon-magnet:before {
+ content: "\e112";
+}
+.glyphicon-chevron-up:before {
+ content: "\e113";
+}
+.glyphicon-chevron-down:before {
+ content: "\e114";
+}
+.glyphicon-retweet:before {
+ content: "\e115";
+}
+.glyphicon-shopping-cart:before {
+ content: "\e116";
+}
+.glyphicon-folder-close:before {
+ content: "\e117";
+}
+.glyphicon-folder-open:before {
+ content: "\e118";
+}
+.glyphicon-resize-vertical:before {
+ content: "\e119";
+}
+.glyphicon-resize-horizontal:before {
+ content: "\e120";
+}
+.glyphicon-hdd:before {
+ content: "\e121";
+}
+.glyphicon-bullhorn:before {
+ content: "\e122";
+}
+.glyphicon-bell:before {
+ content: "\e123";
+}
+.glyphicon-certificate:before {
+ content: "\e124";
+}
+.glyphicon-thumbs-up:before {
+ content: "\e125";
+}
+.glyphicon-thumbs-down:before {
+ content: "\e126";
+}
+.glyphicon-hand-right:before {
+ content: "\e127";
+}
+.glyphicon-hand-left:before {
+ content: "\e128";
+}
+.glyphicon-hand-up:before {
+ content: "\e129";
+}
+.glyphicon-hand-down:before {
+ content: "\e130";
+}
+.glyphicon-circle-arrow-right:before {
+ content: "\e131";
+}
+.glyphicon-circle-arrow-left:before {
+ content: "\e132";
+}
+.glyphicon-circle-arrow-up:before {
+ content: "\e133";
+}
+.glyphicon-circle-arrow-down:before {
+ content: "\e134";
+}
+.glyphicon-globe:before {
+ content: "\e135";
+}
+.glyphicon-wrench:before {
+ content: "\e136";
+}
+.glyphicon-tasks:before {
+ content: "\e137";
+}
+.glyphicon-filter:before {
+ content: "\e138";
+}
+.glyphicon-briefcase:before {
+ content: "\e139";
+}
+.glyphicon-fullscreen:before {
+ content: "\e140";
+}
+.glyphicon-dashboard:before {
+ content: "\e141";
+}
+.glyphicon-paperclip:before {
+ content: "\e142";
+}
+.glyphicon-heart-empty:before {
+ content: "\e143";
+}
+.glyphicon-link:before {
+ content: "\e144";
+}
+.glyphicon-phone:before {
+ content: "\e145";
+}
+.glyphicon-pushpin:before {
+ content: "\e146";
+}
+.glyphicon-usd:before {
+ content: "\e148";
+}
+.glyphicon-gbp:before {
+ content: "\e149";
+}
+.glyphicon-sort:before {
+ content: "\e150";
+}
+.glyphicon-sort-by-alphabet:before {
+ content: "\e151";
+}
+.glyphicon-sort-by-alphabet-alt:before {
+ content: "\e152";
+}
+.glyphicon-sort-by-order:before {
+ content: "\e153";
+}
+.glyphicon-sort-by-order-alt:before {
+ content: "\e154";
+}
+.glyphicon-sort-by-attributes:before {
+ content: "\e155";
+}
+.glyphicon-sort-by-attributes-alt:before {
+ content: "\e156";
+}
+.glyphicon-unchecked:before {
+ content: "\e157";
+}
+.glyphicon-expand:before {
+ content: "\e158";
+}
+.glyphicon-collapse-down:before {
+ content: "\e159";
+}
+.glyphicon-collapse-up:before {
+ content: "\e160";
+}
+.glyphicon-log-in:before {
+ content: "\e161";
+}
+.glyphicon-flash:before {
+ content: "\e162";
+}
+.glyphicon-log-out:before {
+ content: "\e163";
+}
+.glyphicon-new-window:before {
+ content: "\e164";
+}
+.glyphicon-record:before {
+ content: "\e165";
+}
+.glyphicon-save:before {
+ content: "\e166";
+}
+.glyphicon-open:before {
+ content: "\e167";
+}
+.glyphicon-saved:before {
+ content: "\e168";
+}
+.glyphicon-import:before {
+ content: "\e169";
+}
+.glyphicon-export:before {
+ content: "\e170";
+}
+.glyphicon-send:before {
+ content: "\e171";
+}
+.glyphicon-floppy-disk:before {
+ content: "\e172";
+}
+.glyphicon-floppy-saved:before {
+ content: "\e173";
+}
+.glyphicon-floppy-remove:before {
+ content: "\e174";
+}
+.glyphicon-floppy-save:before {
+ content: "\e175";
+}
+.glyphicon-floppy-open:before {
+ content: "\e176";
+}
+.glyphicon-credit-card:before {
+ content: "\e177";
+}
+.glyphicon-transfer:before {
+ content: "\e178";
+}
+.glyphicon-cutlery:before {
+ content: "\e179";
+}
+.glyphicon-header:before {
+ content: "\e180";
+}
+.glyphicon-compressed:before {
+ content: "\e181";
+}
+.glyphicon-earphone:before {
+ content: "\e182";
+}
+.glyphicon-phone-alt:before {
+ content: "\e183";
+}
+.glyphicon-tower:before {
+ content: "\e184";
+}
+.glyphicon-stats:before {
+ content: "\e185";
+}
+.glyphicon-sd-video:before {
+ content: "\e186";
+}
+.glyphicon-hd-video:before {
+ content: "\e187";
+}
+.glyphicon-subtitles:before {
+ content: "\e188";
+}
+.glyphicon-sound-stereo:before {
+ content: "\e189";
+}
+.glyphicon-sound-dolby:before {
+ content: "\e190";
+}
+.glyphicon-sound-5-1:before {
+ content: "\e191";
+}
+.glyphicon-sound-6-1:before {
+ content: "\e192";
+}
+.glyphicon-sound-7-1:before {
+ content: "\e193";
+}
+.glyphicon-copyright-mark:before {
+ content: "\e194";
+}
+.glyphicon-registration-mark:before {
+ content: "\e195";
+}
+.glyphicon-cloud-download:before {
+ content: "\e197";
+}
+.glyphicon-cloud-upload:before {
+ content: "\e198";
+}
+.glyphicon-tree-conifer:before {
+ content: "\e199";
+}
+.glyphicon-tree-deciduous:before {
+ content: "\e200";
+}
+.glyphicon-cd:before {
+ content: "\e201";
+}
+.glyphicon-save-file:before {
+ content: "\e202";
+}
+.glyphicon-open-file:before {
+ content: "\e203";
+}
+.glyphicon-level-up:before {
+ content: "\e204";
+}
+.glyphicon-copy:before {
+ content: "\e205";
+}
+.glyphicon-paste:before {
+ content: "\e206";
+}
+.glyphicon-alert:before {
+ content: "\e209";
+}
+.glyphicon-equalizer:before {
+ content: "\e210";
+}
+.glyphicon-king:before {
+ content: "\e211";
+}
+.glyphicon-queen:before {
+ content: "\e212";
+}
+.glyphicon-pawn:before {
+ content: "\e213";
+}
+.glyphicon-bishop:before {
+ content: "\e214";
+}
+.glyphicon-knight:before {
+ content: "\e215";
+}
+.glyphicon-baby-formula:before {
+ content: "\e216";
+}
+.glyphicon-tent:before {
+ content: "\26fa";
+}
+.glyphicon-blackboard:before {
+ content: "\e218";
+}
+.glyphicon-bed:before {
+ content: "\e219";
+}
+.glyphicon-apple:before {
+ content: "\f8ff";
+}
+.glyphicon-erase:before {
+ content: "\e221";
+}
+.glyphicon-hourglass:before {
+ content: "\231b";
+}
+.glyphicon-lamp:before {
+ content: "\e223";
+}
+.glyphicon-duplicate:before {
+ content: "\e224";
+}
+.glyphicon-piggy-bank:before {
+ content: "\e225";
+}
+.glyphicon-scissors:before {
+ content: "\e226";
+}
+.glyphicon-bitcoin:before {
+ content: "\e227";
+}
+.glyphicon-btc:before {
+ content: "\e227";
+}
+.glyphicon-xbt:before {
+ content: "\e227";
+}
+.glyphicon-yen:before {
+ content: "\00a5";
+}
+.glyphicon-jpy:before {
+ content: "\00a5";
+}
+.glyphicon-ruble:before {
+ content: "\20bd";
+}
+.glyphicon-rub:before {
+ content: "\20bd";
+}
+.glyphicon-scale:before {
+ content: "\e230";
+}
+.glyphicon-ice-lolly:before {
+ content: "\e231";
+}
+.glyphicon-ice-lolly-tasted:before {
+ content: "\e232";
+}
+.glyphicon-education:before {
+ content: "\e233";
+}
+.glyphicon-option-horizontal:before {
+ content: "\e234";
+}
+.glyphicon-option-vertical:before {
+ content: "\e235";
+}
+.glyphicon-menu-hamburger:before {
+ content: "\e236";
+}
+.glyphicon-modal-window:before {
+ content: "\e237";
+}
+.glyphicon-oil:before {
+ content: "\e238";
+}
+.glyphicon-grain:before {
+ content: "\e239";
+}
+.glyphicon-sunglasses:before {
+ content: "\e240";
+}
+.glyphicon-text-size:before {
+ content: "\e241";
+}
+.glyphicon-text-color:before {
+ content: "\e242";
+}
+.glyphicon-text-background:before {
+ content: "\e243";
+}
+.glyphicon-object-align-top:before {
+ content: "\e244";
+}
+.glyphicon-object-align-bottom:before {
+ content: "\e245";
+}
+.glyphicon-object-align-horizontal:before {
+ content: "\e246";
+}
+.glyphicon-object-align-left:before {
+ content: "\e247";
+}
+.glyphicon-object-align-vertical:before {
+ content: "\e248";
+}
+.glyphicon-object-align-right:before {
+ content: "\e249";
+}
+.glyphicon-triangle-right:before {
+ content: "\e250";
+}
+.glyphicon-triangle-left:before {
+ content: "\e251";
+}
+.glyphicon-triangle-bottom:before {
+ content: "\e252";
+}
+.glyphicon-triangle-top:before {
+ content: "\e253";
+}
+.glyphicon-console:before {
+ content: "\e254";
+}
+.glyphicon-superscript:before {
+ content: "\e255";
+}
+.glyphicon-subscript:before {
+ content: "\e256";
+}
+.glyphicon-menu-left:before {
+ content: "\e257";
+}
+.glyphicon-menu-right:before {
+ content: "\e258";
+}
+.glyphicon-menu-down:before {
+ content: "\e259";
+}
+.glyphicon-menu-up:before {
+ content: "\e260";
+}
+* {
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+}
+*:before,
+*:after {
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+}
+html {
+ font-size: 10px;
+
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+}
+body {
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-size: 14px;
+ line-height: 1.42857143;
+ color: #333;
+ background-color: #fff;
+}
+input,
+button,
+select,
+textarea {
+ font-family: inherit;
+ font-size: inherit;
+ line-height: inherit;
+}
+a {
+ color: #337ab7;
+ text-decoration: none;
+}
+a:hover,
+a:focus {
+ color: #23527c;
+ text-decoration: underline;
+}
+a:focus {
+ outline: thin dotted;
+ outline: 5px auto -webkit-focus-ring-color;
+ outline-offset: -2px;
+}
+figure {
+ margin: 0;
+}
+img {
+ vertical-align: middle;
+}
+.img-responsive,
+.thumbnail > img,
+.thumbnail a > img,
+.carousel-inner > .item > img,
+.carousel-inner > .item > a > img {
+ display: block;
+ max-width: 100%;
+ height: auto;
+}
+.img-rounded {
+ border-radius: 6px;
+}
+.img-thumbnail {
+ display: inline-block;
+ max-width: 100%;
+ height: auto;
+ padding: 4px;
+ line-height: 1.42857143;
+ background-color: #fff;
+ border: 1px solid #ddd;
+ border-radius: 4px;
+ -webkit-transition: all .2s ease-in-out;
+ -o-transition: all .2s ease-in-out;
+ transition: all .2s ease-in-out;
+}
+.img-circle {
+ border-radius: 50%;
+}
+hr {
+ margin-top: 20px;
+ margin-bottom: 20px;
+ border: 0;
+ border-top: 1px solid #eee;
+}
+.sr-only {
+ position: absolute;
+ width: 1px;
+ height: 1px;
+ padding: 0;
+ margin: -1px;
+ overflow: hidden;
+ clip: rect(0, 0, 0, 0);
+ border: 0;
+}
+.sr-only-focusable:active,
+.sr-only-focusable:focus {
+ position: static;
+ width: auto;
+ height: auto;
+ margin: 0;
+ overflow: visible;
+ clip: auto;
+}
+[role="button"] {
+ cursor: pointer;
+}
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+.h1,
+.h2,
+.h3,
+.h4,
+.h5,
+.h6 {
+ font-family: inherit;
+ font-weight: 500;
+ line-height: 1.1;
+ color: inherit;
+}
+h1 small,
+h2 small,
+h3 small,
+h4 small,
+h5 small,
+h6 small,
+.h1 small,
+.h2 small,
+.h3 small,
+.h4 small,
+.h5 small,
+.h6 small,
+h1 .small,
+h2 .small,
+h3 .small,
+h4 .small,
+h5 .small,
+h6 .small,
+.h1 .small,
+.h2 .small,
+.h3 .small,
+.h4 .small,
+.h5 .small,
+.h6 .small {
+ font-weight: normal;
+ line-height: 1;
+ color: #777;
+}
+h1,
+.h1,
+h2,
+.h2,
+h3,
+.h3 {
+ margin-top: 20px;
+ margin-bottom: 10px;
+}
+h1 small,
+.h1 small,
+h2 small,
+.h2 small,
+h3 small,
+.h3 small,
+h1 .small,
+.h1 .small,
+h2 .small,
+.h2 .small,
+h3 .small,
+.h3 .small {
+ font-size: 65%;
+}
+h4,
+.h4,
+h5,
+.h5,
+h6,
+.h6 {
+ margin-top: 10px;
+ margin-bottom: 10px;
+}
+h4 small,
+.h4 small,
+h5 small,
+.h5 small,
+h6 small,
+.h6 small,
+h4 .small,
+.h4 .small,
+h5 .small,
+.h5 .small,
+h6 .small,
+.h6 .small {
+ font-size: 75%;
+}
+h1,
+.h1 {
+ font-size: 36px;
+}
+h2,
+.h2 {
+ font-size: 30px;
+}
+h3,
+.h3 {
+ font-size: 24px;
+}
+h4,
+.h4 {
+ font-size: 18px;
+}
+h5,
+.h5 {
+ font-size: 14px;
+}
+h6,
+.h6 {
+ font-size: 12px;
+}
+p {
+ margin: 0 0 10px;
+}
+.lead {
+ margin-bottom: 20px;
+ font-size: 16px;
+ font-weight: 300;
+ line-height: 1.4;
+}
+@media (min-width: 768px) {
+ .lead {
+ font-size: 21px;
+ }
+}
+small,
+.small {
+ font-size: 85%;
+}
+mark,
+.mark {
+ padding: .2em;
+ background-color: #fcf8e3;
+}
+.text-left {
+ text-align: left;
+}
+.text-right {
+ text-align: right;
+}
+.text-center {
+ text-align: center;
+}
+.text-justify {
+ text-align: justify;
+}
+.text-nowrap {
+ white-space: nowrap;
+}
+.text-lowercase {
+ text-transform: lowercase;
+}
+.text-uppercase {
+ text-transform: uppercase;
+}
+.text-capitalize {
+ text-transform: capitalize;
+}
+.text-muted {
+ color: #777;
+}
+.text-primary {
+ color: #337ab7;
+}
+a.text-primary:hover {
+ color: #286090;
+}
+.text-success {
+ color: #3c763d;
+}
+a.text-success:hover {
+ color: #2b542c;
+}
+.text-info {
+ color: #31708f;
+}
+a.text-info:hover {
+ color: #245269;
+}
+.text-warning {
+ color: #8a6d3b;
+}
+a.text-warning:hover {
+ color: #66512c;
+}
+.text-danger {
+ color: #a94442;
+}
+a.text-danger:hover {
+ color: #843534;
+}
+.bg-primary {
+ color: #fff;
+ background-color: #337ab7;
+}
+a.bg-primary:hover {
+ background-color: #286090;
+}
+.bg-success {
+ background-color: #dff0d8;
+}
+a.bg-success:hover {
+ background-color: #c1e2b3;
+}
+.bg-info {
+ background-color: #d9edf7;
+}
+a.bg-info:hover {
+ background-color: #afd9ee;
+}
+.bg-warning {
+ background-color: #fcf8e3;
+}
+a.bg-warning:hover {
+ background-color: #f7ecb5;
+}
+.bg-danger {
+ background-color: #f2dede;
+}
+a.bg-danger:hover {
+ background-color: #e4b9b9;
+}
+.page-header {
+ padding-bottom: 9px;
+ margin: 40px 0 20px;
+ border-bottom: 1px solid #eee;
+}
+ul,
+ol {
+ margin-top: 0;
+ margin-bottom: 10px;
+}
+ul ul,
+ol ul,
+ul ol,
+ol ol {
+ margin-bottom: 0;
+}
+.list-unstyled {
+ padding-left: 0;
+ list-style: none;
+}
+.list-inline {
+ padding-left: 0;
+ margin-left: -5px;
+ list-style: none;
+}
+.list-inline > li {
+ display: inline-block;
+ padding-right: 5px;
+ padding-left: 5px;
+}
+dl {
+ margin-top: 0;
+ margin-bottom: 20px;
+}
+dt,
+dd {
+ line-height: 1.42857143;
+}
+dt {
+ font-weight: bold;
+}
+dd {
+ margin-left: 0;
+}
+@media (min-width: 768px) {
+ .dl-horizontal dt {
+ float: left;
+ width: 160px;
+ overflow: hidden;
+ clear: left;
+ text-align: right;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+ .dl-horizontal dd {
+ margin-left: 180px;
+ }
+}
+abbr[title],
+abbr[data-original-title] {
+ cursor: help;
+ border-bottom: 1px dotted #777;
+}
+.initialism {
+ font-size: 90%;
+ text-transform: uppercase;
+}
+blockquote {
+ padding: 10px 20px;
+ margin: 0 0 20px;
+ font-size: 17.5px;
+ border-left: 5px solid #eee;
+}
+blockquote p:last-child,
+blockquote ul:last-child,
+blockquote ol:last-child {
+ margin-bottom: 0;
+}
+blockquote footer,
+blockquote small,
+blockquote .small {
+ display: block;
+ font-size: 80%;
+ line-height: 1.42857143;
+ color: #777;
+}
+blockquote footer:before,
+blockquote small:before,
+blockquote .small:before {
+ content: '\2014 \00A0';
+}
+.blockquote-reverse,
+blockquote.pull-right {
+ padding-right: 15px;
+ padding-left: 0;
+ text-align: right;
+ border-right: 5px solid #eee;
+ border-left: 0;
+}
+.blockquote-reverse footer:before,
+blockquote.pull-right footer:before,
+.blockquote-reverse small:before,
+blockquote.pull-right small:before,
+.blockquote-reverse .small:before,
+blockquote.pull-right .small:before {
+ content: '';
+}
+.blockquote-reverse footer:after,
+blockquote.pull-right footer:after,
+.blockquote-reverse small:after,
+blockquote.pull-right small:after,
+.blockquote-reverse .small:after,
+blockquote.pull-right .small:after {
+ content: '\00A0 \2014';
+}
+address {
+ margin-bottom: 20px;
+ font-style: normal;
+ line-height: 1.42857143;
+}
+code,
+kbd,
+pre,
+samp {
+ font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+}
+code {
+ padding: 2px 4px;
+ font-size: 90%;
+ color: #c7254e;
+ background-color: #f9f2f4;
+ border-radius: 4px;
+}
+kbd {
+ padding: 2px 4px;
+ font-size: 90%;
+ color: #fff;
+ background-color: #333;
+ border-radius: 3px;
+ -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);
+ box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);
+}
+kbd kbd {
+ padding: 0;
+ font-size: 100%;
+ font-weight: bold;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+pre {
+ display: block;
+ padding: 9.5px;
+ margin: 0 0 10px;
+ font-size: 13px;
+ line-height: 1.42857143;
+ color: #333;
+ word-break: break-all;
+ word-wrap: break-word;
+ background-color: #f5f5f5;
+ border: 1px solid #ccc;
+ border-radius: 4px;
+}
+pre code {
+ padding: 0;
+ font-size: inherit;
+ color: inherit;
+ white-space: pre-wrap;
+ background-color: transparent;
+ border-radius: 0;
+}
+.pre-scrollable {
+ max-height: 340px;
+ overflow-y: scroll;
+}
+.container {
+ padding-right: 15px;
+ padding-left: 15px;
+ margin-right: auto;
+ margin-left: auto;
+}
+@media (min-width: 768px) {
+ .container {
+ width: 750px;
+ }
+}
+@media (min-width: 992px) {
+ .container {
+ width: 970px;
+ }
+}
+@media (min-width: 1200px) {
+ .container {
+ width: 1170px;
+ }
+}
+.container-fluid {
+ padding-right: 15px;
+ padding-left: 15px;
+ margin-right: auto;
+ margin-left: auto;
+}
+.row {
+ margin-right: -15px;
+ margin-left: -15px;
+}
+.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
+ position: relative;
+ min-height: 1px;
+ padding-right: 15px;
+ padding-left: 15px;
+}
+.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
+ float: left;
+}
+.col-xs-12 {
+ width: 100%;
+}
+.col-xs-11 {
+ width: 91.66666667%;
+}
+.col-xs-10 {
+ width: 83.33333333%;
+}
+.col-xs-9 {
+ width: 75%;
+}
+.col-xs-8 {
+ width: 66.66666667%;
+}
+.col-xs-7 {
+ width: 58.33333333%;
+}
+.col-xs-6 {
+ width: 50%;
+}
+.col-xs-5 {
+ width: 41.66666667%;
+}
+.col-xs-4 {
+ width: 33.33333333%;
+}
+.col-xs-3 {
+ width: 25%;
+}
+.col-xs-2 {
+ width: 16.66666667%;
+}
+.col-xs-1 {
+ width: 8.33333333%;
+}
+.col-xs-pull-12 {
+ right: 100%;
+}
+.col-xs-pull-11 {
+ right: 91.66666667%;
+}
+.col-xs-pull-10 {
+ right: 83.33333333%;
+}
+.col-xs-pull-9 {
+ right: 75%;
+}
+.col-xs-pull-8 {
+ right: 66.66666667%;
+}
+.col-xs-pull-7 {
+ right: 58.33333333%;
+}
+.col-xs-pull-6 {
+ right: 50%;
+}
+.col-xs-pull-5 {
+ right: 41.66666667%;
+}
+.col-xs-pull-4 {
+ right: 33.33333333%;
+}
+.col-xs-pull-3 {
+ right: 25%;
+}
+.col-xs-pull-2 {
+ right: 16.66666667%;
+}
+.col-xs-pull-1 {
+ right: 8.33333333%;
+}
+.col-xs-pull-0 {
+ right: auto;
+}
+.col-xs-push-12 {
+ left: 100%;
+}
+.col-xs-push-11 {
+ left: 91.66666667%;
+}
+.col-xs-push-10 {
+ left: 83.33333333%;
+}
+.col-xs-push-9 {
+ left: 75%;
+}
+.col-xs-push-8 {
+ left: 66.66666667%;
+}
+.col-xs-push-7 {
+ left: 58.33333333%;
+}
+.col-xs-push-6 {
+ left: 50%;
+}
+.col-xs-push-5 {
+ left: 41.66666667%;
+}
+.col-xs-push-4 {
+ left: 33.33333333%;
+}
+.col-xs-push-3 {
+ left: 25%;
+}
+.col-xs-push-2 {
+ left: 16.66666667%;
+}
+.col-xs-push-1 {
+ left: 8.33333333%;
+}
+.col-xs-push-0 {
+ left: auto;
+}
+.col-xs-offset-12 {
+ margin-left: 100%;
+}
+.col-xs-offset-11 {
+ margin-left: 91.66666667%;
+}
+.col-xs-offset-10 {
+ margin-left: 83.33333333%;
+}
+.col-xs-offset-9 {
+ margin-left: 75%;
+}
+.col-xs-offset-8 {
+ margin-left: 66.66666667%;
+}
+.col-xs-offset-7 {
+ margin-left: 58.33333333%;
+}
+.col-xs-offset-6 {
+ margin-left: 50%;
+}
+.col-xs-offset-5 {
+ margin-left: 41.66666667%;
+}
+.col-xs-offset-4 {
+ margin-left: 33.33333333%;
+}
+.col-xs-offset-3 {
+ margin-left: 25%;
+}
+.col-xs-offset-2 {
+ margin-left: 16.66666667%;
+}
+.col-xs-offset-1 {
+ margin-left: 8.33333333%;
+}
+.col-xs-offset-0 {
+ margin-left: 0;
+}
+@media (min-width: 768px) {
+ .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
+ float: left;
+ }
+ .col-sm-12 {
+ width: 100%;
+ }
+ .col-sm-11 {
+ width: 91.66666667%;
+ }
+ .col-sm-10 {
+ width: 83.33333333%;
+ }
+ .col-sm-9 {
+ width: 75%;
+ }
+ .col-sm-8 {
+ width: 66.66666667%;
+ }
+ .col-sm-7 {
+ width: 58.33333333%;
+ }
+ .col-sm-6 {
+ width: 50%;
+ }
+ .col-sm-5 {
+ width: 41.66666667%;
+ }
+ .col-sm-4 {
+ width: 33.33333333%;
+ }
+ .col-sm-3 {
+ width: 25%;
+ }
+ .col-sm-2 {
+ width: 16.66666667%;
+ }
+ .col-sm-1 {
+ width: 8.33333333%;
+ }
+ .col-sm-pull-12 {
+ right: 100%;
+ }
+ .col-sm-pull-11 {
+ right: 91.66666667%;
+ }
+ .col-sm-pull-10 {
+ right: 83.33333333%;
+ }
+ .col-sm-pull-9 {
+ right: 75%;
+ }
+ .col-sm-pull-8 {
+ right: 66.66666667%;
+ }
+ .col-sm-pull-7 {
+ right: 58.33333333%;
+ }
+ .col-sm-pull-6 {
+ right: 50%;
+ }
+ .col-sm-pull-5 {
+ right: 41.66666667%;
+ }
+ .col-sm-pull-4 {
+ right: 33.33333333%;
+ }
+ .col-sm-pull-3 {
+ right: 25%;
+ }
+ .col-sm-pull-2 {
+ right: 16.66666667%;
+ }
+ .col-sm-pull-1 {
+ right: 8.33333333%;
+ }
+ .col-sm-pull-0 {
+ right: auto;
+ }
+ .col-sm-push-12 {
+ left: 100%;
+ }
+ .col-sm-push-11 {
+ left: 91.66666667%;
+ }
+ .col-sm-push-10 {
+ left: 83.33333333%;
+ }
+ .col-sm-push-9 {
+ left: 75%;
+ }
+ .col-sm-push-8 {
+ left: 66.66666667%;
+ }
+ .col-sm-push-7 {
+ left: 58.33333333%;
+ }
+ .col-sm-push-6 {
+ left: 50%;
+ }
+ .col-sm-push-5 {
+ left: 41.66666667%;
+ }
+ .col-sm-push-4 {
+ left: 33.33333333%;
+ }
+ .col-sm-push-3 {
+ left: 25%;
+ }
+ .col-sm-push-2 {
+ left: 16.66666667%;
+ }
+ .col-sm-push-1 {
+ left: 8.33333333%;
+ }
+ .col-sm-push-0 {
+ left: auto;
+ }
+ .col-sm-offset-12 {
+ margin-left: 100%;
+ }
+ .col-sm-offset-11 {
+ margin-left: 91.66666667%;
+ }
+ .col-sm-offset-10 {
+ margin-left: 83.33333333%;
+ }
+ .col-sm-offset-9 {
+ margin-left: 75%;
+ }
+ .col-sm-offset-8 {
+ margin-left: 66.66666667%;
+ }
+ .col-sm-offset-7 {
+ margin-left: 58.33333333%;
+ }
+ .col-sm-offset-6 {
+ margin-left: 50%;
+ }
+ .col-sm-offset-5 {
+ margin-left: 41.66666667%;
+ }
+ .col-sm-offset-4 {
+ margin-left: 33.33333333%;
+ }
+ .col-sm-offset-3 {
+ margin-left: 25%;
+ }
+ .col-sm-offset-2 {
+ margin-left: 16.66666667%;
+ }
+ .col-sm-offset-1 {
+ margin-left: 8.33333333%;
+ }
+ .col-sm-offset-0 {
+ margin-left: 0;
+ }
+}
+@media (min-width: 992px) {
+ .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
+ float: left;
+ }
+ .col-md-12 {
+ width: 100%;
+ }
+ .col-md-11 {
+ width: 91.66666667%;
+ }
+ .col-md-10 {
+ width: 83.33333333%;
+ }
+ .col-md-9 {
+ width: 75%;
+ }
+ .col-md-8 {
+ width: 66.66666667%;
+ }
+ .col-md-7 {
+ width: 58.33333333%;
+ }
+ .col-md-6 {
+ width: 50%;
+ }
+ .col-md-5 {
+ width: 41.66666667%;
+ }
+ .col-md-4 {
+ width: 33.33333333%;
+ }
+ .col-md-3 {
+ width: 25%;
+ }
+ .col-md-2 {
+ width: 16.66666667%;
+ }
+ .col-md-1 {
+ width: 8.33333333%;
+ }
+ .col-md-pull-12 {
+ right: 100%;
+ }
+ .col-md-pull-11 {
+ right: 91.66666667%;
+ }
+ .col-md-pull-10 {
+ right: 83.33333333%;
+ }
+ .col-md-pull-9 {
+ right: 75%;
+ }
+ .col-md-pull-8 {
+ right: 66.66666667%;
+ }
+ .col-md-pull-7 {
+ right: 58.33333333%;
+ }
+ .col-md-pull-6 {
+ right: 50%;
+ }
+ .col-md-pull-5 {
+ right: 41.66666667%;
+ }
+ .col-md-pull-4 {
+ right: 33.33333333%;
+ }
+ .col-md-pull-3 {
+ right: 25%;
+ }
+ .col-md-pull-2 {
+ right: 16.66666667%;
+ }
+ .col-md-pull-1 {
+ right: 8.33333333%;
+ }
+ .col-md-pull-0 {
+ right: auto;
+ }
+ .col-md-push-12 {
+ left: 100%;
+ }
+ .col-md-push-11 {
+ left: 91.66666667%;
+ }
+ .col-md-push-10 {
+ left: 83.33333333%;
+ }
+ .col-md-push-9 {
+ left: 75%;
+ }
+ .col-md-push-8 {
+ left: 66.66666667%;
+ }
+ .col-md-push-7 {
+ left: 58.33333333%;
+ }
+ .col-md-push-6 {
+ left: 50%;
+ }
+ .col-md-push-5 {
+ left: 41.66666667%;
+ }
+ .col-md-push-4 {
+ left: 33.33333333%;
+ }
+ .col-md-push-3 {
+ left: 25%;
+ }
+ .col-md-push-2 {
+ left: 16.66666667%;
+ }
+ .col-md-push-1 {
+ left: 8.33333333%;
+ }
+ .col-md-push-0 {
+ left: auto;
+ }
+ .col-md-offset-12 {
+ margin-left: 100%;
+ }
+ .col-md-offset-11 {
+ margin-left: 91.66666667%;
+ }
+ .col-md-offset-10 {
+ margin-left: 83.33333333%;
+ }
+ .col-md-offset-9 {
+ margin-left: 75%;
+ }
+ .col-md-offset-8 {
+ margin-left: 66.66666667%;
+ }
+ .col-md-offset-7 {
+ margin-left: 58.33333333%;
+ }
+ .col-md-offset-6 {
+ margin-left: 50%;
+ }
+ .col-md-offset-5 {
+ margin-left: 41.66666667%;
+ }
+ .col-md-offset-4 {
+ margin-left: 33.33333333%;
+ }
+ .col-md-offset-3 {
+ margin-left: 25%;
+ }
+ .col-md-offset-2 {
+ margin-left: 16.66666667%;
+ }
+ .col-md-offset-1 {
+ margin-left: 8.33333333%;
+ }
+ .col-md-offset-0 {
+ margin-left: 0;
+ }
+}
+@media (min-width: 1200px) {
+ .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
+ float: left;
+ }
+ .col-lg-12 {
+ width: 100%;
+ }
+ .col-lg-11 {
+ width: 91.66666667%;
+ }
+ .col-lg-10 {
+ width: 83.33333333%;
+ }
+ .col-lg-9 {
+ width: 75%;
+ }
+ .col-lg-8 {
+ width: 66.66666667%;
+ }
+ .col-lg-7 {
+ width: 58.33333333%;
+ }
+ .col-lg-6 {
+ width: 50%;
+ }
+ .col-lg-5 {
+ width: 41.66666667%;
+ }
+ .col-lg-4 {
+ width: 33.33333333%;
+ }
+ .col-lg-3 {
+ width: 25%;
+ }
+ .col-lg-2 {
+ width: 16.66666667%;
+ }
+ .col-lg-1 {
+ width: 8.33333333%;
+ }
+ .col-lg-pull-12 {
+ right: 100%;
+ }
+ .col-lg-pull-11 {
+ right: 91.66666667%;
+ }
+ .col-lg-pull-10 {
+ right: 83.33333333%;
+ }
+ .col-lg-pull-9 {
+ right: 75%;
+ }
+ .col-lg-pull-8 {
+ right: 66.66666667%;
+ }
+ .col-lg-pull-7 {
+ right: 58.33333333%;
+ }
+ .col-lg-pull-6 {
+ right: 50%;
+ }
+ .col-lg-pull-5 {
+ right: 41.66666667%;
+ }
+ .col-lg-pull-4 {
+ right: 33.33333333%;
+ }
+ .col-lg-pull-3 {
+ right: 25%;
+ }
+ .col-lg-pull-2 {
+ right: 16.66666667%;
+ }
+ .col-lg-pull-1 {
+ right: 8.33333333%;
+ }
+ .col-lg-pull-0 {
+ right: auto;
+ }
+ .col-lg-push-12 {
+ left: 100%;
+ }
+ .col-lg-push-11 {
+ left: 91.66666667%;
+ }
+ .col-lg-push-10 {
+ left: 83.33333333%;
+ }
+ .col-lg-push-9 {
+ left: 75%;
+ }
+ .col-lg-push-8 {
+ left: 66.66666667%;
+ }
+ .col-lg-push-7 {
+ left: 58.33333333%;
+ }
+ .col-lg-push-6 {
+ left: 50%;
+ }
+ .col-lg-push-5 {
+ left: 41.66666667%;
+ }
+ .col-lg-push-4 {
+ left: 33.33333333%;
+ }
+ .col-lg-push-3 {
+ left: 25%;
+ }
+ .col-lg-push-2 {
+ left: 16.66666667%;
+ }
+ .col-lg-push-1 {
+ left: 8.33333333%;
+ }
+ .col-lg-push-0 {
+ left: auto;
+ }
+ .col-lg-offset-12 {
+ margin-left: 100%;
+ }
+ .col-lg-offset-11 {
+ margin-left: 91.66666667%;
+ }
+ .col-lg-offset-10 {
+ margin-left: 83.33333333%;
+ }
+ .col-lg-offset-9 {
+ margin-left: 75%;
+ }
+ .col-lg-offset-8 {
+ margin-left: 66.66666667%;
+ }
+ .col-lg-offset-7 {
+ margin-left: 58.33333333%;
+ }
+ .col-lg-offset-6 {
+ margin-left: 50%;
+ }
+ .col-lg-offset-5 {
+ margin-left: 41.66666667%;
+ }
+ .col-lg-offset-4 {
+ margin-left: 33.33333333%;
+ }
+ .col-lg-offset-3 {
+ margin-left: 25%;
+ }
+ .col-lg-offset-2 {
+ margin-left: 16.66666667%;
+ }
+ .col-lg-offset-1 {
+ margin-left: 8.33333333%;
+ }
+ .col-lg-offset-0 {
+ margin-left: 0;
+ }
+}
+table {
+ background-color: transparent;
+}
+caption {
+ padding-top: 8px;
+ padding-bottom: 8px;
+ color: #777;
+ text-align: left;
+}
+th {
+ text-align: left;
+}
+.table {
+ width: 100%;
+ max-width: 100%;
+ margin-bottom: 20px;
+}
+.table > thead > tr > th,
+.table > tbody > tr > th,
+.table > tfoot > tr > th,
+.table > thead > tr > td,
+.table > tbody > tr > td,
+.table > tfoot > tr > td {
+ padding: 8px;
+ line-height: 1.42857143;
+ vertical-align: top;
+ border-top: 1px solid #ddd;
+}
+.table > thead > tr > th {
+ vertical-align: bottom;
+ border-bottom: 2px solid #ddd;
+}
+.table > caption + thead > tr:first-child > th,
+.table > colgroup + thead > tr:first-child > th,
+.table > thead:first-child > tr:first-child > th,
+.table > caption + thead > tr:first-child > td,
+.table > colgroup + thead > tr:first-child > td,
+.table > thead:first-child > tr:first-child > td {
+ border-top: 0;
+}
+.table > tbody + tbody {
+ border-top: 2px solid #ddd;
+}
+.table .table {
+ background-color: #fff;
+}
+.table-condensed > thead > tr > th,
+.table-condensed > tbody > tr > th,
+.table-condensed > tfoot > tr > th,
+.table-condensed > thead > tr > td,
+.table-condensed > tbody > tr > td,
+.table-condensed > tfoot > tr > td {
+ padding: 5px;
+}
+.table-bordered {
+ border: 1px solid #ddd;
+}
+.table-bordered > thead > tr > th,
+.table-bordered > tbody > tr > th,
+.table-bordered > tfoot > tr > th,
+.table-bordered > thead > tr > td,
+.table-bordered > tbody > tr > td,
+.table-bordered > tfoot > tr > td {
+ border: 1px solid #ddd;
+}
+.table-bordered > thead > tr > th,
+.table-bordered > thead > tr > td {
+ border-bottom-width: 2px;
+}
+.table-striped > tbody > tr:nth-of-type(odd) {
+ background-color: #f9f9f9;
+}
+.table-hover > tbody > tr:hover {
+ background-color: #f5f5f5;
+}
+table col[class*="col-"] {
+ position: static;
+ display: table-column;
+ float: none;
+}
+table td[class*="col-"],
+table th[class*="col-"] {
+ position: static;
+ display: table-cell;
+ float: none;
+}
+.table > thead > tr > td.active,
+.table > tbody > tr > td.active,
+.table > tfoot > tr > td.active,
+.table > thead > tr > th.active,
+.table > tbody > tr > th.active,
+.table > tfoot > tr > th.active,
+.table > thead > tr.active > td,
+.table > tbody > tr.active > td,
+.table > tfoot > tr.active > td,
+.table > thead > tr.active > th,
+.table > tbody > tr.active > th,
+.table > tfoot > tr.active > th {
+ background-color: #f5f5f5;
+}
+.table-hover > tbody > tr > td.active:hover,
+.table-hover > tbody > tr > th.active:hover,
+.table-hover > tbody > tr.active:hover > td,
+.table-hover > tbody > tr:hover > .active,
+.table-hover > tbody > tr.active:hover > th {
+ background-color: #e8e8e8;
+}
+.table > thead > tr > td.success,
+.table > tbody > tr > td.success,
+.table > tfoot > tr > td.success,
+.table > thead > tr > th.success,
+.table > tbody > tr > th.success,
+.table > tfoot > tr > th.success,
+.table > thead > tr.success > td,
+.table > tbody > tr.success > td,
+.table > tfoot > tr.success > td,
+.table > thead > tr.success > th,
+.table > tbody > tr.success > th,
+.table > tfoot > tr.success > th {
+ background-color: #dff0d8;
+}
+.table-hover > tbody > tr > td.success:hover,
+.table-hover > tbody > tr > th.success:hover,
+.table-hover > tbody > tr.success:hover > td,
+.table-hover > tbody > tr:hover > .success,
+.table-hover > tbody > tr.success:hover > th {
+ background-color: #d0e9c6;
+}
+.table > thead > tr > td.info,
+.table > tbody > tr > td.info,
+.table > tfoot > tr > td.info,
+.table > thead > tr > th.info,
+.table > tbody > tr > th.info,
+.table > tfoot > tr > th.info,
+.table > thead > tr.info > td,
+.table > tbody > tr.info > td,
+.table > tfoot > tr.info > td,
+.table > thead > tr.info > th,
+.table > tbody > tr.info > th,
+.table > tfoot > tr.info > th {
+ background-color: #d9edf7;
+}
+.table-hover > tbody > tr > td.info:hover,
+.table-hover > tbody > tr > th.info:hover,
+.table-hover > tbody > tr.info:hover > td,
+.table-hover > tbody > tr:hover > .info,
+.table-hover > tbody > tr.info:hover > th {
+ background-color: #c4e3f3;
+}
+.table > thead > tr > td.warning,
+.table > tbody > tr > td.warning,
+.table > tfoot > tr > td.warning,
+.table > thead > tr > th.warning,
+.table > tbody > tr > th.warning,
+.table > tfoot > tr > th.warning,
+.table > thead > tr.warning > td,
+.table > tbody > tr.warning > td,
+.table > tfoot > tr.warning > td,
+.table > thead > tr.warning > th,
+.table > tbody > tr.warning > th,
+.table > tfoot > tr.warning > th {
+ background-color: #fcf8e3;
+}
+.table-hover > tbody > tr > td.warning:hover,
+.table-hover > tbody > tr > th.warning:hover,
+.table-hover > tbody > tr.warning:hover > td,
+.table-hover > tbody > tr:hover > .warning,
+.table-hover > tbody > tr.warning:hover > th {
+ background-color: #faf2cc;
+}
+.table > thead > tr > td.danger,
+.table > tbody > tr > td.danger,
+.table > tfoot > tr > td.danger,
+.table > thead > tr > th.danger,
+.table > tbody > tr > th.danger,
+.table > tfoot > tr > th.danger,
+.table > thead > tr.danger > td,
+.table > tbody > tr.danger > td,
+.table > tfoot > tr.danger > td,
+.table > thead > tr.danger > th,
+.table > tbody > tr.danger > th,
+.table > tfoot > tr.danger > th {
+ background-color: #f2dede;
+}
+.table-hover > tbody > tr > td.danger:hover,
+.table-hover > tbody > tr > th.danger:hover,
+.table-hover > tbody > tr.danger:hover > td,
+.table-hover > tbody > tr:hover > .danger,
+.table-hover > tbody > tr.danger:hover > th {
+ background-color: #ebcccc;
+}
+.table-responsive {
+ min-height: .01%;
+ overflow-x: auto;
+}
+@media screen and (max-width: 767px) {
+ .table-responsive {
+ width: 100%;
+ margin-bottom: 15px;
+ overflow-y: hidden;
+ -ms-overflow-style: -ms-autohiding-scrollbar;
+ border: 1px solid #ddd;
+ }
+ .table-responsive > .table {
+ margin-bottom: 0;
+ }
+ .table-responsive > .table > thead > tr > th,
+ .table-responsive > .table > tbody > tr > th,
+ .table-responsive > .table > tfoot > tr > th,
+ .table-responsive > .table > thead > tr > td,
+ .table-responsive > .table > tbody > tr > td,
+ .table-responsive > .table > tfoot > tr > td {
+ white-space: nowrap;
+ }
+ .table-responsive > .table-bordered {
+ border: 0;
+ }
+ .table-responsive > .table-bordered > thead > tr > th:first-child,
+ .table-responsive > .table-bordered > tbody > tr > th:first-child,
+ .table-responsive > .table-bordered > tfoot > tr > th:first-child,
+ .table-responsive > .table-bordered > thead > tr > td:first-child,
+ .table-responsive > .table-bordered > tbody > tr > td:first-child,
+ .table-responsive > .table-bordered > tfoot > tr > td:first-child {
+ border-left: 0;
+ }
+ .table-responsive > .table-bordered > thead > tr > th:last-child,
+ .table-responsive > .table-bordered > tbody > tr > th:last-child,
+ .table-responsive > .table-bordered > tfoot > tr > th:last-child,
+ .table-responsive > .table-bordered > thead > tr > td:last-child,
+ .table-responsive > .table-bordered > tbody > tr > td:last-child,
+ .table-responsive > .table-bordered > tfoot > tr > td:last-child {
+ border-right: 0;
+ }
+ .table-responsive > .table-bordered > tbody > tr:last-child > th,
+ .table-responsive > .table-bordered > tfoot > tr:last-child > th,
+ .table-responsive > .table-bordered > tbody > tr:last-child > td,
+ .table-responsive > .table-bordered > tfoot > tr:last-child > td {
+ border-bottom: 0;
+ }
+}
+fieldset {
+ min-width: 0;
+ padding: 0;
+ margin: 0;
+ border: 0;
+}
+legend {
+ display: block;
+ width: 100%;
+ padding: 0;
+ margin-bottom: 20px;
+ font-size: 21px;
+ line-height: inherit;
+ color: #333;
+ border: 0;
+ border-bottom: 1px solid #e5e5e5;
+}
+label {
+ display: inline-block;
+ max-width: 100%;
+ margin-bottom: 5px;
+ font-weight: bold;
+}
+input[type="search"] {
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+}
+input[type="radio"],
+input[type="checkbox"] {
+ margin: 4px 0 0;
+ margin-top: 1px \9;
+ line-height: normal;
+}
+input[type="file"] {
+ display: block;
+}
+input[type="range"] {
+ display: block;
+ width: 100%;
+}
+select[multiple],
+select[size] {
+ height: auto;
+}
+input[type="file"]:focus,
+input[type="radio"]:focus,
+input[type="checkbox"]:focus {
+ outline: thin dotted;
+ outline: 5px auto -webkit-focus-ring-color;
+ outline-offset: -2px;
+}
+output {
+ display: block;
+ padding-top: 7px;
+ font-size: 14px;
+ line-height: 1.42857143;
+ color: #555;
+}
+.form-control {
+ display: block;
+ width: 100%;
+ height: 34px;
+ padding: 6px 12px;
+ font-size: 14px;
+ line-height: 1.42857143;
+ color: #555;
+ background-color: #fff;
+ background-image: none;
+ border: 1px solid #ccc;
+ border-radius: 4px;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
+ -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
+ -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
+ transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
+}
+.form-control:focus {
+ border-color: #66afe9;
+ outline: 0;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);
+ box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);
+}
+.form-control::-moz-placeholder {
+ color: #999;
+ opacity: 1;
+}
+.form-control:-ms-input-placeholder {
+ color: #999;
+}
+.form-control::-webkit-input-placeholder {
+ color: #999;
+}
+.form-control[disabled],
+.form-control[readonly],
+fieldset[disabled] .form-control {
+ background-color: #eee;
+ opacity: 1;
+}
+.form-control[disabled],
+fieldset[disabled] .form-control {
+ cursor: not-allowed;
+}
+textarea.form-control {
+ height: auto;
+}
+input[type="search"] {
+ -webkit-appearance: none;
+}
+@media screen and (-webkit-min-device-pixel-ratio: 0) {
+ input[type="date"],
+ input[type="time"],
+ input[type="datetime-local"],
+ input[type="month"] {
+ line-height: 34px;
+ }
+ input[type="date"].input-sm,
+ input[type="time"].input-sm,
+ input[type="datetime-local"].input-sm,
+ input[type="month"].input-sm,
+ .input-group-sm input[type="date"],
+ .input-group-sm input[type="time"],
+ .input-group-sm input[type="datetime-local"],
+ .input-group-sm input[type="month"] {
+ line-height: 30px;
+ }
+ input[type="date"].input-lg,
+ input[type="time"].input-lg,
+ input[type="datetime-local"].input-lg,
+ input[type="month"].input-lg,
+ .input-group-lg input[type="date"],
+ .input-group-lg input[type="time"],
+ .input-group-lg input[type="datetime-local"],
+ .input-group-lg input[type="month"] {
+ line-height: 46px;
+ }
+}
+.form-group {
+ margin-bottom: 15px;
+}
+.radio,
+.checkbox {
+ position: relative;
+ display: block;
+ margin-top: 10px;
+ margin-bottom: 10px;
+}
+.radio label,
+.checkbox label {
+ min-height: 20px;
+ padding-left: 20px;
+ margin-bottom: 0;
+ font-weight: normal;
+ cursor: pointer;
+}
+.radio input[type="radio"],
+.radio-inline input[type="radio"],
+.checkbox input[type="checkbox"],
+.checkbox-inline input[type="checkbox"] {
+ position: absolute;
+ margin-top: 4px \9;
+ margin-left: -20px;
+}
+.radio + .radio,
+.checkbox + .checkbox {
+ margin-top: -5px;
+}
+.radio-inline,
+.checkbox-inline {
+ position: relative;
+ display: inline-block;
+ padding-left: 20px;
+ margin-bottom: 0;
+ font-weight: normal;
+ vertical-align: middle;
+ cursor: pointer;
+}
+.radio-inline + .radio-inline,
+.checkbox-inline + .checkbox-inline {
+ margin-top: 0;
+ margin-left: 10px;
+}
+input[type="radio"][disabled],
+input[type="checkbox"][disabled],
+input[type="radio"].disabled,
+input[type="checkbox"].disabled,
+fieldset[disabled] input[type="radio"],
+fieldset[disabled] input[type="checkbox"] {
+ cursor: not-allowed;
+}
+.radio-inline.disabled,
+.checkbox-inline.disabled,
+fieldset[disabled] .radio-inline,
+fieldset[disabled] .checkbox-inline {
+ cursor: not-allowed;
+}
+.radio.disabled label,
+.checkbox.disabled label,
+fieldset[disabled] .radio label,
+fieldset[disabled] .checkbox label {
+ cursor: not-allowed;
+}
+.form-control-static {
+ min-height: 34px;
+ padding-top: 7px;
+ padding-bottom: 7px;
+ margin-bottom: 0;
+}
+.form-control-static.input-lg,
+.form-control-static.input-sm {
+ padding-right: 0;
+ padding-left: 0;
+}
+.input-sm {
+ height: 30px;
+ padding: 5px 10px;
+ font-size: 12px;
+ line-height: 1.5;
+ border-radius: 3px;
+}
+select.input-sm {
+ height: 30px;
+ line-height: 30px;
+}
+textarea.input-sm,
+select[multiple].input-sm {
+ height: auto;
+}
+.form-group-sm .form-control {
+ height: 30px;
+ padding: 5px 10px;
+ font-size: 12px;
+ line-height: 1.5;
+ border-radius: 3px;
+}
+select.form-group-sm .form-control {
+ height: 30px;
+ line-height: 30px;
+}
+textarea.form-group-sm .form-control,
+select[multiple].form-group-sm .form-control {
+ height: auto;
+}
+.form-group-sm .form-control-static {
+ height: 30px;
+ min-height: 32px;
+ padding: 5px 10px;
+ font-size: 12px;
+ line-height: 1.5;
+}
+.input-lg {
+ height: 46px;
+ padding: 10px 16px;
+ font-size: 18px;
+ line-height: 1.3333333;
+ border-radius: 6px;
+}
+select.input-lg {
+ height: 46px;
+ line-height: 46px;
+}
+textarea.input-lg,
+select[multiple].input-lg {
+ height: auto;
+}
+.form-group-lg .form-control {
+ height: 46px;
+ padding: 10px 16px;
+ font-size: 18px;
+ line-height: 1.3333333;
+ border-radius: 6px;
+}
+select.form-group-lg .form-control {
+ height: 46px;
+ line-height: 46px;
+}
+textarea.form-group-lg .form-control,
+select[multiple].form-group-lg .form-control {
+ height: auto;
+}
+.form-group-lg .form-control-static {
+ height: 46px;
+ min-height: 38px;
+ padding: 10px 16px;
+ font-size: 18px;
+ line-height: 1.3333333;
+}
+.has-feedback {
+ position: relative;
+}
+.has-feedback .form-control {
+ padding-right: 42.5px;
+}
+.form-control-feedback {
+ position: absolute;
+ top: 0;
+ right: 0;
+ z-index: 2;
+ display: block;
+ width: 34px;
+ height: 34px;
+ line-height: 34px;
+ text-align: center;
+ pointer-events: none;
+}
+.input-lg + .form-control-feedback {
+ width: 46px;
+ height: 46px;
+ line-height: 46px;
+}
+.input-sm + .form-control-feedback {
+ width: 30px;
+ height: 30px;
+ line-height: 30px;
+}
+.has-success .help-block,
+.has-success .control-label,
+.has-success .radio,
+.has-success .checkbox,
+.has-success .radio-inline,
+.has-success .checkbox-inline,
+.has-success.radio label,
+.has-success.checkbox label,
+.has-success.radio-inline label,
+.has-success.checkbox-inline label {
+ color: #3c763d;
+}
+.has-success .form-control {
+ border-color: #3c763d;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
+}
+.has-success .form-control:focus {
+ border-color: #2b542c;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;
+}
+.has-success .input-group-addon {
+ color: #3c763d;
+ background-color: #dff0d8;
+ border-color: #3c763d;
+}
+.has-success .form-control-feedback {
+ color: #3c763d;
+}
+.has-warning .help-block,
+.has-warning .control-label,
+.has-warning .radio,
+.has-warning .checkbox,
+.has-warning .radio-inline,
+.has-warning .checkbox-inline,
+.has-warning.radio label,
+.has-warning.checkbox label,
+.has-warning.radio-inline label,
+.has-warning.checkbox-inline label {
+ color: #8a6d3b;
+}
+.has-warning .form-control {
+ border-color: #8a6d3b;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
+}
+.has-warning .form-control:focus {
+ border-color: #66512c;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;
+}
+.has-warning .input-group-addon {
+ color: #8a6d3b;
+ background-color: #fcf8e3;
+ border-color: #8a6d3b;
+}
+.has-warning .form-control-feedback {
+ color: #8a6d3b;
+}
+.has-error .help-block,
+.has-error .control-label,
+.has-error .radio,
+.has-error .checkbox,
+.has-error .radio-inline,
+.has-error .checkbox-inline,
+.has-error.radio label,
+.has-error.checkbox label,
+.has-error.radio-inline label,
+.has-error.checkbox-inline label {
+ color: #a94442;
+}
+.has-error .form-control {
+ border-color: #a94442;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
+}
+.has-error .form-control:focus {
+ border-color: #843534;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;
+}
+.has-error .input-group-addon {
+ color: #a94442;
+ background-color: #f2dede;
+ border-color: #a94442;
+}
+.has-error .form-control-feedback {
+ color: #a94442;
+}
+.has-feedback label ~ .form-control-feedback {
+ top: 25px;
+}
+.has-feedback label.sr-only ~ .form-control-feedback {
+ top: 0;
+}
+.help-block {
+ display: block;
+ margin-top: 5px;
+ margin-bottom: 10px;
+ color: #737373;
+}
+@media (min-width: 768px) {
+ .form-inline .form-group {
+ display: inline-block;
+ margin-bottom: 0;
+ vertical-align: middle;
+ }
+ .form-inline .form-control {
+ display: inline-block;
+ width: auto;
+ vertical-align: middle;
+ }
+ .form-inline .form-control-static {
+ display: inline-block;
+ }
+ .form-inline .input-group {
+ display: inline-table;
+ vertical-align: middle;
+ }
+ .form-inline .input-group .input-group-addon,
+ .form-inline .input-group .input-group-btn,
+ .form-inline .input-group .form-control {
+ width: auto;
+ }
+ .form-inline .input-group > .form-control {
+ width: 100%;
+ }
+ .form-inline .control-label {
+ margin-bottom: 0;
+ vertical-align: middle;
+ }
+ .form-inline .radio,
+ .form-inline .checkbox {
+ display: inline-block;
+ margin-top: 0;
+ margin-bottom: 0;
+ vertical-align: middle;
+ }
+ .form-inline .radio label,
+ .form-inline .checkbox label {
+ padding-left: 0;
+ }
+ .form-inline .radio input[type="radio"],
+ .form-inline .checkbox input[type="checkbox"] {
+ position: relative;
+ margin-left: 0;
+ }
+ .form-inline .has-feedback .form-control-feedback {
+ top: 0;
+ }
+}
+.form-horizontal .radio,
+.form-horizontal .checkbox,
+.form-horizontal .radio-inline,
+.form-horizontal .checkbox-inline {
+ padding-top: 7px;
+ margin-top: 0;
+ margin-bottom: 0;
+}
+.form-horizontal .radio,
+.form-horizontal .checkbox {
+ min-height: 27px;
+}
+.form-horizontal .form-group {
+ margin-right: -15px;
+ margin-left: -15px;
+}
+@media (min-width: 768px) {
+ .form-horizontal .control-label {
+ padding-top: 7px;
+ margin-bottom: 0;
+ text-align: right;
+ }
+}
+.form-horizontal .has-feedback .form-control-feedback {
+ right: 15px;
+}
+@media (min-width: 768px) {
+ .form-horizontal .form-group-lg .control-label {
+ padding-top: 14.333333px;
+ }
+}
+@media (min-width: 768px) {
+ .form-horizontal .form-group-sm .control-label {
+ padding-top: 6px;
+ }
+}
+.btn {
+ display: inline-block;
+ padding: 6px 12px;
+ margin-bottom: 0;
+ font-size: 14px;
+ font-weight: normal;
+ line-height: 1.42857143;
+ text-align: center;
+ white-space: nowrap;
+ vertical-align: middle;
+ -ms-touch-action: manipulation;
+ touch-action: manipulation;
+ cursor: pointer;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ background-image: none;
+ border: 1px solid transparent;
+ border-radius: 4px;
+}
+.btn:focus,
+.btn:active:focus,
+.btn.active:focus,
+.btn.focus,
+.btn:active.focus,
+.btn.active.focus {
+ outline: thin dotted;
+ outline: 5px auto -webkit-focus-ring-color;
+ outline-offset: -2px;
+}
+.btn:hover,
+.btn:focus,
+.btn.focus {
+ color: #333;
+ text-decoration: none;
+}
+.btn:active,
+.btn.active {
+ background-image: none;
+ outline: 0;
+ -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
+ box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
+}
+.btn.disabled,
+.btn[disabled],
+fieldset[disabled] .btn {
+ pointer-events: none;
+ cursor: not-allowed;
+ filter: alpha(opacity=65);
+ -webkit-box-shadow: none;
+ box-shadow: none;
+ opacity: .65;
+}
+.btn-default {
+ color: #333;
+ background-color: #fff;
+ border-color: #ccc;
+}
+.btn-default:hover,
+.btn-default:focus,
+.btn-default.focus,
+.btn-default:active,
+.btn-default.active,
+.open > .dropdown-toggle.btn-default {
+ color: #333;
+ background-color: #e6e6e6;
+ border-color: #adadad;
+}
+.btn-default:active,
+.btn-default.active,
+.open > .dropdown-toggle.btn-default {
+ background-image: none;
+}
+.btn-default.disabled,
+.btn-default[disabled],
+fieldset[disabled] .btn-default,
+.btn-default.disabled:hover,
+.btn-default[disabled]:hover,
+fieldset[disabled] .btn-default:hover,
+.btn-default.disabled:focus,
+.btn-default[disabled]:focus,
+fieldset[disabled] .btn-default:focus,
+.btn-default.disabled.focus,
+.btn-default[disabled].focus,
+fieldset[disabled] .btn-default.focus,
+.btn-default.disabled:active,
+.btn-default[disabled]:active,
+fieldset[disabled] .btn-default:active,
+.btn-default.disabled.active,
+.btn-default[disabled].active,
+fieldset[disabled] .btn-default.active {
+ background-color: #fff;
+ border-color: #ccc;
+}
+.btn-default .badge {
+ color: #fff;
+ background-color: #333;
+}
+.btn-primary {
+ color: #fff;
+ background-color: #337ab7;
+ border-color: #2e6da4;
+}
+.btn-primary:hover,
+.btn-primary:focus,
+.btn-primary.focus,
+.btn-primary:active,
+.btn-primary.active,
+.open > .dropdown-toggle.btn-primary {
+ color: #fff;
+ background-color: #286090;
+ border-color: #204d74;
+}
+.btn-primary:active,
+.btn-primary.active,
+.open > .dropdown-toggle.btn-primary {
+ background-image: none;
+}
+.btn-primary.disabled,
+.btn-primary[disabled],
+fieldset[disabled] .btn-primary,
+.btn-primary.disabled:hover,
+.btn-primary[disabled]:hover,
+fieldset[disabled] .btn-primary:hover,
+.btn-primary.disabled:focus,
+.btn-primary[disabled]:focus,
+fieldset[disabled] .btn-primary:focus,
+.btn-primary.disabled.focus,
+.btn-primary[disabled].focus,
+fieldset[disabled] .btn-primary.focus,
+.btn-primary.disabled:active,
+.btn-primary[disabled]:active,
+fieldset[disabled] .btn-primary:active,
+.btn-primary.disabled.active,
+.btn-primary[disabled].active,
+fieldset[disabled] .btn-primary.active {
+ background-color: #337ab7;
+ border-color: #2e6da4;
+}
+.btn-primary .badge {
+ color: #337ab7;
+ background-color: #fff;
+}
+.btn-success {
+ color: #fff;
+ background-color: #5cb85c;
+ border-color: #4cae4c;
+}
+.btn-success:hover,
+.btn-success:focus,
+.btn-success.focus,
+.btn-success:active,
+.btn-success.active,
+.open > .dropdown-toggle.btn-success {
+ color: #fff;
+ background-color: #449d44;
+ border-color: #398439;
+}
+.btn-success:active,
+.btn-success.active,
+.open > .dropdown-toggle.btn-success {
+ background-image: none;
+}
+.btn-success.disabled,
+.btn-success[disabled],
+fieldset[disabled] .btn-success,
+.btn-success.disabled:hover,
+.btn-success[disabled]:hover,
+fieldset[disabled] .btn-success:hover,
+.btn-success.disabled:focus,
+.btn-success[disabled]:focus,
+fieldset[disabled] .btn-success:focus,
+.btn-success.disabled.focus,
+.btn-success[disabled].focus,
+fieldset[disabled] .btn-success.focus,
+.btn-success.disabled:active,
+.btn-success[disabled]:active,
+fieldset[disabled] .btn-success:active,
+.btn-success.disabled.active,
+.btn-success[disabled].active,
+fieldset[disabled] .btn-success.active {
+ background-color: #5cb85c;
+ border-color: #4cae4c;
+}
+.btn-success .badge {
+ color: #5cb85c;
+ background-color: #fff;
+}
+.btn-info {
+ color: #fff;
+ background-color: #5bc0de;
+ border-color: #46b8da;
+}
+.btn-info:hover,
+.btn-info:focus,
+.btn-info.focus,
+.btn-info:active,
+.btn-info.active,
+.open > .dropdown-toggle.btn-info {
+ color: #fff;
+ background-color: #31b0d5;
+ border-color: #269abc;
+}
+.btn-info:active,
+.btn-info.active,
+.open > .dropdown-toggle.btn-info {
+ background-image: none;
+}
+.btn-info.disabled,
+.btn-info[disabled],
+fieldset[disabled] .btn-info,
+.btn-info.disabled:hover,
+.btn-info[disabled]:hover,
+fieldset[disabled] .btn-info:hover,
+.btn-info.disabled:focus,
+.btn-info[disabled]:focus,
+fieldset[disabled] .btn-info:focus,
+.btn-info.disabled.focus,
+.btn-info[disabled].focus,
+fieldset[disabled] .btn-info.focus,
+.btn-info.disabled:active,
+.btn-info[disabled]:active,
+fieldset[disabled] .btn-info:active,
+.btn-info.disabled.active,
+.btn-info[disabled].active,
+fieldset[disabled] .btn-info.active {
+ background-color: #5bc0de;
+ border-color: #46b8da;
+}
+.btn-info .badge {
+ color: #5bc0de;
+ background-color: #fff;
+}
+.btn-warning {
+ color: #fff;
+ background-color: #f0ad4e;
+ border-color: #eea236;
+}
+.btn-warning:hover,
+.btn-warning:focus,
+.btn-warning.focus,
+.btn-warning:active,
+.btn-warning.active,
+.open > .dropdown-toggle.btn-warning {
+ color: #fff;
+ background-color: #ec971f;
+ border-color: #d58512;
+}
+.btn-warning:active,
+.btn-warning.active,
+.open > .dropdown-toggle.btn-warning {
+ background-image: none;
+}
+.btn-warning.disabled,
+.btn-warning[disabled],
+fieldset[disabled] .btn-warning,
+.btn-warning.disabled:hover,
+.btn-warning[disabled]:hover,
+fieldset[disabled] .btn-warning:hover,
+.btn-warning.disabled:focus,
+.btn-warning[disabled]:focus,
+fieldset[disabled] .btn-warning:focus,
+.btn-warning.disabled.focus,
+.btn-warning[disabled].focus,
+fieldset[disabled] .btn-warning.focus,
+.btn-warning.disabled:active,
+.btn-warning[disabled]:active,
+fieldset[disabled] .btn-warning:active,
+.btn-warning.disabled.active,
+.btn-warning[disabled].active,
+fieldset[disabled] .btn-warning.active {
+ background-color: #f0ad4e;
+ border-color: #eea236;
+}
+.btn-warning .badge {
+ color: #f0ad4e;
+ background-color: #fff;
+}
+.btn-danger {
+ color: #fff;
+ background-color: #d9534f;
+ border-color: #d43f3a;
+}
+.btn-danger:hover,
+.btn-danger:focus,
+.btn-danger.focus,
+.btn-danger:active,
+.btn-danger.active,
+.open > .dropdown-toggle.btn-danger {
+ color: #fff;
+ background-color: #c9302c;
+ border-color: #ac2925;
+}
+.btn-danger:active,
+.btn-danger.active,
+.open > .dropdown-toggle.btn-danger {
+ background-image: none;
+}
+.btn-danger.disabled,
+.btn-danger[disabled],
+fieldset[disabled] .btn-danger,
+.btn-danger.disabled:hover,
+.btn-danger[disabled]:hover,
+fieldset[disabled] .btn-danger:hover,
+.btn-danger.disabled:focus,
+.btn-danger[disabled]:focus,
+fieldset[disabled] .btn-danger:focus,
+.btn-danger.disabled.focus,
+.btn-danger[disabled].focus,
+fieldset[disabled] .btn-danger.focus,
+.btn-danger.disabled:active,
+.btn-danger[disabled]:active,
+fieldset[disabled] .btn-danger:active,
+.btn-danger.disabled.active,
+.btn-danger[disabled].active,
+fieldset[disabled] .btn-danger.active {
+ background-color: #d9534f;
+ border-color: #d43f3a;
+}
+.btn-danger .badge {
+ color: #d9534f;
+ background-color: #fff;
+}
+.btn-link {
+ font-weight: normal;
+ color: #337ab7;
+ border-radius: 0;
+}
+.btn-link,
+.btn-link:active,
+.btn-link.active,
+.btn-link[disabled],
+fieldset[disabled] .btn-link {
+ background-color: transparent;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+.btn-link,
+.btn-link:hover,
+.btn-link:focus,
+.btn-link:active {
+ border-color: transparent;
+}
+.btn-link:hover,
+.btn-link:focus {
+ color: #23527c;
+ text-decoration: underline;
+ background-color: transparent;
+}
+.btn-link[disabled]:hover,
+fieldset[disabled] .btn-link:hover,
+.btn-link[disabled]:focus,
+fieldset[disabled] .btn-link:focus {
+ color: #777;
+ text-decoration: none;
+}
+.btn-lg,
+.btn-group-lg > .btn {
+ padding: 10px 16px;
+ font-size: 18px;
+ line-height: 1.3333333;
+ border-radius: 6px;
+}
+.btn-sm,
+.btn-group-sm > .btn {
+ padding: 5px 10px;
+ font-size: 12px;
+ line-height: 1.5;
+ border-radius: 3px;
+}
+.btn-xs,
+.btn-group-xs > .btn {
+ padding: 1px 5px;
+ font-size: 12px;
+ line-height: 1.5;
+ border-radius: 3px;
+}
+.btn-block {
+ display: block;
+ width: 100%;
+}
+.btn-block + .btn-block {
+ margin-top: 5px;
+}
+input[type="submit"].btn-block,
+input[type="reset"].btn-block,
+input[type="button"].btn-block {
+ width: 100%;
+}
+.fade {
+ opacity: 0;
+ -webkit-transition: opacity .15s linear;
+ -o-transition: opacity .15s linear;
+ transition: opacity .15s linear;
+}
+.fade.in {
+ opacity: 1;
+}
+.collapse {
+ display: none;
+}
+.collapse.in {
+ display: block;
+}
+tr.collapse.in {
+ display: table-row;
+}
+tbody.collapse.in {
+ display: table-row-group;
+}
+.collapsing {
+ position: relative;
+ height: 0;
+ overflow: hidden;
+ -webkit-transition-timing-function: ease;
+ -o-transition-timing-function: ease;
+ transition-timing-function: ease;
+ -webkit-transition-duration: .35s;
+ -o-transition-duration: .35s;
+ transition-duration: .35s;
+ -webkit-transition-property: height, visibility;
+ -o-transition-property: height, visibility;
+ transition-property: height, visibility;
+}
+.caret {
+ display: inline-block;
+ width: 0;
+ height: 0;
+ margin-left: 2px;
+ vertical-align: middle;
+ border-top: 4px dashed;
+ border-right: 4px solid transparent;
+ border-left: 4px solid transparent;
+}
+.dropup,
+.dropdown {
+ position: relative;
+}
+.dropdown-toggle:focus {
+ outline: 0;
+}
+.dropdown-menu {
+ position: absolute;
+ top: 100%;
+ left: 0;
+ z-index: 1000;
+ display: none;
+ float: left;
+ min-width: 160px;
+ padding: 5px 0;
+ margin: 2px 0 0;
+ font-size: 14px;
+ text-align: left;
+ list-style: none;
+ background-color: #fff;
+ -webkit-background-clip: padding-box;
+ background-clip: padding-box;
+ border: 1px solid #ccc;
+ border: 1px solid rgba(0, 0, 0, .15);
+ border-radius: 4px;
+ -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
+ box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
+}
+.dropdown-menu.pull-right {
+ right: 0;
+ left: auto;
+}
+.dropdown-menu .divider {
+ height: 1px;
+ margin: 9px 0;
+ overflow: hidden;
+ background-color: #e5e5e5;
+}
+.dropdown-menu > li > a {
+ display: block;
+ padding: 3px 20px;
+ clear: both;
+ font-weight: normal;
+ line-height: 1.42857143;
+ color: #333;
+ white-space: nowrap;
+}
+.dropdown-menu > li > a:hover,
+.dropdown-menu > li > a:focus {
+ color: #262626;
+ text-decoration: none;
+ background-color: #f5f5f5;
+}
+.dropdown-menu > .active > a,
+.dropdown-menu > .active > a:hover,
+.dropdown-menu > .active > a:focus {
+ color: #fff;
+ text-decoration: none;
+ background-color: #337ab7;
+ outline: 0;
+}
+.dropdown-menu > .disabled > a,
+.dropdown-menu > .disabled > a:hover,
+.dropdown-menu > .disabled > a:focus {
+ color: #777;
+}
+.dropdown-menu > .disabled > a:hover,
+.dropdown-menu > .disabled > a:focus {
+ text-decoration: none;
+ cursor: not-allowed;
+ background-color: transparent;
+ background-image: none;
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+}
+.open > .dropdown-menu {
+ display: block;
+}
+.open > a {
+ outline: 0;
+}
+.dropdown-menu-right {
+ right: 0;
+ left: auto;
+}
+.dropdown-menu-left {
+ right: auto;
+ left: 0;
+}
+.dropdown-header {
+ display: block;
+ padding: 3px 20px;
+ font-size: 12px;
+ line-height: 1.42857143;
+ color: #777;
+ white-space: nowrap;
+}
+.dropdown-backdrop {
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 990;
+}
+.pull-right > .dropdown-menu {
+ right: 0;
+ left: auto;
+}
+.dropup .caret,
+.navbar-fixed-bottom .dropdown .caret {
+ content: "";
+ border-top: 0;
+ border-bottom: 4px solid;
+}
+.dropup .dropdown-menu,
+.navbar-fixed-bottom .dropdown .dropdown-menu {
+ top: auto;
+ bottom: 100%;
+ margin-bottom: 2px;
+}
+@media (min-width: 768px) {
+ .navbar-right .dropdown-menu {
+ right: 0;
+ left: auto;
+ }
+ .navbar-right .dropdown-menu-left {
+ right: auto;
+ left: 0;
+ }
+}
+.btn-group,
+.btn-group-vertical {
+ position: relative;
+ display: inline-block;
+ vertical-align: middle;
+}
+.btn-group > .btn,
+.btn-group-vertical > .btn {
+ position: relative;
+ float: left;
+}
+.btn-group > .btn:hover,
+.btn-group-vertical > .btn:hover,
+.btn-group > .btn:focus,
+.btn-group-vertical > .btn:focus,
+.btn-group > .btn:active,
+.btn-group-vertical > .btn:active,
+.btn-group > .btn.active,
+.btn-group-vertical > .btn.active {
+ z-index: 2;
+}
+.btn-group .btn + .btn,
+.btn-group .btn + .btn-group,
+.btn-group .btn-group + .btn,
+.btn-group .btn-group + .btn-group {
+ margin-left: -1px;
+}
+.btn-toolbar {
+ margin-left: -5px;
+}
+.btn-toolbar .btn-group,
+.btn-toolbar .input-group {
+ float: left;
+}
+.btn-toolbar > .btn,
+.btn-toolbar > .btn-group,
+.btn-toolbar > .input-group {
+ margin-left: 5px;
+}
+.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
+ border-radius: 0;
+}
+.btn-group > .btn:first-child {
+ margin-left: 0;
+}
+.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+.btn-group > .btn:last-child:not(:first-child),
+.btn-group > .dropdown-toggle:not(:first-child) {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+}
+.btn-group > .btn-group {
+ float: left;
+}
+.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
+ border-radius: 0;
+}
+.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
+.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+}
+.btn-group .dropdown-toggle:active,
+.btn-group.open .dropdown-toggle {
+ outline: 0;
+}
+.btn-group > .btn + .dropdown-toggle {
+ padding-right: 8px;
+ padding-left: 8px;
+}
+.btn-group > .btn-lg + .dropdown-toggle {
+ padding-right: 12px;
+ padding-left: 12px;
+}
+.btn-group.open .dropdown-toggle {
+ -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
+ box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
+}
+.btn-group.open .dropdown-toggle.btn-link {
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+.btn .caret {
+ margin-left: 0;
+}
+.btn-lg .caret {
+ border-width: 5px 5px 0;
+ border-bottom-width: 0;
+}
+.dropup .btn-lg .caret {
+ border-width: 0 5px 5px;
+}
+.btn-group-vertical > .btn,
+.btn-group-vertical > .btn-group,
+.btn-group-vertical > .btn-group > .btn {
+ display: block;
+ float: none;
+ width: 100%;
+ max-width: 100%;
+}
+.btn-group-vertical > .btn-group > .btn {
+ float: none;
+}
+.btn-group-vertical > .btn + .btn,
+.btn-group-vertical > .btn + .btn-group,
+.btn-group-vertical > .btn-group + .btn,
+.btn-group-vertical > .btn-group + .btn-group {
+ margin-top: -1px;
+ margin-left: 0;
+}
+.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
+ border-radius: 0;
+}
+.btn-group-vertical > .btn:first-child:not(:last-child) {
+ border-top-right-radius: 4px;
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0;
+}
+.btn-group-vertical > .btn:last-child:not(:first-child) {
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+ border-bottom-left-radius: 4px;
+}
+.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
+ border-radius: 0;
+}
+.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
+.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0;
+}
+.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+}
+.btn-group-justified {
+ display: table;
+ width: 100%;
+ table-layout: fixed;
+ border-collapse: separate;
+}
+.btn-group-justified > .btn,
+.btn-group-justified > .btn-group {
+ display: table-cell;
+ float: none;
+ width: 1%;
+}
+.btn-group-justified > .btn-group .btn {
+ width: 100%;
+}
+.btn-group-justified > .btn-group .dropdown-menu {
+ left: auto;
+}
+[data-toggle="buttons"] > .btn input[type="radio"],
+[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
+[data-toggle="buttons"] > .btn input[type="checkbox"],
+[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
+ position: absolute;
+ clip: rect(0, 0, 0, 0);
+ pointer-events: none;
+}
+.input-group {
+ position: relative;
+ display: table;
+ border-collapse: separate;
+}
+.input-group[class*="col-"] {
+ float: none;
+ padding-right: 0;
+ padding-left: 0;
+}
+.input-group .form-control {
+ position: relative;
+ z-index: 2;
+ float: left;
+ width: 100%;
+ margin-bottom: 0;
+}
+.input-group-lg > .form-control,
+.input-group-lg > .input-group-addon,
+.input-group-lg > .input-group-btn > .btn {
+ height: 46px;
+ padding: 10px 16px;
+ font-size: 18px;
+ line-height: 1.3333333;
+ border-radius: 6px;
+}
+select.input-group-lg > .form-control,
+select.input-group-lg > .input-group-addon,
+select.input-group-lg > .input-group-btn > .btn {
+ height: 46px;
+ line-height: 46px;
+}
+textarea.input-group-lg > .form-control,
+textarea.input-group-lg > .input-group-addon,
+textarea.input-group-lg > .input-group-btn > .btn,
+select[multiple].input-group-lg > .form-control,
+select[multiple].input-group-lg > .input-group-addon,
+select[multiple].input-group-lg > .input-group-btn > .btn {
+ height: auto;
+}
+.input-group-sm > .form-control,
+.input-group-sm > .input-group-addon,
+.input-group-sm > .input-group-btn > .btn {
+ height: 30px;
+ padding: 5px 10px;
+ font-size: 12px;
+ line-height: 1.5;
+ border-radius: 3px;
+}
+select.input-group-sm > .form-control,
+select.input-group-sm > .input-group-addon,
+select.input-group-sm > .input-group-btn > .btn {
+ height: 30px;
+ line-height: 30px;
+}
+textarea.input-group-sm > .form-control,
+textarea.input-group-sm > .input-group-addon,
+textarea.input-group-sm > .input-group-btn > .btn,
+select[multiple].input-group-sm > .form-control,
+select[multiple].input-group-sm > .input-group-addon,
+select[multiple].input-group-sm > .input-group-btn > .btn {
+ height: auto;
+}
+.input-group-addon,
+.input-group-btn,
+.input-group .form-control {
+ display: table-cell;
+}
+.input-group-addon:not(:first-child):not(:last-child),
+.input-group-btn:not(:first-child):not(:last-child),
+.input-group .form-control:not(:first-child):not(:last-child) {
+ border-radius: 0;
+}
+.input-group-addon,
+.input-group-btn {
+ width: 1%;
+ white-space: nowrap;
+ vertical-align: middle;
+}
+.input-group-addon {
+ padding: 6px 12px;
+ font-size: 14px;
+ font-weight: normal;
+ line-height: 1;
+ color: #555;
+ text-align: center;
+ background-color: #eee;
+ border: 1px solid #ccc;
+ border-radius: 4px;
+}
+.input-group-addon.input-sm {
+ padding: 5px 10px;
+ font-size: 12px;
+ border-radius: 3px;
+}
+.input-group-addon.input-lg {
+ padding: 10px 16px;
+ font-size: 18px;
+ border-radius: 6px;
+}
+.input-group-addon input[type="radio"],
+.input-group-addon input[type="checkbox"] {
+ margin-top: 0;
+}
+.input-group .form-control:first-child,
+.input-group-addon:first-child,
+.input-group-btn:first-child > .btn,
+.input-group-btn:first-child > .btn-group > .btn,
+.input-group-btn:first-child > .dropdown-toggle,
+.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
+.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+.input-group-addon:first-child {
+ border-right: 0;
+}
+.input-group .form-control:last-child,
+.input-group-addon:last-child,
+.input-group-btn:last-child > .btn,
+.input-group-btn:last-child > .btn-group > .btn,
+.input-group-btn:last-child > .dropdown-toggle,
+.input-group-btn:first-child > .btn:not(:first-child),
+.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+}
+.input-group-addon:last-child {
+ border-left: 0;
+}
+.input-group-btn {
+ position: relative;
+ font-size: 0;
+ white-space: nowrap;
+}
+.input-group-btn > .btn {
+ position: relative;
+}
+.input-group-btn > .btn + .btn {
+ margin-left: -1px;
+}
+.input-group-btn > .btn:hover,
+.input-group-btn > .btn:focus,
+.input-group-btn > .btn:active {
+ z-index: 2;
+}
+.input-group-btn:first-child > .btn,
+.input-group-btn:first-child > .btn-group {
+ margin-right: -1px;
+}
+.input-group-btn:last-child > .btn,
+.input-group-btn:last-child > .btn-group {
+ margin-left: -1px;
+}
+.nav {
+ padding-left: 0;
+ margin-bottom: 0;
+ list-style: none;
+}
+.nav > li {
+ position: relative;
+ display: block;
+}
+.nav > li > a {
+ position: relative;
+ display: block;
+ padding: 10px 15px;
+}
+.nav > li > a:hover,
+.nav > li > a:focus {
+ text-decoration: none;
+ background-color: #eee;
+}
+.nav > li.disabled > a {
+ color: #777;
+}
+.nav > li.disabled > a:hover,
+.nav > li.disabled > a:focus {
+ color: #777;
+ text-decoration: none;
+ cursor: not-allowed;
+ background-color: transparent;
+}
+.nav .open > a,
+.nav .open > a:hover,
+.nav .open > a:focus {
+ background-color: #eee;
+ border-color: #337ab7;
+}
+.nav .nav-divider {
+ height: 1px;
+ margin: 9px 0;
+ overflow: hidden;
+ background-color: #e5e5e5;
+}
+.nav > li > a > img {
+ max-width: none;
+}
+.nav-tabs {
+ border-bottom: 1px solid #ddd;
+}
+.nav-tabs > li {
+ float: left;
+ margin-bottom: -1px;
+}
+.nav-tabs > li > a {
+ margin-right: 2px;
+ line-height: 1.42857143;
+ border: 1px solid transparent;
+ border-radius: 4px 4px 0 0;
+}
+.nav-tabs > li > a:hover {
+ border-color: #eee #eee #ddd;
+}
+.nav-tabs > li.active > a,
+.nav-tabs > li.active > a:hover,
+.nav-tabs > li.active > a:focus {
+ color: #555;
+ cursor: default;
+ background-color: #fff;
+ border: 1px solid #ddd;
+ border-bottom-color: transparent;
+}
+.nav-tabs.nav-justified {
+ width: 100%;
+ border-bottom: 0;
+}
+.nav-tabs.nav-justified > li {
+ float: none;
+}
+.nav-tabs.nav-justified > li > a {
+ margin-bottom: 5px;
+ text-align: center;
+}
+.nav-tabs.nav-justified > .dropdown .dropdown-menu {
+ top: auto;
+ left: auto;
+}
+@media (min-width: 768px) {
+ .nav-tabs.nav-justified > li {
+ display: table-cell;
+ width: 1%;
+ }
+ .nav-tabs.nav-justified > li > a {
+ margin-bottom: 0;
+ }
+}
+.nav-tabs.nav-justified > li > a {
+ margin-right: 0;
+ border-radius: 4px;
+}
+.nav-tabs.nav-justified > .active > a,
+.nav-tabs.nav-justified > .active > a:hover,
+.nav-tabs.nav-justified > .active > a:focus {
+ border: 1px solid #ddd;
+}
+@media (min-width: 768px) {
+ .nav-tabs.nav-justified > li > a {
+ border-bottom: 1px solid #ddd;
+ border-radius: 4px 4px 0 0;
+ }
+ .nav-tabs.nav-justified > .active > a,
+ .nav-tabs.nav-justified > .active > a:hover,
+ .nav-tabs.nav-justified > .active > a:focus {
+ border-bottom-color: #fff;
+ }
+}
+.nav-pills > li {
+ float: left;
+}
+.nav-pills > li > a {
+ border-radius: 4px;
+}
+.nav-pills > li + li {
+ margin-left: 2px;
+}
+.nav-pills > li.active > a,
+.nav-pills > li.active > a:hover,
+.nav-pills > li.active > a:focus {
+ color: #fff;
+ background-color: #337ab7;
+}
+.nav-stacked > li {
+ float: none;
+}
+.nav-stacked > li + li {
+ margin-top: 2px;
+ margin-left: 0;
+}
+.nav-justified {
+ width: 100%;
+}
+.nav-justified > li {
+ float: none;
+}
+.nav-justified > li > a {
+ margin-bottom: 5px;
+ text-align: center;
+}
+.nav-justified > .dropdown .dropdown-menu {
+ top: auto;
+ left: auto;
+}
+@media (min-width: 768px) {
+ .nav-justified > li {
+ display: table-cell;
+ width: 1%;
+ }
+ .nav-justified > li > a {
+ margin-bottom: 0;
+ }
+}
+.nav-tabs-justified {
+ border-bottom: 0;
+}
+.nav-tabs-justified > li > a {
+ margin-right: 0;
+ border-radius: 4px;
+}
+.nav-tabs-justified > .active > a,
+.nav-tabs-justified > .active > a:hover,
+.nav-tabs-justified > .active > a:focus {
+ border: 1px solid #ddd;
+}
+@media (min-width: 768px) {
+ .nav-tabs-justified > li > a {
+ border-bottom: 1px solid #ddd;
+ border-radius: 4px 4px 0 0;
+ }
+ .nav-tabs-justified > .active > a,
+ .nav-tabs-justified > .active > a:hover,
+ .nav-tabs-justified > .active > a:focus {
+ border-bottom-color: #fff;
+ }
+}
+.tab-content > .tab-pane {
+ display: none;
+}
+.tab-content > .active {
+ display: block;
+}
+.nav-tabs .dropdown-menu {
+ margin-top: -1px;
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+}
+.navbar {
+ position: relative;
+ min-height: 50px;
+ margin-bottom: 20px;
+ border: 1px solid transparent;
+}
+@media (min-width: 768px) {
+ .navbar {
+ border-radius: 4px;
+ }
+}
+@media (min-width: 768px) {
+ .navbar-header {
+ float: left;
+ }
+}
+.navbar-collapse {
+ padding-right: 15px;
+ padding-left: 15px;
+ overflow-x: visible;
+ -webkit-overflow-scrolling: touch;
+ border-top: 1px solid transparent;
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
+}
+.navbar-collapse.in {
+ overflow-y: auto;
+}
+@media (min-width: 768px) {
+ .navbar-collapse {
+ width: auto;
+ border-top: 0;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+ }
+ .navbar-collapse.collapse {
+ display: block !important;
+ height: auto !important;
+ padding-bottom: 0;
+ overflow: visible !important;
+ }
+ .navbar-collapse.in {
+ overflow-y: visible;
+ }
+ .navbar-fixed-top .navbar-collapse,
+ .navbar-static-top .navbar-collapse,
+ .navbar-fixed-bottom .navbar-collapse {
+ padding-right: 0;
+ padding-left: 0;
+ }
+}
+.navbar-fixed-top .navbar-collapse,
+.navbar-fixed-bottom .navbar-collapse {
+ max-height: 340px;
+}
+@media (max-device-width: 480px) and (orientation: landscape) {
+ .navbar-fixed-top .navbar-collapse,
+ .navbar-fixed-bottom .navbar-collapse {
+ max-height: 200px;
+ }
+}
+.container > .navbar-header,
+.container-fluid > .navbar-header,
+.container > .navbar-collapse,
+.container-fluid > .navbar-collapse {
+ margin-right: -15px;
+ margin-left: -15px;
+}
+@media (min-width: 768px) {
+ .container > .navbar-header,
+ .container-fluid > .navbar-header,
+ .container > .navbar-collapse,
+ .container-fluid > .navbar-collapse {
+ margin-right: 0;
+ margin-left: 0;
+ }
+}
+.navbar-static-top {
+ z-index: 1000;
+ border-width: 0 0 1px;
+}
+@media (min-width: 768px) {
+ .navbar-static-top {
+ border-radius: 0;
+ }
+}
+.navbar-fixed-top,
+.navbar-fixed-bottom {
+ position: fixed;
+ right: 0;
+ left: 0;
+ z-index: 1030;
+}
+@media (min-width: 768px) {
+ .navbar-fixed-top,
+ .navbar-fixed-bottom {
+ border-radius: 0;
+ }
+}
+.navbar-fixed-top {
+ top: 0;
+ border-width: 0 0 1px;
+}
+.navbar-fixed-bottom {
+ bottom: 0;
+ margin-bottom: 0;
+ border-width: 1px 0 0;
+}
+.navbar-brand {
+ float: left;
+ height: 50px;
+ padding: 15px 15px;
+ font-size: 18px;
+ line-height: 20px;
+}
+.navbar-brand:hover,
+.navbar-brand:focus {
+ text-decoration: none;
+}
+.navbar-brand > img {
+ display: block;
+}
+@media (min-width: 768px) {
+ .navbar > .container .navbar-brand,
+ .navbar > .container-fluid .navbar-brand {
+ margin-left: -15px;
+ }
+}
+.navbar-toggle {
+ position: relative;
+ float: right;
+ padding: 9px 10px;
+ margin-top: 8px;
+ margin-right: 15px;
+ margin-bottom: 8px;
+ background-color: transparent;
+ background-image: none;
+ border: 1px solid transparent;
+ border-radius: 4px;
+}
+.navbar-toggle:focus {
+ outline: 0;
+}
+.navbar-toggle .icon-bar {
+ display: block;
+ width: 22px;
+ height: 2px;
+ border-radius: 1px;
+}
+.navbar-toggle .icon-bar + .icon-bar {
+ margin-top: 4px;
+}
+@media (min-width: 768px) {
+ .navbar-toggle {
+ display: none;
+ }
+}
+.navbar-nav {
+ margin: 7.5px -15px;
+}
+.navbar-nav > li > a {
+ padding-top: 10px;
+ padding-bottom: 10px;
+ line-height: 20px;
+}
+@media (max-width: 767px) {
+ .navbar-nav .open .dropdown-menu {
+ position: static;
+ float: none;
+ width: auto;
+ margin-top: 0;
+ background-color: transparent;
+ border: 0;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+ }
+ .navbar-nav .open .dropdown-menu > li > a,
+ .navbar-nav .open .dropdown-menu .dropdown-header {
+ padding: 5px 15px 5px 25px;
+ }
+ .navbar-nav .open .dropdown-menu > li > a {
+ line-height: 20px;
+ }
+ .navbar-nav .open .dropdown-menu > li > a:hover,
+ .navbar-nav .open .dropdown-menu > li > a:focus {
+ background-image: none;
+ }
+}
+@media (min-width: 768px) {
+ .navbar-nav {
+ float: left;
+ margin: 0;
+ }
+ .navbar-nav > li {
+ float: left;
+ }
+ .navbar-nav > li > a {
+ padding-top: 15px;
+ padding-bottom: 15px;
+ }
+}
+.navbar-form {
+ padding: 10px 15px;
+ margin-top: 8px;
+ margin-right: -15px;
+ margin-bottom: 8px;
+ margin-left: -15px;
+ border-top: 1px solid transparent;
+ border-bottom: 1px solid transparent;
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);
+}
+@media (min-width: 768px) {
+ .navbar-form .form-group {
+ display: inline-block;
+ margin-bottom: 0;
+ vertical-align: middle;
+ }
+ .navbar-form .form-control {
+ display: inline-block;
+ width: auto;
+ vertical-align: middle;
+ }
+ .navbar-form .form-control-static {
+ display: inline-block;
+ }
+ .navbar-form .input-group {
+ display: inline-table;
+ vertical-align: middle;
+ }
+ .navbar-form .input-group .input-group-addon,
+ .navbar-form .input-group .input-group-btn,
+ .navbar-form .input-group .form-control {
+ width: auto;
+ }
+ .navbar-form .input-group > .form-control {
+ width: 100%;
+ }
+ .navbar-form .control-label {
+ margin-bottom: 0;
+ vertical-align: middle;
+ }
+ .navbar-form .radio,
+ .navbar-form .checkbox {
+ display: inline-block;
+ margin-top: 0;
+ margin-bottom: 0;
+ vertical-align: middle;
+ }
+ .navbar-form .radio label,
+ .navbar-form .checkbox label {
+ padding-left: 0;
+ }
+ .navbar-form .radio input[type="radio"],
+ .navbar-form .checkbox input[type="checkbox"] {
+ position: relative;
+ margin-left: 0;
+ }
+ .navbar-form .has-feedback .form-control-feedback {
+ top: 0;
+ }
+}
+@media (max-width: 767px) {
+ .navbar-form .form-group {
+ margin-bottom: 5px;
+ }
+ .navbar-form .form-group:last-child {
+ margin-bottom: 0;
+ }
+}
+@media (min-width: 768px) {
+ .navbar-form {
+ width: auto;
+ padding-top: 0;
+ padding-bottom: 0;
+ margin-right: 0;
+ margin-left: 0;
+ border: 0;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+ }
+}
+.navbar-nav > li > .dropdown-menu {
+ margin-top: 0;
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+}
+.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
+ margin-bottom: 0;
+ border-top-left-radius: 4px;
+ border-top-right-radius: 4px;
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0;
+}
+.navbar-btn {
+ margin-top: 8px;
+ margin-bottom: 8px;
+}
+.navbar-btn.btn-sm {
+ margin-top: 10px;
+ margin-bottom: 10px;
+}
+.navbar-btn.btn-xs {
+ margin-top: 14px;
+ margin-bottom: 14px;
+}
+.navbar-text {
+ margin-top: 15px;
+ margin-bottom: 15px;
+}
+@media (min-width: 768px) {
+ .navbar-text {
+ float: left;
+ margin-right: 15px;
+ margin-left: 15px;
+ }
+}
+@media (min-width: 768px) {
+ .navbar-left {
+ float: left !important;
+ }
+ .navbar-right {
+ float: right !important;
+ margin-right: -15px;
+ }
+ .navbar-right ~ .navbar-right {
+ margin-right: 0;
+ }
+}
+.navbar-default {
+ background-color: #f8f8f8;
+ border-color: #e7e7e7;
+}
+.navbar-default .navbar-brand {
+ color: #777;
+}
+.navbar-default .navbar-brand:hover,
+.navbar-default .navbar-brand:focus {
+ color: #5e5e5e;
+ background-color: transparent;
+}
+.navbar-default .navbar-text {
+ color: #777;
+}
+.navbar-default .navbar-nav > li > a {
+ color: #777;
+}
+.navbar-default .navbar-nav > li > a:hover,
+.navbar-default .navbar-nav > li > a:focus {
+ color: #333;
+ background-color: transparent;
+}
+.navbar-default .navbar-nav > .active > a,
+.navbar-default .navbar-nav > .active > a:hover,
+.navbar-default .navbar-nav > .active > a:focus {
+ color: #555;
+ background-color: #e7e7e7;
+}
+.navbar-default .navbar-nav > .disabled > a,
+.navbar-default .navbar-nav > .disabled > a:hover,
+.navbar-default .navbar-nav > .disabled > a:focus {
+ color: #ccc;
+ background-color: transparent;
+}
+.navbar-default .navbar-toggle {
+ border-color: #ddd;
+}
+.navbar-default .navbar-toggle:hover,
+.navbar-default .navbar-toggle:focus {
+ background-color: #ddd;
+}
+.navbar-default .navbar-toggle .icon-bar {
+ background-color: #888;
+}
+.navbar-default .navbar-collapse,
+.navbar-default .navbar-form {
+ border-color: #e7e7e7;
+}
+.navbar-default .navbar-nav > .open > a,
+.navbar-default .navbar-nav > .open > a:hover,
+.navbar-default .navbar-nav > .open > a:focus {
+ color: #555;
+ background-color: #e7e7e7;
+}
+@media (max-width: 767px) {
+ .navbar-default .navbar-nav .open .dropdown-menu > li > a {
+ color: #777;
+ }
+ .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
+ .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
+ color: #333;
+ background-color: transparent;
+ }
+ .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
+ .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
+ .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
+ color: #555;
+ background-color: #e7e7e7;
+ }
+ .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
+ .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
+ .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
+ color: #ccc;
+ background-color: transparent;
+ }
+}
+.navbar-default .navbar-link {
+ color: #777;
+}
+.navbar-default .navbar-link:hover {
+ color: #333;
+}
+.navbar-default .btn-link {
+ color: #777;
+}
+.navbar-default .btn-link:hover,
+.navbar-default .btn-link:focus {
+ color: #333;
+}
+.navbar-default .btn-link[disabled]:hover,
+fieldset[disabled] .navbar-default .btn-link:hover,
+.navbar-default .btn-link[disabled]:focus,
+fieldset[disabled] .navbar-default .btn-link:focus {
+ color: #ccc;
+}
+.navbar-inverse {
+ background-color: #222;
+ border-color: #080808;
+}
+.navbar-inverse .navbar-brand {
+ color: #9d9d9d;
+}
+.navbar-inverse .navbar-brand:hover,
+.navbar-inverse .navbar-brand:focus {
+ color: #fff;
+ background-color: transparent;
+}
+.navbar-inverse .navbar-text {
+ color: #9d9d9d;
+}
+.navbar-inverse .navbar-nav > li > a {
+ color: #9d9d9d;
+}
+.navbar-inverse .navbar-nav > li > a:hover,
+.navbar-inverse .navbar-nav > li > a:focus {
+ color: #fff;
+ background-color: transparent;
+}
+.navbar-inverse .navbar-nav > .active > a,
+.navbar-inverse .navbar-nav > .active > a:hover,
+.navbar-inverse .navbar-nav > .active > a:focus {
+ color: #fff;
+ background-color: #080808;
+}
+.navbar-inverse .navbar-nav > .disabled > a,
+.navbar-inverse .navbar-nav > .disabled > a:hover,
+.navbar-inverse .navbar-nav > .disabled > a:focus {
+ color: #444;
+ background-color: transparent;
+}
+.navbar-inverse .navbar-toggle {
+ border-color: #333;
+}
+.navbar-inverse .navbar-toggle:hover,
+.navbar-inverse .navbar-toggle:focus {
+ background-color: #333;
+}
+.navbar-inverse .navbar-toggle .icon-bar {
+ background-color: #fff;
+}
+.navbar-inverse .navbar-collapse,
+.navbar-inverse .navbar-form {
+ border-color: #101010;
+}
+.navbar-inverse .navbar-nav > .open > a,
+.navbar-inverse .navbar-nav > .open > a:hover,
+.navbar-inverse .navbar-nav > .open > a:focus {
+ color: #fff;
+ background-color: #080808;
+}
+@media (max-width: 767px) {
+ .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
+ border-color: #080808;
+ }
+ .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
+ background-color: #080808;
+ }
+ .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
+ color: #9d9d9d;
+ }
+ .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
+ .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
+ color: #fff;
+ background-color: transparent;
+ }
+ .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
+ .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
+ .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
+ color: #fff;
+ background-color: #080808;
+ }
+ .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
+ .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
+ .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
+ color: #444;
+ background-color: transparent;
+ }
+}
+.navbar-inverse .navbar-link {
+ color: #9d9d9d;
+}
+.navbar-inverse .navbar-link:hover {
+ color: #fff;
+}
+.navbar-inverse .btn-link {
+ color: #9d9d9d;
+}
+.navbar-inverse .btn-link:hover,
+.navbar-inverse .btn-link:focus {
+ color: #fff;
+}
+.navbar-inverse .btn-link[disabled]:hover,
+fieldset[disabled] .navbar-inverse .btn-link:hover,
+.navbar-inverse .btn-link[disabled]:focus,
+fieldset[disabled] .navbar-inverse .btn-link:focus {
+ color: #444;
+}
+.breadcrumb {
+ padding: 8px 15px;
+ margin-bottom: 20px;
+ list-style: none;
+ background-color: #f5f5f5;
+ border-radius: 4px;
+}
+.breadcrumb > li {
+ display: inline-block;
+}
+.breadcrumb > li + li:before {
+ padding: 0 5px;
+ color: #ccc;
+ content: "/\00a0";
+}
+.breadcrumb > .active {
+ color: #777;
+}
+.pagination {
+ display: inline-block;
+ padding-left: 0;
+ margin: 20px 0;
+ border-radius: 4px;
+}
+.pagination > li {
+ display: inline;
+}
+.pagination > li > a,
+.pagination > li > span {
+ position: relative;
+ float: left;
+ padding: 6px 12px;
+ margin-left: -1px;
+ line-height: 1.42857143;
+ color: #337ab7;
+ text-decoration: none;
+ background-color: #fff;
+ border: 1px solid #ddd;
+}
+.pagination > li:first-child > a,
+.pagination > li:first-child > span {
+ margin-left: 0;
+ border-top-left-radius: 4px;
+ border-bottom-left-radius: 4px;
+}
+.pagination > li:last-child > a,
+.pagination > li:last-child > span {
+ border-top-right-radius: 4px;
+ border-bottom-right-radius: 4px;
+}
+.pagination > li > a:hover,
+.pagination > li > span:hover,
+.pagination > li > a:focus,
+.pagination > li > span:focus {
+ color: #23527c;
+ background-color: #eee;
+ border-color: #ddd;
+}
+.pagination > .active > a,
+.pagination > .active > span,
+.pagination > .active > a:hover,
+.pagination > .active > span:hover,
+.pagination > .active > a:focus,
+.pagination > .active > span:focus {
+ z-index: 2;
+ color: #fff;
+ cursor: default;
+ background-color: #337ab7;
+ border-color: #337ab7;
+}
+.pagination > .disabled > span,
+.pagination > .disabled > span:hover,
+.pagination > .disabled > span:focus,
+.pagination > .disabled > a,
+.pagination > .disabled > a:hover,
+.pagination > .disabled > a:focus {
+ color: #777;
+ cursor: not-allowed;
+ background-color: #fff;
+ border-color: #ddd;
+}
+.pagination-lg > li > a,
+.pagination-lg > li > span {
+ padding: 10px 16px;
+ font-size: 18px;
+}
+.pagination-lg > li:first-child > a,
+.pagination-lg > li:first-child > span {
+ border-top-left-radius: 6px;
+ border-bottom-left-radius: 6px;
+}
+.pagination-lg > li:last-child > a,
+.pagination-lg > li:last-child > span {
+ border-top-right-radius: 6px;
+ border-bottom-right-radius: 6px;
+}
+.pagination-sm > li > a,
+.pagination-sm > li > span {
+ padding: 5px 10px;
+ font-size: 12px;
+}
+.pagination-sm > li:first-child > a,
+.pagination-sm > li:first-child > span {
+ border-top-left-radius: 3px;
+ border-bottom-left-radius: 3px;
+}
+.pagination-sm > li:last-child > a,
+.pagination-sm > li:last-child > span {
+ border-top-right-radius: 3px;
+ border-bottom-right-radius: 3px;
+}
+.pager {
+ padding-left: 0;
+ margin: 20px 0;
+ text-align: center;
+ list-style: none;
+}
+.pager li {
+ display: inline;
+}
+.pager li > a,
+.pager li > span {
+ display: inline-block;
+ padding: 5px 14px;
+ background-color: #fff;
+ border: 1px solid #ddd;
+ border-radius: 15px;
+}
+.pager li > a:hover,
+.pager li > a:focus {
+ text-decoration: none;
+ background-color: #eee;
+}
+.pager .next > a,
+.pager .next > span {
+ float: right;
+}
+.pager .previous > a,
+.pager .previous > span {
+ float: left;
+}
+.pager .disabled > a,
+.pager .disabled > a:hover,
+.pager .disabled > a:focus,
+.pager .disabled > span {
+ color: #777;
+ cursor: not-allowed;
+ background-color: #fff;
+}
+.label {
+ display: inline;
+ padding: .2em .6em .3em;
+ font-size: 75%;
+ font-weight: bold;
+ line-height: 1;
+ color: #fff;
+ text-align: center;
+ white-space: nowrap;
+ vertical-align: baseline;
+ border-radius: .25em;
+}
+a.label:hover,
+a.label:focus {
+ color: #fff;
+ text-decoration: none;
+ cursor: pointer;
+}
+.label:empty {
+ display: none;
+}
+.btn .label {
+ position: relative;
+ top: -1px;
+}
+.label-default {
+ background-color: #777;
+}
+.label-default[href]:hover,
+.label-default[href]:focus {
+ background-color: #5e5e5e;
+}
+.label-primary {
+ background-color: #337ab7;
+}
+.label-primary[href]:hover,
+.label-primary[href]:focus {
+ background-color: #286090;
+}
+.label-success {
+ background-color: #5cb85c;
+}
+.label-success[href]:hover,
+.label-success[href]:focus {
+ background-color: #449d44;
+}
+.label-info {
+ background-color: #5bc0de;
+}
+.label-info[href]:hover,
+.label-info[href]:focus {
+ background-color: #31b0d5;
+}
+.label-warning {
+ background-color: #f0ad4e;
+}
+.label-warning[href]:hover,
+.label-warning[href]:focus {
+ background-color: #ec971f;
+}
+.label-danger {
+ background-color: #d9534f;
+}
+.label-danger[href]:hover,
+.label-danger[href]:focus {
+ background-color: #c9302c;
+}
+.badge {
+ display: inline-block;
+ min-width: 10px;
+ padding: 3px 7px;
+ font-size: 12px;
+ font-weight: bold;
+ line-height: 1;
+ color: #fff;
+ text-align: center;
+ white-space: nowrap;
+ vertical-align: baseline;
+ background-color: #777;
+ border-radius: 10px;
+}
+.badge:empty {
+ display: none;
+}
+.btn .badge {
+ position: relative;
+ top: -1px;
+}
+.btn-xs .badge,
+.btn-group-xs > .btn .badge {
+ top: 0;
+ padding: 1px 5px;
+}
+a.badge:hover,
+a.badge:focus {
+ color: #fff;
+ text-decoration: none;
+ cursor: pointer;
+}
+.list-group-item.active > .badge,
+.nav-pills > .active > a > .badge {
+ color: #337ab7;
+ background-color: #fff;
+}
+.list-group-item > .badge {
+ float: right;
+}
+.list-group-item > .badge + .badge {
+ margin-right: 5px;
+}
+.nav-pills > li > a > .badge {
+ margin-left: 3px;
+}
+.jumbotron {
+ padding: 30px 15px;
+ margin-bottom: 30px;
+ color: inherit;
+ background-color: #eee;
+}
+.jumbotron h1,
+.jumbotron .h1 {
+ color: inherit;
+}
+.jumbotron p {
+ margin-bottom: 15px;
+ font-size: 21px;
+ font-weight: 200;
+}
+.jumbotron > hr {
+ border-top-color: #d5d5d5;
+}
+.container .jumbotron,
+.container-fluid .jumbotron {
+ border-radius: 6px;
+}
+.jumbotron .container {
+ max-width: 100%;
+}
+@media screen and (min-width: 768px) {
+ .jumbotron {
+ padding: 48px 0;
+ }
+ .container .jumbotron,
+ .container-fluid .jumbotron {
+ padding-right: 60px;
+ padding-left: 60px;
+ }
+ .jumbotron h1,
+ .jumbotron .h1 {
+ font-size: 63px;
+ }
+}
+.thumbnail {
+ display: block;
+ padding: 4px;
+ margin-bottom: 20px;
+ line-height: 1.42857143;
+ background-color: #fff;
+ border: 1px solid #ddd;
+ border-radius: 4px;
+ -webkit-transition: border .2s ease-in-out;
+ -o-transition: border .2s ease-in-out;
+ transition: border .2s ease-in-out;
+}
+.thumbnail > img,
+.thumbnail a > img {
+ margin-right: auto;
+ margin-left: auto;
+}
+a.thumbnail:hover,
+a.thumbnail:focus,
+a.thumbnail.active {
+ border-color: #337ab7;
+}
+.thumbnail .caption {
+ padding: 9px;
+ color: #333;
+}
+.alert {
+ padding: 15px;
+ margin-bottom: 20px;
+ border: 1px solid transparent;
+ border-radius: 4px;
+}
+.alert h4 {
+ margin-top: 0;
+ color: inherit;
+}
+.alert .alert-link {
+ font-weight: bold;
+}
+.alert > p,
+.alert > ul {
+ margin-bottom: 0;
+}
+.alert > p + p {
+ margin-top: 5px;
+}
+.alert-dismissable,
+.alert-dismissible {
+ padding-right: 35px;
+}
+.alert-dismissable .close,
+.alert-dismissible .close {
+ position: relative;
+ top: -2px;
+ right: -21px;
+ color: inherit;
+}
+.alert-success {
+ color: #3c763d;
+ background-color: #dff0d8;
+ border-color: #d6e9c6;
+}
+.alert-success hr {
+ border-top-color: #c9e2b3;
+}
+.alert-success .alert-link {
+ color: #2b542c;
+}
+.alert-info {
+ color: #31708f;
+ background-color: #d9edf7;
+ border-color: #bce8f1;
+}
+.alert-info hr {
+ border-top-color: #a6e1ec;
+}
+.alert-info .alert-link {
+ color: #245269;
+}
+.alert-warning {
+ color: #8a6d3b;
+ background-color: #fcf8e3;
+ border-color: #faebcc;
+}
+.alert-warning hr {
+ border-top-color: #f7e1b5;
+}
+.alert-warning .alert-link {
+ color: #66512c;
+}
+.alert-danger {
+ color: #a94442;
+ background-color: #f2dede;
+ border-color: #ebccd1;
+}
+.alert-danger hr {
+ border-top-color: #e4b9c0;
+}
+.alert-danger .alert-link {
+ color: #843534;
+}
+@-webkit-keyframes progress-bar-stripes {
+ from {
+ background-position: 40px 0;
+ }
+ to {
+ background-position: 0 0;
+ }
+}
+@-o-keyframes progress-bar-stripes {
+ from {
+ background-position: 40px 0;
+ }
+ to {
+ background-position: 0 0;
+ }
+}
+@keyframes progress-bar-stripes {
+ from {
+ background-position: 40px 0;
+ }
+ to {
+ background-position: 0 0;
+ }
+}
+.progress {
+ height: 20px;
+ margin-bottom: 20px;
+ overflow: hidden;
+ background-color: #f5f5f5;
+ border-radius: 4px;
+ -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
+}
+.progress-bar {
+ float: left;
+ width: 0;
+ height: 100%;
+ font-size: 12px;
+ line-height: 20px;
+ color: #fff;
+ text-align: center;
+ background-color: #337ab7;
+ -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);
+ box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);
+ -webkit-transition: width .6s ease;
+ -o-transition: width .6s ease;
+ transition: width .6s ease;
+}
+.progress-striped .progress-bar,
+.progress-bar-striped {
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+ -webkit-background-size: 40px 40px;
+ background-size: 40px 40px;
+}
+.progress.active .progress-bar,
+.progress-bar.active {
+ -webkit-animation: progress-bar-stripes 2s linear infinite;
+ -o-animation: progress-bar-stripes 2s linear infinite;
+ animation: progress-bar-stripes 2s linear infinite;
+}
+.progress-bar-success {
+ background-color: #5cb85c;
+}
+.progress-striped .progress-bar-success {
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+}
+.progress-bar-info {
+ background-color: #5bc0de;
+}
+.progress-striped .progress-bar-info {
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+}
+.progress-bar-warning {
+ background-color: #f0ad4e;
+}
+.progress-striped .progress-bar-warning {
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+}
+.progress-bar-danger {
+ background-color: #d9534f;
+}
+.progress-striped .progress-bar-danger {
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+}
+.media {
+ margin-top: 15px;
+}
+.media:first-child {
+ margin-top: 0;
+}
+.media,
+.media-body {
+ overflow: hidden;
+ zoom: 1;
+}
+.media-body {
+ width: 10000px;
+}
+.media-object {
+ display: block;
+}
+.media-right,
+.media > .pull-right {
+ padding-left: 10px;
+}
+.media-left,
+.media > .pull-left {
+ padding-right: 10px;
+}
+.media-left,
+.media-right,
+.media-body {
+ display: table-cell;
+ vertical-align: top;
+}
+.media-middle {
+ vertical-align: middle;
+}
+.media-bottom {
+ vertical-align: bottom;
+}
+.media-heading {
+ margin-top: 0;
+ margin-bottom: 5px;
+}
+.media-list {
+ padding-left: 0;
+ list-style: none;
+}
+.list-group {
+ padding-left: 0;
+ margin-bottom: 20px;
+}
+.list-group-item {
+ position: relative;
+ display: block;
+ padding: 10px 15px;
+ margin-bottom: -1px;
+ background-color: #fff;
+ border: 1px solid #ddd;
+}
+.list-group-item:first-child {
+ border-top-left-radius: 4px;
+ border-top-right-radius: 4px;
+}
+.list-group-item:last-child {
+ margin-bottom: 0;
+ border-bottom-right-radius: 4px;
+ border-bottom-left-radius: 4px;
+}
+a.list-group-item {
+ color: #555;
+}
+a.list-group-item .list-group-item-heading {
+ color: #333;
+}
+a.list-group-item:hover,
+a.list-group-item:focus {
+ color: #555;
+ text-decoration: none;
+ background-color: #f5f5f5;
+}
+.list-group-item.disabled,
+.list-group-item.disabled:hover,
+.list-group-item.disabled:focus {
+ color: #777;
+ cursor: not-allowed;
+ background-color: #eee;
+}
+.list-group-item.disabled .list-group-item-heading,
+.list-group-item.disabled:hover .list-group-item-heading,
+.list-group-item.disabled:focus .list-group-item-heading {
+ color: inherit;
+}
+.list-group-item.disabled .list-group-item-text,
+.list-group-item.disabled:hover .list-group-item-text,
+.list-group-item.disabled:focus .list-group-item-text {
+ color: #777;
+}
+.list-group-item.active,
+.list-group-item.active:hover,
+.list-group-item.active:focus {
+ z-index: 2;
+ color: #fff;
+ background-color: #337ab7;
+ border-color: #337ab7;
+}
+.list-group-item.active .list-group-item-heading,
+.list-group-item.active:hover .list-group-item-heading,
+.list-group-item.active:focus .list-group-item-heading,
+.list-group-item.active .list-group-item-heading > small,
+.list-group-item.active:hover .list-group-item-heading > small,
+.list-group-item.active:focus .list-group-item-heading > small,
+.list-group-item.active .list-group-item-heading > .small,
+.list-group-item.active:hover .list-group-item-heading > .small,
+.list-group-item.active:focus .list-group-item-heading > .small {
+ color: inherit;
+}
+.list-group-item.active .list-group-item-text,
+.list-group-item.active:hover .list-group-item-text,
+.list-group-item.active:focus .list-group-item-text {
+ color: #c7ddef;
+}
+.list-group-item-success {
+ color: #3c763d;
+ background-color: #dff0d8;
+}
+a.list-group-item-success {
+ color: #3c763d;
+}
+a.list-group-item-success .list-group-item-heading {
+ color: inherit;
+}
+a.list-group-item-success:hover,
+a.list-group-item-success:focus {
+ color: #3c763d;
+ background-color: #d0e9c6;
+}
+a.list-group-item-success.active,
+a.list-group-item-success.active:hover,
+a.list-group-item-success.active:focus {
+ color: #fff;
+ background-color: #3c763d;
+ border-color: #3c763d;
+}
+.list-group-item-info {
+ color: #31708f;
+ background-color: #d9edf7;
+}
+a.list-group-item-info {
+ color: #31708f;
+}
+a.list-group-item-info .list-group-item-heading {
+ color: inherit;
+}
+a.list-group-item-info:hover,
+a.list-group-item-info:focus {
+ color: #31708f;
+ background-color: #c4e3f3;
+}
+a.list-group-item-info.active,
+a.list-group-item-info.active:hover,
+a.list-group-item-info.active:focus {
+ color: #fff;
+ background-color: #31708f;
+ border-color: #31708f;
+}
+.list-group-item-warning {
+ color: #8a6d3b;
+ background-color: #fcf8e3;
+}
+a.list-group-item-warning {
+ color: #8a6d3b;
+}
+a.list-group-item-warning .list-group-item-heading {
+ color: inherit;
+}
+a.list-group-item-warning:hover,
+a.list-group-item-warning:focus {
+ color: #8a6d3b;
+ background-color: #faf2cc;
+}
+a.list-group-item-warning.active,
+a.list-group-item-warning.active:hover,
+a.list-group-item-warning.active:focus {
+ color: #fff;
+ background-color: #8a6d3b;
+ border-color: #8a6d3b;
+}
+.list-group-item-danger {
+ color: #a94442;
+ background-color: #f2dede;
+}
+a.list-group-item-danger {
+ color: #a94442;
+}
+a.list-group-item-danger .list-group-item-heading {
+ color: inherit;
+}
+a.list-group-item-danger:hover,
+a.list-group-item-danger:focus {
+ color: #a94442;
+ background-color: #ebcccc;
+}
+a.list-group-item-danger.active,
+a.list-group-item-danger.active:hover,
+a.list-group-item-danger.active:focus {
+ color: #fff;
+ background-color: #a94442;
+ border-color: #a94442;
+}
+.list-group-item-heading {
+ margin-top: 0;
+ margin-bottom: 5px;
+}
+.list-group-item-text {
+ margin-bottom: 0;
+ line-height: 1.3;
+}
+.panel {
+ margin-bottom: 20px;
+ background-color: #fff;
+ border: 1px solid transparent;
+ border-radius: 4px;
+ -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
+ box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
+}
+.panel-body {
+ padding: 15px;
+}
+.panel-heading {
+ padding: 10px 15px;
+ border-bottom: 1px solid transparent;
+ border-top-left-radius: 3px;
+ border-top-right-radius: 3px;
+}
+.panel-heading > .dropdown .dropdown-toggle {
+ color: inherit;
+}
+.panel-title {
+ margin-top: 0;
+ margin-bottom: 0;
+ font-size: 16px;
+ color: inherit;
+}
+.panel-title > a,
+.panel-title > small,
+.panel-title > .small,
+.panel-title > small > a,
+.panel-title > .small > a {
+ color: inherit;
+}
+.panel-footer {
+ padding: 10px 15px;
+ background-color: #f5f5f5;
+ border-top: 1px solid #ddd;
+ border-bottom-right-radius: 3px;
+ border-bottom-left-radius: 3px;
+}
+.panel > .list-group,
+.panel > .panel-collapse > .list-group {
+ margin-bottom: 0;
+}
+.panel > .list-group .list-group-item,
+.panel > .panel-collapse > .list-group .list-group-item {
+ border-width: 1px 0;
+ border-radius: 0;
+}
+.panel > .list-group:first-child .list-group-item:first-child,
+.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
+ border-top: 0;
+ border-top-left-radius: 3px;
+ border-top-right-radius: 3px;
+}
+.panel > .list-group:last-child .list-group-item:last-child,
+.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
+ border-bottom: 0;
+ border-bottom-right-radius: 3px;
+ border-bottom-left-radius: 3px;
+}
+.panel-heading + .list-group .list-group-item:first-child {
+ border-top-width: 0;
+}
+.list-group + .panel-footer {
+ border-top-width: 0;
+}
+.panel > .table,
+.panel > .table-responsive > .table,
+.panel > .panel-collapse > .table {
+ margin-bottom: 0;
+}
+.panel > .table caption,
+.panel > .table-responsive > .table caption,
+.panel > .panel-collapse > .table caption {
+ padding-right: 15px;
+ padding-left: 15px;
+}
+.panel > .table:first-child,
+.panel > .table-responsive:first-child > .table:first-child {
+ border-top-left-radius: 3px;
+ border-top-right-radius: 3px;
+}
+.panel > .table:first-child > thead:first-child > tr:first-child,
+.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
+.panel > .table:first-child > tbody:first-child > tr:first-child,
+.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
+ border-top-left-radius: 3px;
+ border-top-right-radius: 3px;
+}
+.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
+.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
+.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
+.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
+.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
+.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
+.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
+.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
+ border-top-left-radius: 3px;
+}
+.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
+.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
+.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
+.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
+.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
+.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
+.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
+.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
+ border-top-right-radius: 3px;
+}
+.panel > .table:last-child,
+.panel > .table-responsive:last-child > .table:last-child {
+ border-bottom-right-radius: 3px;
+ border-bottom-left-radius: 3px;
+}
+.panel > .table:last-child > tbody:last-child > tr:last-child,
+.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
+.panel > .table:last-child > tfoot:last-child > tr:last-child,
+.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
+ border-bottom-right-radius: 3px;
+ border-bottom-left-radius: 3px;
+}
+.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
+.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
+.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
+.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
+.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
+.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
+.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
+.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
+ border-bottom-left-radius: 3px;
+}
+.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
+.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
+.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
+.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
+.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
+.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
+.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
+.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
+ border-bottom-right-radius: 3px;
+}
+.panel > .panel-body + .table,
+.panel > .panel-body + .table-responsive,
+.panel > .table + .panel-body,
+.panel > .table-responsive + .panel-body {
+ border-top: 1px solid #ddd;
+}
+.panel > .table > tbody:first-child > tr:first-child th,
+.panel > .table > tbody:first-child > tr:first-child td {
+ border-top: 0;
+}
+.panel > .table-bordered,
+.panel > .table-responsive > .table-bordered {
+ border: 0;
+}
+.panel > .table-bordered > thead > tr > th:first-child,
+.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
+.panel > .table-bordered > tbody > tr > th:first-child,
+.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
+.panel > .table-bordered > tfoot > tr > th:first-child,
+.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
+.panel > .table-bordered > thead > tr > td:first-child,
+.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
+.panel > .table-bordered > tbody > tr > td:first-child,
+.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
+.panel > .table-bordered > tfoot > tr > td:first-child,
+.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
+ border-left: 0;
+}
+.panel > .table-bordered > thead > tr > th:last-child,
+.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
+.panel > .table-bordered > tbody > tr > th:last-child,
+.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
+.panel > .table-bordered > tfoot > tr > th:last-child,
+.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
+.panel > .table-bordered > thead > tr > td:last-child,
+.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
+.panel > .table-bordered > tbody > tr > td:last-child,
+.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
+.panel > .table-bordered > tfoot > tr > td:last-child,
+.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
+ border-right: 0;
+}
+.panel > .table-bordered > thead > tr:first-child > td,
+.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
+.panel > .table-bordered > tbody > tr:first-child > td,
+.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
+.panel > .table-bordered > thead > tr:first-child > th,
+.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
+.panel > .table-bordered > tbody > tr:first-child > th,
+.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
+ border-bottom: 0;
+}
+.panel > .table-bordered > tbody > tr:last-child > td,
+.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
+.panel > .table-bordered > tfoot > tr:last-child > td,
+.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
+.panel > .table-bordered > tbody > tr:last-child > th,
+.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
+.panel > .table-bordered > tfoot > tr:last-child > th,
+.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
+ border-bottom: 0;
+}
+.panel > .table-responsive {
+ margin-bottom: 0;
+ border: 0;
+}
+.panel-group {
+ margin-bottom: 20px;
+}
+.panel-group .panel {
+ margin-bottom: 0;
+ border-radius: 4px;
+}
+.panel-group .panel + .panel {
+ margin-top: 5px;
+}
+.panel-group .panel-heading {
+ border-bottom: 0;
+}
+.panel-group .panel-heading + .panel-collapse > .panel-body,
+.panel-group .panel-heading + .panel-collapse > .list-group {
+ border-top: 1px solid #ddd;
+}
+.panel-group .panel-footer {
+ border-top: 0;
+}
+.panel-group .panel-footer + .panel-collapse .panel-body {
+ border-bottom: 1px solid #ddd;
+}
+.panel-default {
+ border-color: #ddd;
+}
+.panel-default > .panel-heading {
+ color: #333;
+ background-color: #f5f5f5;
+ border-color: #ddd;
+}
+.panel-default > .panel-heading + .panel-collapse > .panel-body {
+ border-top-color: #ddd;
+}
+.panel-default > .panel-heading .badge {
+ color: #f5f5f5;
+ background-color: #333;
+}
+.panel-default > .panel-footer + .panel-collapse > .panel-body {
+ border-bottom-color: #ddd;
+}
+.panel-primary {
+ border-color: #337ab7;
+}
+.panel-primary > .panel-heading {
+ color: #fff;
+ background-color: #337ab7;
+ border-color: #337ab7;
+}
+.panel-primary > .panel-heading + .panel-collapse > .panel-body {
+ border-top-color: #337ab7;
+}
+.panel-primary > .panel-heading .badge {
+ color: #337ab7;
+ background-color: #fff;
+}
+.panel-primary > .panel-footer + .panel-collapse > .panel-body {
+ border-bottom-color: #337ab7;
+}
+.panel-success {
+ border-color: #d6e9c6;
+}
+.panel-success > .panel-heading {
+ color: #3c763d;
+ background-color: #dff0d8;
+ border-color: #d6e9c6;
+}
+.panel-success > .panel-heading + .panel-collapse > .panel-body {
+ border-top-color: #d6e9c6;
+}
+.panel-success > .panel-heading .badge {
+ color: #dff0d8;
+ background-color: #3c763d;
+}
+.panel-success > .panel-footer + .panel-collapse > .panel-body {
+ border-bottom-color: #d6e9c6;
+}
+.panel-info {
+ border-color: #bce8f1;
+}
+.panel-info > .panel-heading {
+ color: #31708f;
+ background-color: #d9edf7;
+ border-color: #bce8f1;
+}
+.panel-info > .panel-heading + .panel-collapse > .panel-body {
+ border-top-color: #bce8f1;
+}
+.panel-info > .panel-heading .badge {
+ color: #d9edf7;
+ background-color: #31708f;
+}
+.panel-info > .panel-footer + .panel-collapse > .panel-body {
+ border-bottom-color: #bce8f1;
+}
+.panel-warning {
+ border-color: #faebcc;
+}
+.panel-warning > .panel-heading {
+ color: #8a6d3b;
+ background-color: #fcf8e3;
+ border-color: #faebcc;
+}
+.panel-warning > .panel-heading + .panel-collapse > .panel-body {
+ border-top-color: #faebcc;
+}
+.panel-warning > .panel-heading .badge {
+ color: #fcf8e3;
+ background-color: #8a6d3b;
+}
+.panel-warning > .panel-footer + .panel-collapse > .panel-body {
+ border-bottom-color: #faebcc;
+}
+.panel-danger {
+ border-color: #ebccd1;
+}
+.panel-danger > .panel-heading {
+ color: #a94442;
+ background-color: #f2dede;
+ border-color: #ebccd1;
+}
+.panel-danger > .panel-heading + .panel-collapse > .panel-body {
+ border-top-color: #ebccd1;
+}
+.panel-danger > .panel-heading .badge {
+ color: #f2dede;
+ background-color: #a94442;
+}
+.panel-danger > .panel-footer + .panel-collapse > .panel-body {
+ border-bottom-color: #ebccd1;
+}
+.embed-responsive {
+ position: relative;
+ display: block;
+ height: 0;
+ padding: 0;
+ overflow: hidden;
+}
+.embed-responsive .embed-responsive-item,
+.embed-responsive iframe,
+.embed-responsive embed,
+.embed-responsive object,
+.embed-responsive video {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ border: 0;
+}
+.embed-responsive-16by9 {
+ padding-bottom: 56.25%;
+}
+.embed-responsive-4by3 {
+ padding-bottom: 75%;
+}
+.well {
+ min-height: 20px;
+ padding: 19px;
+ margin-bottom: 20px;
+ background-color: #f5f5f5;
+ border: 1px solid #e3e3e3;
+ border-radius: 4px;
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);
+}
+.well blockquote {
+ border-color: #ddd;
+ border-color: rgba(0, 0, 0, .15);
+}
+.well-lg {
+ padding: 24px;
+ border-radius: 6px;
+}
+.well-sm {
+ padding: 9px;
+ border-radius: 3px;
+}
+.close {
+ float: right;
+ font-size: 21px;
+ font-weight: bold;
+ line-height: 1;
+ color: #000;
+ text-shadow: 0 1px 0 #fff;
+ filter: alpha(opacity=20);
+ opacity: .2;
+}
+.close:hover,
+.close:focus {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+ filter: alpha(opacity=50);
+ opacity: .5;
+}
+button.close {
+ -webkit-appearance: none;
+ padding: 0;
+ cursor: pointer;
+ background: transparent;
+ border: 0;
+}
+.modal-open {
+ overflow: hidden;
+}
+.modal {
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1050;
+ display: none;
+ overflow: hidden;
+ -webkit-overflow-scrolling: touch;
+ outline: 0;
+}
+.modal.fade .modal-dialog {
+ -webkit-transition: -webkit-transform .3s ease-out;
+ -o-transition: -o-transform .3s ease-out;
+ transition: transform .3s ease-out;
+ -webkit-transform: translate(0, -25%);
+ -ms-transform: translate(0, -25%);
+ -o-transform: translate(0, -25%);
+ transform: translate(0, -25%);
+}
+.modal.in .modal-dialog {
+ -webkit-transform: translate(0, 0);
+ -ms-transform: translate(0, 0);
+ -o-transform: translate(0, 0);
+ transform: translate(0, 0);
+}
+.modal-open .modal {
+ overflow-x: hidden;
+ overflow-y: auto;
+}
+.modal-dialog {
+ position: relative;
+ width: auto;
+ margin: 10px;
+}
+.modal-content {
+ position: relative;
+ background-color: #fff;
+ -webkit-background-clip: padding-box;
+ background-clip: padding-box;
+ border: 1px solid #999;
+ border: 1px solid rgba(0, 0, 0, .2);
+ border-radius: 6px;
+ outline: 0;
+ -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
+ box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
+}
+.modal-backdrop {
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1040;
+ background-color: #000;
+}
+.modal-backdrop.fade {
+ filter: alpha(opacity=0);
+ opacity: 0;
+}
+.modal-backdrop.in {
+ filter: alpha(opacity=50);
+ opacity: .5;
+}
+.modal-header {
+ min-height: 16.42857143px;
+ padding: 15px;
+ border-bottom: 1px solid #e5e5e5;
+}
+.modal-header .close {
+ margin-top: -2px;
+}
+.modal-title {
+ margin: 0;
+ line-height: 1.42857143;
+}
+.modal-body {
+ position: relative;
+ padding: 15px;
+}
+.modal-footer {
+ padding: 15px;
+ text-align: right;
+ border-top: 1px solid #e5e5e5;
+}
+.modal-footer .btn + .btn {
+ margin-bottom: 0;
+ margin-left: 5px;
+}
+.modal-footer .btn-group .btn + .btn {
+ margin-left: -1px;
+}
+.modal-footer .btn-block + .btn-block {
+ margin-left: 0;
+}
+.modal-scrollbar-measure {
+ position: absolute;
+ top: -9999px;
+ width: 50px;
+ height: 50px;
+ overflow: scroll;
+}
+@media (min-width: 768px) {
+ .modal-dialog {
+ width: 600px;
+ margin: 30px auto;
+ }
+ .modal-content {
+ -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5);
+ box-shadow: 0 5px 15px rgba(0, 0, 0, .5);
+ }
+ .modal-sm {
+ width: 300px;
+ }
+}
+@media (min-width: 992px) {
+ .modal-lg {
+ width: 900px;
+ }
+}
+.tooltip {
+ position: absolute;
+ z-index: 1070;
+ display: block;
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-size: 12px;
+ font-weight: normal;
+ line-height: 1.4;
+ filter: alpha(opacity=0);
+ opacity: 0;
+}
+.tooltip.in {
+ filter: alpha(opacity=90);
+ opacity: .9;
+}
+.tooltip.top {
+ padding: 5px 0;
+ margin-top: -3px;
+}
+.tooltip.right {
+ padding: 0 5px;
+ margin-left: 3px;
+}
+.tooltip.bottom {
+ padding: 5px 0;
+ margin-top: 3px;
+}
+.tooltip.left {
+ padding: 0 5px;
+ margin-left: -3px;
+}
+.tooltip-inner {
+ max-width: 200px;
+ padding: 3px 8px;
+ color: #fff;
+ text-align: center;
+ text-decoration: none;
+ background-color: #000;
+ border-radius: 4px;
+}
+.tooltip-arrow {
+ position: absolute;
+ width: 0;
+ height: 0;
+ border-color: transparent;
+ border-style: solid;
+}
+.tooltip.top .tooltip-arrow {
+ bottom: 0;
+ left: 50%;
+ margin-left: -5px;
+ border-width: 5px 5px 0;
+ border-top-color: #000;
+}
+.tooltip.top-left .tooltip-arrow {
+ right: 5px;
+ bottom: 0;
+ margin-bottom: -5px;
+ border-width: 5px 5px 0;
+ border-top-color: #000;
+}
+.tooltip.top-right .tooltip-arrow {
+ bottom: 0;
+ left: 5px;
+ margin-bottom: -5px;
+ border-width: 5px 5px 0;
+ border-top-color: #000;
+}
+.tooltip.right .tooltip-arrow {
+ top: 50%;
+ left: 0;
+ margin-top: -5px;
+ border-width: 5px 5px 5px 0;
+ border-right-color: #000;
+}
+.tooltip.left .tooltip-arrow {
+ top: 50%;
+ right: 0;
+ margin-top: -5px;
+ border-width: 5px 0 5px 5px;
+ border-left-color: #000;
+}
+.tooltip.bottom .tooltip-arrow {
+ top: 0;
+ left: 50%;
+ margin-left: -5px;
+ border-width: 0 5px 5px;
+ border-bottom-color: #000;
+}
+.tooltip.bottom-left .tooltip-arrow {
+ top: 0;
+ right: 5px;
+ margin-top: -5px;
+ border-width: 0 5px 5px;
+ border-bottom-color: #000;
+}
+.tooltip.bottom-right .tooltip-arrow {
+ top: 0;
+ left: 5px;
+ margin-top: -5px;
+ border-width: 0 5px 5px;
+ border-bottom-color: #000;
+}
+.popover {
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: 1060;
+ display: none;
+ max-width: 276px;
+ padding: 1px;
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-size: 14px;
+ font-weight: normal;
+ line-height: 1.42857143;
+ text-align: left;
+ white-space: normal;
+ background-color: #fff;
+ -webkit-background-clip: padding-box;
+ background-clip: padding-box;
+ border: 1px solid #ccc;
+ border: 1px solid rgba(0, 0, 0, .2);
+ border-radius: 6px;
+ -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
+ box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
+}
+.popover.top {
+ margin-top: -10px;
+}
+.popover.right {
+ margin-left: 10px;
+}
+.popover.bottom {
+ margin-top: 10px;
+}
+.popover.left {
+ margin-left: -10px;
+}
+.popover-title {
+ padding: 8px 14px;
+ margin: 0;
+ font-size: 14px;
+ background-color: #f7f7f7;
+ border-bottom: 1px solid #ebebeb;
+ border-radius: 5px 5px 0 0;
+}
+.popover-content {
+ padding: 9px 14px;
+}
+.popover > .arrow,
+.popover > .arrow:after {
+ position: absolute;
+ display: block;
+ width: 0;
+ height: 0;
+ border-color: transparent;
+ border-style: solid;
+}
+.popover > .arrow {
+ border-width: 11px;
+}
+.popover > .arrow:after {
+ content: "";
+ border-width: 10px;
+}
+.popover.top > .arrow {
+ bottom: -11px;
+ left: 50%;
+ margin-left: -11px;
+ border-top-color: #999;
+ border-top-color: rgba(0, 0, 0, .25);
+ border-bottom-width: 0;
+}
+.popover.top > .arrow:after {
+ bottom: 1px;
+ margin-left: -10px;
+ content: " ";
+ border-top-color: #fff;
+ border-bottom-width: 0;
+}
+.popover.right > .arrow {
+ top: 50%;
+ left: -11px;
+ margin-top: -11px;
+ border-right-color: #999;
+ border-right-color: rgba(0, 0, 0, .25);
+ border-left-width: 0;
+}
+.popover.right > .arrow:after {
+ bottom: -10px;
+ left: 1px;
+ content: " ";
+ border-right-color: #fff;
+ border-left-width: 0;
+}
+.popover.bottom > .arrow {
+ top: -11px;
+ left: 50%;
+ margin-left: -11px;
+ border-top-width: 0;
+ border-bottom-color: #999;
+ border-bottom-color: rgba(0, 0, 0, .25);
+}
+.popover.bottom > .arrow:after {
+ top: 1px;
+ margin-left: -10px;
+ content: " ";
+ border-top-width: 0;
+ border-bottom-color: #fff;
+}
+.popover.left > .arrow {
+ top: 50%;
+ right: -11px;
+ margin-top: -11px;
+ border-right-width: 0;
+ border-left-color: #999;
+ border-left-color: rgba(0, 0, 0, .25);
+}
+.popover.left > .arrow:after {
+ right: 1px;
+ bottom: -10px;
+ content: " ";
+ border-right-width: 0;
+ border-left-color: #fff;
+}
+.carousel {
+ position: relative;
+}
+.carousel-inner {
+ position: relative;
+ width: 100%;
+ overflow: hidden;
+}
+.carousel-inner > .item {
+ position: relative;
+ display: none;
+ -webkit-transition: .6s ease-in-out left;
+ -o-transition: .6s ease-in-out left;
+ transition: .6s ease-in-out left;
+}
+.carousel-inner > .item > img,
+.carousel-inner > .item > a > img {
+ line-height: 1;
+}
+@media all and (transform-3d), (-webkit-transform-3d) {
+ .carousel-inner > .item {
+ -webkit-transition: -webkit-transform .6s ease-in-out;
+ -o-transition: -o-transform .6s ease-in-out;
+ transition: transform .6s ease-in-out;
+
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden;
+ -webkit-perspective: 1000;
+ perspective: 1000;
+ }
+ .carousel-inner > .item.next,
+ .carousel-inner > .item.active.right {
+ left: 0;
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0);
+ }
+ .carousel-inner > .item.prev,
+ .carousel-inner > .item.active.left {
+ left: 0;
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0);
+ }
+ .carousel-inner > .item.next.left,
+ .carousel-inner > .item.prev.right,
+ .carousel-inner > .item.active {
+ left: 0;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+.carousel-inner > .active,
+.carousel-inner > .next,
+.carousel-inner > .prev {
+ display: block;
+}
+.carousel-inner > .active {
+ left: 0;
+}
+.carousel-inner > .next,
+.carousel-inner > .prev {
+ position: absolute;
+ top: 0;
+ width: 100%;
+}
+.carousel-inner > .next {
+ left: 100%;
+}
+.carousel-inner > .prev {
+ left: -100%;
+}
+.carousel-inner > .next.left,
+.carousel-inner > .prev.right {
+ left: 0;
+}
+.carousel-inner > .active.left {
+ left: -100%;
+}
+.carousel-inner > .active.right {
+ left: 100%;
+}
+.carousel-control {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ width: 15%;
+ font-size: 20px;
+ color: #fff;
+ text-align: center;
+ text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
+ filter: alpha(opacity=50);
+ opacity: .5;
+}
+.carousel-control.left {
+ background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
+ background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
+ background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001)));
+ background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
+ background-repeat: repeat-x;
+}
+.carousel-control.right {
+ right: 0;
+ left: auto;
+ background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
+ background-image: -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
+ background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5)));
+ background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
+ background-repeat: repeat-x;
+}
+.carousel-control:hover,
+.carousel-control:focus {
+ color: #fff;
+ text-decoration: none;
+ filter: alpha(opacity=90);
+ outline: 0;
+ opacity: .9;
+}
+.carousel-control .icon-prev,
+.carousel-control .icon-next,
+.carousel-control .glyphicon-chevron-left,
+.carousel-control .glyphicon-chevron-right {
+ position: absolute;
+ top: 50%;
+ z-index: 5;
+ display: inline-block;
+}
+.carousel-control .icon-prev,
+.carousel-control .glyphicon-chevron-left {
+ left: 50%;
+ margin-left: -10px;
+}
+.carousel-control .icon-next,
+.carousel-control .glyphicon-chevron-right {
+ right: 50%;
+ margin-right: -10px;
+}
+.carousel-control .icon-prev,
+.carousel-control .icon-next {
+ width: 20px;
+ height: 20px;
+ margin-top: -10px;
+ font-family: serif;
+ line-height: 1;
+}
+.carousel-control .icon-prev:before {
+ content: '\2039';
+}
+.carousel-control .icon-next:before {
+ content: '\203a';
+}
+.carousel-indicators {
+ position: absolute;
+ bottom: 10px;
+ left: 50%;
+ z-index: 15;
+ width: 60%;
+ padding-left: 0;
+ margin-left: -30%;
+ text-align: center;
+ list-style: none;
+}
+.carousel-indicators li {
+ display: inline-block;
+ width: 10px;
+ height: 10px;
+ margin: 1px;
+ text-indent: -999px;
+ cursor: pointer;
+ background-color: #000 \9;
+ background-color: rgba(0, 0, 0, 0);
+ border: 1px solid #fff;
+ border-radius: 10px;
+}
+.carousel-indicators .active {
+ width: 12px;
+ height: 12px;
+ margin: 0;
+ background-color: #fff;
+}
+.carousel-caption {
+ position: absolute;
+ right: 15%;
+ bottom: 20px;
+ left: 15%;
+ z-index: 10;
+ padding-top: 20px;
+ padding-bottom: 20px;
+ color: #fff;
+ text-align: center;
+ text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
+}
+.carousel-caption .btn {
+ text-shadow: none;
+}
+@media screen and (min-width: 768px) {
+ .carousel-control .glyphicon-chevron-left,
+ .carousel-control .glyphicon-chevron-right,
+ .carousel-control .icon-prev,
+ .carousel-control .icon-next {
+ width: 30px;
+ height: 30px;
+ margin-top: -15px;
+ font-size: 30px;
+ }
+ .carousel-control .glyphicon-chevron-left,
+ .carousel-control .icon-prev {
+ margin-left: -15px;
+ }
+ .carousel-control .glyphicon-chevron-right,
+ .carousel-control .icon-next {
+ margin-right: -15px;
+ }
+ .carousel-caption {
+ right: 20%;
+ left: 20%;
+ padding-bottom: 30px;
+ }
+ .carousel-indicators {
+ bottom: 20px;
+ }
+}
+.clearfix:before,
+.clearfix:after,
+.dl-horizontal dd:before,
+.dl-horizontal dd:after,
+.container:before,
+.container:after,
+.container-fluid:before,
+.container-fluid:after,
+.row:before,
+.row:after,
+.form-horizontal .form-group:before,
+.form-horizontal .form-group:after,
+.btn-toolbar:before,
+.btn-toolbar:after,
+.btn-group-vertical > .btn-group:before,
+.btn-group-vertical > .btn-group:after,
+.nav:before,
+.nav:after,
+.navbar:before,
+.navbar:after,
+.navbar-header:before,
+.navbar-header:after,
+.navbar-collapse:before,
+.navbar-collapse:after,
+.pager:before,
+.pager:after,
+.panel-body:before,
+.panel-body:after,
+.modal-footer:before,
+.modal-footer:after {
+ display: table;
+ content: " ";
+}
+.clearfix:after,
+.dl-horizontal dd:after,
+.container:after,
+.container-fluid:after,
+.row:after,
+.form-horizontal .form-group:after,
+.btn-toolbar:after,
+.btn-group-vertical > .btn-group:after,
+.nav:after,
+.navbar:after,
+.navbar-header:after,
+.navbar-collapse:after,
+.pager:after,
+.panel-body:after,
+.modal-footer:after {
+ clear: both;
+}
+.center-block {
+ display: block;
+ margin-right: auto;
+ margin-left: auto;
+}
+.pull-right {
+ float: right !important;
+}
+.pull-left {
+ float: left !important;
+}
+.hide {
+ display: none !important;
+}
+.show {
+ display: block !important;
+}
+.invisible {
+ visibility: hidden;
+}
+.text-hide {
+ font: 0/0 a;
+ color: transparent;
+ text-shadow: none;
+ background-color: transparent;
+ border: 0;
+}
+.hidden {
+ display: none !important;
+}
+.affix {
+ position: fixed;
+}
+@-ms-viewport {
+ width: device-width;
+}
+.visible-xs,
+.visible-sm,
+.visible-md,
+.visible-lg {
+ display: none !important;
+}
+.visible-xs-block,
+.visible-xs-inline,
+.visible-xs-inline-block,
+.visible-sm-block,
+.visible-sm-inline,
+.visible-sm-inline-block,
+.visible-md-block,
+.visible-md-inline,
+.visible-md-inline-block,
+.visible-lg-block,
+.visible-lg-inline,
+.visible-lg-inline-block {
+ display: none !important;
+}
+@media (max-width: 767px) {
+ .visible-xs {
+ display: block !important;
+ }
+ table.visible-xs {
+ display: table;
+ }
+ tr.visible-xs {
+ display: table-row !important;
+ }
+ th.visible-xs,
+ td.visible-xs {
+ display: table-cell !important;
+ }
+}
+@media (max-width: 767px) {
+ .visible-xs-block {
+ display: block !important;
+ }
+}
+@media (max-width: 767px) {
+ .visible-xs-inline {
+ display: inline !important;
+ }
+}
+@media (max-width: 767px) {
+ .visible-xs-inline-block {
+ display: inline-block !important;
+ }
+}
+@media (min-width: 768px) and (max-width: 991px) {
+ .visible-sm {
+ display: block !important;
+ }
+ table.visible-sm {
+ display: table;
+ }
+ tr.visible-sm {
+ display: table-row !important;
+ }
+ th.visible-sm,
+ td.visible-sm {
+ display: table-cell !important;
+ }
+}
+@media (min-width: 768px) and (max-width: 991px) {
+ .visible-sm-block {
+ display: block !important;
+ }
+}
+@media (min-width: 768px) and (max-width: 991px) {
+ .visible-sm-inline {
+ display: inline !important;
+ }
+}
+@media (min-width: 768px) and (max-width: 991px) {
+ .visible-sm-inline-block {
+ display: inline-block !important;
+ }
+}
+@media (min-width: 992px) and (max-width: 1199px) {
+ .visible-md {
+ display: block !important;
+ }
+ table.visible-md {
+ display: table;
+ }
+ tr.visible-md {
+ display: table-row !important;
+ }
+ th.visible-md,
+ td.visible-md {
+ display: table-cell !important;
+ }
+}
+@media (min-width: 992px) and (max-width: 1199px) {
+ .visible-md-block {
+ display: block !important;
+ }
+}
+@media (min-width: 992px) and (max-width: 1199px) {
+ .visible-md-inline {
+ display: inline !important;
+ }
+}
+@media (min-width: 992px) and (max-width: 1199px) {
+ .visible-md-inline-block {
+ display: inline-block !important;
+ }
+}
+@media (min-width: 1200px) {
+ .visible-lg {
+ display: block !important;
+ }
+ table.visible-lg {
+ display: table;
+ }
+ tr.visible-lg {
+ display: table-row !important;
+ }
+ th.visible-lg,
+ td.visible-lg {
+ display: table-cell !important;
+ }
+}
+@media (min-width: 1200px) {
+ .visible-lg-block {
+ display: block !important;
+ }
+}
+@media (min-width: 1200px) {
+ .visible-lg-inline {
+ display: inline !important;
+ }
+}
+@media (min-width: 1200px) {
+ .visible-lg-inline-block {
+ display: inline-block !important;
+ }
+}
+@media (max-width: 767px) {
+ .hidden-xs {
+ display: none !important;
+ }
+}
+@media (min-width: 768px) and (max-width: 991px) {
+ .hidden-sm {
+ display: none !important;
+ }
+}
+@media (min-width: 992px) and (max-width: 1199px) {
+ .hidden-md {
+ display: none !important;
+ }
+}
+@media (min-width: 1200px) {
+ .hidden-lg {
+ display: none !important;
+ }
+}
+.visible-print {
+ display: none !important;
+}
+@media print {
+ .visible-print {
+ display: block !important;
+ }
+ table.visible-print {
+ display: table;
+ }
+ tr.visible-print {
+ display: table-row !important;
+ }
+ th.visible-print,
+ td.visible-print {
+ display: table-cell !important;
+ }
+}
+.visible-print-block {
+ display: none !important;
+}
+@media print {
+ .visible-print-block {
+ display: block !important;
+ }
+}
+.visible-print-inline {
+ display: none !important;
+}
+@media print {
+ .visible-print-inline {
+ display: inline !important;
+ }
+}
+.visible-print-inline-block {
+ display: none !important;
+}
+@media print {
+ .visible-print-inline-block {
+ display: inline-block !important;
+ }
+}
+@media print {
+ .hidden-print {
+ display: none !important;
+ }
+}
+/*# sourceMappingURL=bootstrap.css.map */
diff --git a/static/jquery-emoji/lib/css/jquery.mCustomScrollbar.min.css b/static/jquery-emoji/lib/css/jquery.mCustomScrollbar.min.css
new file mode 100644
index 0000000000000000000000000000000000000000..6cd1177c122c31db03946a5a1cb05a1ed13c0c40
--- /dev/null
+++ b/static/jquery-emoji/lib/css/jquery.mCustomScrollbar.min.css
@@ -0,0 +1 @@
+.mCustomScrollbar{-ms-touch-action:pinch-zoom;touch-action:pinch-zoom}.mCustomScrollbar.mCS_no_scrollbar,.mCustomScrollbar.mCS_touch_action{-ms-touch-action:auto;touch-action:auto}.mCustomScrollBox{position:relative;overflow:hidden;height:100%;max-width:100%;outline:0;direction:ltr}.mCSB_container{overflow:hidden;width:auto;height:auto}.mCSB_inside>.mCSB_container{margin-right:30px}.mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden{margin-right:0}.mCS-dir-rtl>.mCSB_inside>.mCSB_container{margin-right:0;margin-left:30px}.mCS-dir-rtl>.mCSB_inside>.mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden{margin-left:0}.mCSB_scrollTools{position:absolute;width:16px;height:auto;left:auto;top:0;right:0;bottom:0;opacity:.75;filter:"alpha(opacity=75)";-ms-filter:"alpha(opacity=75)"}.mCSB_outside+.mCSB_scrollTools{right:-26px}.mCS-dir-rtl>.mCSB_inside>.mCSB_scrollTools,.mCS-dir-rtl>.mCSB_outside+.mCSB_scrollTools{right:auto;left:0}.mCS-dir-rtl>.mCSB_outside+.mCSB_scrollTools{left:-26px}.mCSB_scrollTools .mCSB_draggerContainer{position:absolute;top:0;left:0;bottom:0;right:0;height:auto}.mCSB_scrollTools a+.mCSB_draggerContainer{margin:20px 0}.mCSB_scrollTools .mCSB_draggerRail{width:2px;height:100%;margin:0 auto;-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px}.mCSB_scrollTools .mCSB_dragger{cursor:pointer;width:100%;height:30px;z-index:1}.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{position:relative;width:4px;height:100%;margin:0 auto;-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px;text-align:center}.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar{width:12px}.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{width:8px}.mCSB_scrollTools .mCSB_buttonDown,.mCSB_scrollTools .mCSB_buttonUp{display:block;position:absolute;height:20px;width:100%;overflow:hidden;margin:0 auto;cursor:pointer}.mCSB_scrollTools .mCSB_buttonDown{bottom:0}.mCSB_horizontal.mCSB_inside>.mCSB_container{margin-right:0;margin-bottom:30px}.mCSB_horizontal.mCSB_outside>.mCSB_container{min-height:100%}.mCSB_horizontal>.mCSB_container.mCS_no_scrollbar_x.mCS_x_hidden{margin-bottom:0}.mCSB_scrollTools.mCSB_scrollTools_horizontal{width:auto;height:16px;top:auto;right:0;bottom:0;left:0}.mCustomScrollBox+.mCSB_scrollTools+.mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCustomScrollBox+.mCSB_scrollTools.mCSB_scrollTools_horizontal{bottom:-26px}.mCSB_scrollTools.mCSB_scrollTools_horizontal a+.mCSB_draggerContainer{margin:0 20px}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:2px;margin:7px 0}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger{width:30px;height:100%;left:0}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:4px;margin:6px auto}.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar{height:12px;margin:2px auto}.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{height:8px;margin:4px 0}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonLeft,.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonRight{display:block;position:absolute;width:20px;height:100%;overflow:hidden;margin:0 auto;cursor:pointer}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonLeft{left:0}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonRight{right:0}.mCSB_container_wrapper{position:absolute;height:auto;width:auto;overflow:hidden;top:0;left:0;right:0;bottom:0;margin-right:30px;margin-bottom:30px}.mCSB_container_wrapper>.mCSB_container{padding-right:30px;padding-bottom:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mCSB_vertical_horizontal>.mCSB_scrollTools.mCSB_scrollTools_vertical{bottom:20px}.mCSB_vertical_horizontal>.mCSB_scrollTools.mCSB_scrollTools_horizontal{right:20px}.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden+.mCSB_scrollTools.mCSB_scrollTools_vertical{bottom:0}.mCS-dir-rtl>.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden+.mCSB_scrollTools~.mCSB_scrollTools.mCSB_scrollTools_horizontal{right:0}.mCS-dir-rtl>.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_scrollTools.mCSB_scrollTools_horizontal{left:20px}.mCS-dir-rtl>.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden+.mCSB_scrollTools~.mCSB_scrollTools.mCSB_scrollTools_horizontal{left:0}.mCS-dir-rtl>.mCSB_inside>.mCSB_container_wrapper{margin-right:0;margin-left:30px}.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden>.mCSB_container{padding-right:0}.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden>.mCSB_container{padding-bottom:0}.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden{margin-right:0;margin-left:0}.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden{margin-bottom:0}.mCSB_scrollTools,.mCSB_scrollTools .mCSB_buttonDown,.mCSB_scrollTools .mCSB_buttonLeft,.mCSB_scrollTools .mCSB_buttonRight,.mCSB_scrollTools .mCSB_buttonUp,.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{-webkit-transition:opacity .2s ease-in-out,background-color .2s ease-in-out;-moz-transition:opacity .2s ease-in-out,background-color .2s ease-in-out;-o-transition:opacity .2s ease-in-out,background-color .2s ease-in-out;transition:opacity .2s ease-in-out,background-color .2s ease-in-out}.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerRail,.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger_bar,.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerRail,.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger_bar{-webkit-transition:width .2s ease-out .2s,height .2s ease-out .2s,margin-left .2s ease-out .2s,margin-right .2s ease-out .2s,margin-top .2s ease-out .2s,margin-bottom .2s ease-out .2s,opacity .2s ease-in-out,background-color .2s ease-in-out;-moz-transition:width .2s ease-out .2s,height .2s ease-out .2s,margin-left .2s ease-out .2s,margin-right .2s ease-out .2s,margin-top .2s ease-out .2s,margin-bottom .2s ease-out .2s,opacity .2s ease-in-out,background-color .2s ease-in-out;-o-transition:width .2s ease-out .2s,height .2s ease-out .2s,margin-left .2s ease-out .2s,margin-right .2s ease-out .2s,margin-top .2s ease-out .2s,margin-bottom .2s ease-out .2s,opacity .2s ease-in-out,background-color .2s ease-in-out;transition:width .2s ease-out .2s,height .2s ease-out .2s,margin-left .2s ease-out .2s,margin-right .2s ease-out .2s,margin-top .2s ease-out .2s,margin-bottom .2s ease-out .2s,opacity .2s ease-in-out,background-color .2s ease-in-out}.mCS-autoHide>.mCustomScrollBox>.mCSB_scrollTools,.mCS-autoHide>.mCustomScrollBox~.mCSB_scrollTools{opacity:0;filter:"alpha(opacity=0)";-ms-filter:"alpha(opacity=0)"}.mCS-autoHide:hover>.mCustomScrollBox>.mCSB_scrollTools,.mCS-autoHide:hover>.mCustomScrollBox~.mCSB_scrollTools,.mCustomScrollBox:hover>.mCSB_scrollTools,.mCustomScrollBox:hover~.mCSB_scrollTools,.mCustomScrollbar>.mCustomScrollBox>.mCSB_scrollTools.mCSB_scrollTools_onDrag,.mCustomScrollbar>.mCustomScrollBox~.mCSB_scrollTools.mCSB_scrollTools_onDrag{opacity:1;filter:"alpha(opacity=100)";-ms-filter:"alpha(opacity=100)"}.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,.4);filter:"alpha(opacity=40)";-ms-filter:"alpha(opacity=40)"}.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,.75);filter:"alpha(opacity=75)";-ms-filter:"alpha(opacity=75)"}.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,.85);filter:"alpha(opacity=85)";-ms-filter:"alpha(opacity=85)"}.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,.9);filter:"alpha(opacity=90)";-ms-filter:"alpha(opacity=90)"}.mCSB_scrollTools .mCSB_buttonDown,.mCSB_scrollTools .mCSB_buttonLeft,.mCSB_scrollTools .mCSB_buttonRight,.mCSB_scrollTools .mCSB_buttonUp{background-image:url(mCSB_buttons.png);background-repeat:no-repeat;opacity:.4;filter:"alpha(opacity=40)";-ms-filter:"alpha(opacity=40)"}.mCSB_scrollTools .mCSB_buttonUp{background-position:0 0}.mCSB_scrollTools .mCSB_buttonDown{background-position:0 -20px}.mCSB_scrollTools .mCSB_buttonLeft{background-position:0 -40px}.mCSB_scrollTools .mCSB_buttonRight{background-position:0 -56px}.mCSB_scrollTools .mCSB_buttonDown:hover,.mCSB_scrollTools .mCSB_buttonLeft:hover,.mCSB_scrollTools .mCSB_buttonRight:hover,.mCSB_scrollTools .mCSB_buttonUp:hover{opacity:.75;filter:"alpha(opacity=75)";-ms-filter:"alpha(opacity=75)"}.mCSB_scrollTools .mCSB_buttonDown:active,.mCSB_scrollTools .mCSB_buttonLeft:active,.mCSB_scrollTools .mCSB_buttonRight:active,.mCSB_scrollTools .mCSB_buttonUp:active{opacity:.9;filter:"alpha(opacity=90)";-ms-filter:"alpha(opacity=90)"}.mCS-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,.15)}.mCS-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.75)}.mCS-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:rgba(0,0,0,.85)}.mCS-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:rgba(0,0,0,.9)}.mCS-dark.mCSB_scrollTools .mCSB_buttonUp{background-position:-80px 0}.mCS-dark.mCSB_scrollTools .mCSB_buttonDown{background-position:-80px -20px}.mCS-dark.mCSB_scrollTools .mCSB_buttonLeft{background-position:-80px -40px}.mCS-dark.mCSB_scrollTools .mCSB_buttonRight{background-position:-80px -56px}.mCS-dark-2.mCSB_scrollTools .mCSB_draggerRail,.mCS-light-2.mCSB_scrollTools .mCSB_draggerRail{width:4px;background-color:#fff;background-color:rgba(255,255,255,.1);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.mCS-dark-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-light-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:4px;background-color:#fff;background-color:rgba(255,255,255,.75);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.mCS-dark-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-2.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-light-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-light-2.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:4px;margin:6px auto}.mCS-light-2.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,.85)}.mCS-light-2.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-light-2.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,.9)}.mCS-light-2.mCSB_scrollTools .mCSB_buttonUp{background-position:-32px 0}.mCS-light-2.mCSB_scrollTools .mCSB_buttonDown{background-position:-32px -20px}.mCS-light-2.mCSB_scrollTools .mCSB_buttonLeft{background-position:-40px -40px}.mCS-light-2.mCSB_scrollTools .mCSB_buttonRight{background-position:-40px -56px}.mCS-dark-2.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,.1);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.mCS-dark-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.75);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.mCS-dark-2.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.85)}.mCS-dark-2.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-dark-2.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.9)}.mCS-dark-2.mCSB_scrollTools .mCSB_buttonUp{background-position:-112px 0}.mCS-dark-2.mCSB_scrollTools .mCSB_buttonDown{background-position:-112px -20px}.mCS-dark-2.mCSB_scrollTools .mCSB_buttonLeft{background-position:-120px -40px}.mCS-dark-2.mCSB_scrollTools .mCSB_buttonRight{background-position:-120px -56px}.mCS-dark-thick.mCSB_scrollTools .mCSB_draggerRail,.mCS-light-thick.mCSB_scrollTools .mCSB_draggerRail{width:4px;background-color:#fff;background-color:rgba(255,255,255,.1);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-light-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:6px;background-color:#fff;background-color:rgba(255,255,255,.75);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mCS-dark-thick.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-light-thick.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:4px;margin:6px 0}.mCS-dark-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-light-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:6px;margin:5px auto}.mCS-light-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,.85)}.mCS-light-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-light-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,.9)}.mCS-light-thick.mCSB_scrollTools .mCSB_buttonUp{background-position:-16px 0}.mCS-light-thick.mCSB_scrollTools .mCSB_buttonDown{background-position:-16px -20px}.mCS-light-thick.mCSB_scrollTools .mCSB_buttonLeft{background-position:-20px -40px}.mCS-light-thick.mCSB_scrollTools .mCSB_buttonRight{background-position:-20px -56px}.mCS-dark-thick.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,.1);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.75);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.85)}.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.9)}.mCS-dark-thick.mCSB_scrollTools .mCSB_buttonUp{background-position:-96px 0}.mCS-dark-thick.mCSB_scrollTools .mCSB_buttonDown{background-position:-96px -20px}.mCS-dark-thick.mCSB_scrollTools .mCSB_buttonLeft{background-position:-100px -40px}.mCS-dark-thick.mCSB_scrollTools .mCSB_buttonRight{background-position:-100px -56px}.mCS-light-thin.mCSB_scrollTools .mCSB_draggerRail{background-color:#fff;background-color:rgba(255,255,255,.1)}.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-light-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:2px}.mCS-dark-thin.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-light-thin.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%}.mCS-dark-thin.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-light-thin.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:2px;margin:7px auto}.mCS-dark-thin.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,.15)}.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.75)}.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.85)}.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.9)}.mCS-dark-thin.mCSB_scrollTools .mCSB_buttonUp{background-position:-80px 0}.mCS-dark-thin.mCSB_scrollTools .mCSB_buttonDown{background-position:-80px -20px}.mCS-dark-thin.mCSB_scrollTools .mCSB_buttonLeft{background-position:-80px -40px}.mCS-dark-thin.mCSB_scrollTools .mCSB_buttonRight{background-position:-80px -56px}.mCS-rounded.mCSB_scrollTools .mCSB_draggerRail{background-color:#fff;background-color:rgba(255,255,255,.15)}.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger,.mCS-rounded-dots.mCSB_scrollTools .mCSB_dragger,.mCS-rounded.mCSB_scrollTools .mCSB_dragger{height:14px}.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:14px;margin:0 1px}.mCS-rounded-dark.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-rounded.mCSB_scrollTools_horizontal .mCSB_dragger{width:14px}.mCS-rounded-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{height:14px;margin:1px 0}.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar{width:16px;height:16px;margin:-1px 0}.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{width:4px}.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar{height:16px;width:16px;margin:0 -1px}.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{height:4px;margin:6px 0}.mCS-rounded.mCSB_scrollTools .mCSB_buttonUp{background-position:0 -72px}.mCS-rounded.mCSB_scrollTools .mCSB_buttonDown{background-position:0 -92px}.mCS-rounded.mCSB_scrollTools .mCSB_buttonLeft{background-position:0 -112px}.mCS-rounded.mCSB_scrollTools .mCSB_buttonRight{background-position:0 -128px}.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.75)}.mCS-rounded-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,.15)}.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.85)}.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.9)}.mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonUp{background-position:-80px -72px}.mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonDown{background-position:-80px -92px}.mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonLeft{background-position:-80px -112px}.mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonRight{background-position:-80px -128px}.mCS-rounded-dots-dark.mCSB_scrollTools_vertical .mCSB_draggerRail,.mCS-rounded-dots.mCSB_scrollTools_vertical .mCSB_draggerRail{width:4px}.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-rounded-dots.mCSB_scrollTools .mCSB_draggerRail,.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_draggerRail{background-color:transparent;background-position:center}.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-rounded-dots.mCSB_scrollTools .mCSB_draggerRail{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAANElEQVQYV2NkIAAYiVbw//9/Y6DiM1ANJoyMjGdBbLgJQAX/kU0DKgDLkaQAvxW4HEvQFwCRcxIJK1XznAAAAABJRU5ErkJggg==);background-repeat:repeat-y;opacity:.3;filter:"alpha(opacity=30)";-ms-filter:"alpha(opacity=30)"}.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_draggerRail{height:4px;margin:6px 0;background-repeat:repeat-x}.mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonUp{background-position:-16px -72px}.mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonDown{background-position:-16px -92px}.mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonLeft{background-position:-20px -112px}.mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonRight{background-position:-20px -128px}.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYV2NkIAAYSVFgDFR8BqrBBEifBbGRTfiPZhpYjiQFBK3A6l6CvgAAE9kGCd1mvgEAAAAASUVORK5CYII=)}.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonUp{background-position:-96px -72px}.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonDown{background-position:-96px -92px}.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonLeft{background-position:-100px -112px}.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonRight{background-position:-100px -128px}.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-repeat:repeat-y;background-image:-moz-linear-gradient(left,rgba(255,255,255,.5) 0,rgba(255,255,255,0) 100%);background-image:-webkit-gradient(linear,left top,right top,color-stop(0,rgba(255,255,255,.5)),color-stop(100%,rgba(255,255,255,0)));background-image:-webkit-linear-gradient(left,rgba(255,255,255,.5) 0,rgba(255,255,255,0) 100%);background-image:-o-linear-gradient(left,rgba(255,255,255,.5) 0,rgba(255,255,255,0) 100%);background-image:-ms-linear-gradient(left,rgba(255,255,255,.5) 0,rgba(255,255,255,0) 100%);background-image:linear-gradient(to right,rgba(255,255,255,.5) 0,rgba(255,255,255,0) 100%)}.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{background-repeat:repeat-x;background-image:-moz-linear-gradient(top,rgba(255,255,255,.5) 0,rgba(255,255,255,0) 100%);background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,rgba(255,255,255,.5)),color-stop(100%,rgba(255,255,255,0)));background-image:-webkit-linear-gradient(top,rgba(255,255,255,.5) 0,rgba(255,255,255,0) 100%);background-image:-o-linear-gradient(top,rgba(255,255,255,.5) 0,rgba(255,255,255,0) 100%);background-image:-ms-linear-gradient(top,rgba(255,255,255,.5) 0,rgba(255,255,255,0) 100%);background-image:linear-gradient(to bottom,rgba(255,255,255,.5) 0,rgba(255,255,255,0) 100%)}.mCS-3d-dark.mCSB_scrollTools_vertical .mCSB_dragger,.mCS-3d.mCSB_scrollTools_vertical .mCSB_dragger{height:70px}.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger{width:70px}.mCS-3d-dark.mCSB_scrollTools,.mCS-3d.mCSB_scrollTools{opacity:1;filter:"alpha(opacity=30)";-ms-filter:"alpha(opacity=30)"}.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools .mCSB_draggerRail{-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px}.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-3d.mCSB_scrollTools .mCSB_draggerRail{width:8px;background-color:#000;background-color:rgba(0,0,0,.2);box-shadow:inset 1px 0 1px rgba(0,0,0,.5),inset -1px 0 1px rgba(255,255,255,.2)}.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#555}.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:8px}.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-3d.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:8px;margin:4px 0;box-shadow:inset 0 1px 1px rgba(0,0,0,.5),inset 0 -1px 1px rgba(255,255,255,.2)}.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:8px;margin:4px auto}.mCS-3d.mCSB_scrollTools .mCSB_buttonUp{background-position:-32px -72px}.mCS-3d.mCSB_scrollTools .mCSB_buttonDown{background-position:-32px -92px}.mCS-3d.mCSB_scrollTools .mCSB_buttonLeft{background-position:-40px -112px}.mCS-3d.mCSB_scrollTools .mCSB_buttonRight{background-position:-40px -128px}.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,.1);box-shadow:inset 1px 0 1px rgba(0,0,0,.1)}.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail{box-shadow:inset 0 1px 1px rgba(0,0,0,.1)}.mCS-3d-dark.mCSB_scrollTools .mCSB_buttonUp{background-position:-112px -72px}.mCS-3d-dark.mCSB_scrollTools .mCSB_buttonDown{background-position:-112px -92px}.mCS-3d-dark.mCSB_scrollTools .mCSB_buttonLeft{background-position:-120px -112px}.mCS-3d-dark.mCSB_scrollTools .mCSB_buttonRight{background-position:-120px -128px}.mCS-3d-thick-dark.mCSB_scrollTools,.mCS-3d-thick.mCSB_scrollTools{opacity:1;filter:"alpha(opacity=30)";-ms-filter:"alpha(opacity=30)"}.mCS-3d-thick-dark.mCSB_scrollTools,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerContainer,.mCS-3d-thick.mCSB_scrollTools,.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerContainer{-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.mCSB_inside+.mCS-3d-thick-dark.mCSB_scrollTools_vertical,.mCSB_inside+.mCS-3d-thick.mCSB_scrollTools_vertical{right:1px}.mCS-3d-thick-dark.mCSB_scrollTools_vertical,.mCS-3d-thick.mCSB_scrollTools_vertical{box-shadow:inset 1px 0 1px rgba(0,0,0,.1),inset 0 0 14px rgba(0,0,0,.5)}.mCS-3d-thick-dark.mCSB_scrollTools_horizontal,.mCS-3d-thick.mCSB_scrollTools_horizontal{bottom:1px;box-shadow:inset 0 1px 1px rgba(0,0,0,.1),inset 0 0 14px rgba(0,0,0,.5)}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;box-shadow:inset 1px 0 0 rgba(255,255,255,.4);width:12px;margin:2px;position:absolute;height:auto;top:0;bottom:0;left:0;right:0}.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{box-shadow:inset 0 1px 0 rgba(255,255,255,.4);height:12px;width:auto}.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#555}.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerContainer{background-color:#000;background-color:rgba(0,0,0,.05);box-shadow:inset 1px 1px 16px rgba(0,0,0,.1)}.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerRail{background-color:transparent}.mCS-3d-thick.mCSB_scrollTools .mCSB_buttonUp{background-position:-32px -72px}.mCS-3d-thick.mCSB_scrollTools .mCSB_buttonDown{background-position:-32px -92px}.mCS-3d-thick.mCSB_scrollTools .mCSB_buttonLeft{background-position:-40px -112px}.mCS-3d-thick.mCSB_scrollTools .mCSB_buttonRight{background-position:-40px -128px}.mCS-3d-thick-dark.mCSB_scrollTools{box-shadow:inset 0 0 14px rgba(0,0,0,.2)}.mCS-3d-thick-dark.mCSB_scrollTools_horizontal{box-shadow:inset 0 1px 1px rgba(0,0,0,.1),inset 0 0 14px rgba(0,0,0,.2)}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{box-shadow:inset 1px 0 0 rgba(255,255,255,.4),inset -1px 0 0 rgba(0,0,0,.2)}.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{box-shadow:inset 0 1px 0 rgba(255,255,255,.4),inset 0 -1px 0 rgba(0,0,0,.2)}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#777}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerContainer{background-color:#fff;background-color:rgba(0,0,0,.05);box-shadow:inset 1px 1px 16px rgba(0,0,0,.1)}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-minimal-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-minimal.mCSB_scrollTools .mCSB_draggerRail{background-color:transparent}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonUp{background-position:-112px -72px}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonDown{background-position:-112px -92px}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonLeft{background-position:-120px -112px}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonRight{background-position:-120px -128px}.mCSB_outside+.mCS-minimal-dark.mCSB_scrollTools_vertical,.mCSB_outside+.mCS-minimal.mCSB_scrollTools_vertical{right:0;margin:12px 0}.mCustomScrollBox.mCS-minimal+.mCSB_scrollTools+.mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCustomScrollBox.mCS-minimal+.mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCustomScrollBox.mCS-minimal-dark+.mCSB_scrollTools+.mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCustomScrollBox.mCS-minimal-dark+.mCSB_scrollTools.mCSB_scrollTools_horizontal{bottom:0;margin:0 12px}.mCS-dir-rtl>.mCSB_outside+.mCS-minimal-dark.mCSB_scrollTools_vertical,.mCS-dir-rtl>.mCSB_outside+.mCS-minimal.mCSB_scrollTools_vertical{left:0;right:auto}.mCS-minimal-dark.mCSB_scrollTools_vertical .mCSB_dragger,.mCS-minimal.mCSB_scrollTools_vertical .mCSB_dragger{height:50px}.mCS-minimal-dark.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-minimal.mCSB_scrollTools_horizontal .mCSB_dragger{width:50px}.mCS-minimal.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,.2);filter:"alpha(opacity=20)";-ms-filter:"alpha(opacity=20)"}.mCS-minimal.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-minimal.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,.5);filter:"alpha(opacity=50)";-ms-filter:"alpha(opacity=50)"}.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.2);filter:"alpha(opacity=20)";-ms-filter:"alpha(opacity=20)"}.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.5);filter:"alpha(opacity=50)";-ms-filter:"alpha(opacity=50)"}.mCS-dark-3.mCSB_scrollTools .mCSB_draggerRail,.mCS-light-3.mCSB_scrollTools .mCSB_draggerRail{width:6px;background-color:#000;background-color:rgba(0,0,0,.2)}.mCS-dark-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-light-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:6px}.mCS-dark-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-3.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-light-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-light-3.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:6px;margin:5px 0}.mCS-dark-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,.mCS-light-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-light-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{width:12px}.mCS-dark-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,.mCS-light-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-light-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{height:12px;margin:2px 0}.mCS-light-3.mCSB_scrollTools .mCSB_buttonUp{background-position:-32px -72px}.mCS-light-3.mCSB_scrollTools .mCSB_buttonDown{background-position:-32px -92px}.mCS-light-3.mCSB_scrollTools .mCSB_buttonLeft{background-position:-40px -112px}.mCS-light-3.mCSB_scrollTools .mCSB_buttonRight{background-position:-40px -128px}.mCS-dark-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.75)}.mCS-dark-3.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.85)}.mCS-dark-3.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-dark-3.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.9)}.mCS-dark-3.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,.1)}.mCS-dark-3.mCSB_scrollTools .mCSB_buttonUp{background-position:-112px -72px}.mCS-dark-3.mCSB_scrollTools .mCSB_buttonDown{background-position:-112px -92px}.mCS-dark-3.mCSB_scrollTools .mCSB_buttonLeft{background-position:-120px -112px}.mCS-dark-3.mCSB_scrollTools .mCSB_buttonRight{background-position:-120px -128px}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-2.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-3.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset.mCSB_scrollTools .mCSB_draggerRail{width:12px;background-color:#000;background-color:rgba(0,0,0,.2)}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:6px;margin:3px 5px;position:absolute;height:auto;top:0;bottom:0;left:0;right:0}.mCS-inset-2-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{height:6px;margin:5px 3px;position:absolute;width:auto;top:0;bottom:0;left:0;right:0}.mCS-inset-2-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-2.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-3-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-3.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:12px;margin:2px 0}.mCS-inset-2.mCSB_scrollTools .mCSB_buttonUp,.mCS-inset-3.mCSB_scrollTools .mCSB_buttonUp,.mCS-inset.mCSB_scrollTools .mCSB_buttonUp{background-position:-32px -72px}.mCS-inset-2.mCSB_scrollTools .mCSB_buttonDown,.mCS-inset-3.mCSB_scrollTools .mCSB_buttonDown,.mCS-inset.mCSB_scrollTools .mCSB_buttonDown{background-position:-32px -92px}.mCS-inset-2.mCSB_scrollTools .mCSB_buttonLeft,.mCS-inset-3.mCSB_scrollTools .mCSB_buttonLeft,.mCS-inset.mCSB_scrollTools .mCSB_buttonLeft{background-position:-40px -112px}.mCS-inset-2.mCSB_scrollTools .mCSB_buttonRight,.mCS-inset-3.mCSB_scrollTools .mCSB_buttonRight,.mCS-inset.mCSB_scrollTools .mCSB_buttonRight{background-position:-40px -128px}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.75)}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.85)}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.9)}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,.1)}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonUp,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonUp,.mCS-inset-dark.mCSB_scrollTools .mCSB_buttonUp{background-position:-112px -72px}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonDown,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonDown,.mCS-inset-dark.mCSB_scrollTools .mCSB_buttonDown{background-position:-112px -92px}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonLeft,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonLeft,.mCS-inset-dark.mCSB_scrollTools .mCSB_buttonLeft{background-position:-120px -112px}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonRight,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonRight,.mCS-inset-dark.mCSB_scrollTools .mCSB_buttonRight{background-position:-120px -128px}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-2.mCSB_scrollTools .mCSB_draggerRail{background-color:transparent;border-width:1px;border-style:solid;border-color:#fff;border-color:rgba(255,255,255,.2);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail{border-color:#000;border-color:rgba(0,0,0,.2)}.mCS-inset-3.mCSB_scrollTools .mCSB_draggerRail{background-color:#fff;background-color:rgba(255,255,255,.6)}.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,.6)}.mCS-inset-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.75)}.mCS-inset-3.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.85)}.mCS-inset-3.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-inset-3.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.9)}.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,.75)}.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,.85)}.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,.9)}
\ No newline at end of file
diff --git a/static/jquery-emoji/lib/css/railscasts.css b/static/jquery-emoji/lib/css/railscasts.css
new file mode 100644
index 0000000000000000000000000000000000000000..008cdc5bf1487e378e549c5aabcb9314476bd434
--- /dev/null
+++ b/static/jquery-emoji/lib/css/railscasts.css
@@ -0,0 +1,106 @@
+/*
+
+Railscasts-like style (c) Visoft, Inc. (Damien White)
+
+*/
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: #232323;
+ color: #e6e1dc;
+}
+
+.hljs-comment,
+.hljs-quote {
+ color: #bc9458;
+ font-style: italic;
+}
+
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #c26230;
+}
+
+.hljs-string,
+.hljs-number,
+.hljs-regexp,
+.hljs-variable,
+.hljs-template-variable {
+ color: #a5c261;
+}
+
+.hljs-subst {
+ color: #519f50;
+}
+
+.hljs-tag,
+.hljs-name {
+ color: #e8bf6a;
+}
+
+.hljs-type {
+ color: #da4939;
+}
+
+
+.hljs-symbol,
+.hljs-bullet,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-attr,
+.hljs-link {
+ color: #6d9cbe;
+}
+
+.hljs-params {
+ color: #d0d0ff;
+}
+
+.hljs-attribute {
+ color: #cda869;
+}
+
+.hljs-meta {
+ color: #9b859d;
+}
+
+.hljs-title,
+.hljs-section {
+ color: #ffc66d;
+}
+
+.hljs-addition {
+ background-color: #144212;
+ color: #e6e1dc;
+ display: inline-block;
+ width: 100%;
+}
+
+.hljs-deletion {
+ background-color: #600;
+ color: #e6e1dc;
+ display: inline-block;
+ width: 100%;
+}
+
+.hljs-selector-class {
+ color: #9b703f;
+}
+
+.hljs-selector-id {
+ color: #8b98ab;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-link {
+ text-decoration: underline;
+}
diff --git a/static/jquery-emoji/lib/script/highlight.pack.js b/static/jquery-emoji/lib/script/highlight.pack.js
new file mode 100644
index 0000000000000000000000000000000000000000..43eceff85f762a29bd03c9163df9bcf47b98e08e
--- /dev/null
+++ b/static/jquery-emoji/lib/script/highlight.pack.js
@@ -0,0 +1,2 @@
+/*! highlight.js v9.1.0 | BSD3 License | git.io/hljslicense */
+!function(e){"undefined"!=typeof exports?e(exports):(self.hljs=e({}),"function"==typeof define&&define.amd&&define("hljs",[],function(){return self.hljs}))}(function(e){function n(e){return e.replace(/&/gm,"&").replace(//gm,">")}function t(e){return e.nodeName.toLowerCase()}function r(e,n){var t=e&&e.exec(n);return t&&0==t.index}function a(e){return/^(no-?highlight|plain|text)$/i.test(e)}function i(e){var n,t,r,i=e.className+" ";if(i+=e.parentNode?e.parentNode.className:"",t=/\blang(?:uage)?-([\w-]+)\b/i.exec(i))return E(t[1])?t[1]:"no-highlight";for(i=i.split(/\s+/),n=0,r=i.length;r>n;n++)if(E(i[n])||a(i[n]))return i[n]}function o(e,n){var t,r={};for(t in e)r[t]=e[t];if(n)for(t in n)r[t]=n[t];return r}function u(e){var n=[];return function r(e,a){for(var i=e.firstChild;i;i=i.nextSibling)3==i.nodeType?a+=i.nodeValue.length:1==i.nodeType&&(n.push({event:"start",offset:a,node:i}),a=r(i,a),t(i).match(/br|hr|img|input/)||n.push({event:"stop",offset:a,node:i}));return a}(e,0),n}function c(e,r,a){function i(){return e.length&&r.length?e[0].offset!=r[0].offset?e[0].offset"}function u(e){l+=""+t(e)+">"}function c(e){("start"==e.event?o:u)(e.node)}for(var s=0,l="",f=[];e.length||r.length;){var g=i();if(l+=n(a.substr(s,g[0].offset-s)),s=g[0].offset,g==e){f.reverse().forEach(u);do c(g.splice(0,1)[0]),g=i();while(g==e&&g.length&&g[0].offset==s);f.reverse().forEach(o)}else"start"==g[0].event?f.push(g[0].node):f.pop(),c(g.splice(0,1)[0])}return l+n(a.substr(s))}function s(e){function n(e){return e&&e.source||e}function t(t,r){return new RegExp(n(t),"m"+(e.cI?"i":"")+(r?"g":""))}function r(a,i){if(!a.compiled){if(a.compiled=!0,a.k=a.k||a.bK,a.k){var u={},c=function(n,t){e.cI&&(t=t.toLowerCase()),t.split(" ").forEach(function(e){var t=e.split("|");u[t[0]]=[n,t[1]?Number(t[1]):1]})};"string"==typeof a.k?c("keyword",a.k):Object.keys(a.k).forEach(function(e){c(e,a.k[e])}),a.k=u}a.lR=t(a.l||/\b\w+\b/,!0),i&&(a.bK&&(a.b="\\b("+a.bK.split(" ").join("|")+")\\b"),a.b||(a.b=/\B|\b/),a.bR=t(a.b),a.e||a.eW||(a.e=/\B|\b/),a.e&&(a.eR=t(a.e)),a.tE=n(a.e)||"",a.eW&&i.tE&&(a.tE+=(a.e?"|":"")+i.tE)),a.i&&(a.iR=t(a.i)),void 0===a.r&&(a.r=1),a.c||(a.c=[]);var s=[];a.c.forEach(function(e){e.v?e.v.forEach(function(n){s.push(o(e,n))}):s.push("self"==e?a:e)}),a.c=s,a.c.forEach(function(e){r(e,a)}),a.starts&&r(a.starts,i);var l=a.c.map(function(e){return e.bK?"\\.?("+e.b+")\\.?":e.b}).concat([a.tE,a.i]).map(n).filter(Boolean);a.t=l.length?t(l.join("|"),!0):{exec:function(){return null}}}}r(e)}function l(e,t,a,i){function o(e,n){for(var t=0;t";return i+=e+'">',i+n+o}function p(){if(!L.k)return n(M);var e="",t=0;L.lR.lastIndex=0;for(var r=L.lR.exec(M);r;){e+=n(M.substr(t,r.index-t));var a=g(L,r);a?(B+=a[1],e+=h(a[0],n(r[0]))):e+=n(r[0]),t=L.lR.lastIndex,r=L.lR.exec(M)}return e+n(M.substr(t))}function d(){var e="string"==typeof L.sL;if(e&&!R[L.sL])return n(M);var t=e?l(L.sL,M,!0,y[L.sL]):f(M,L.sL.length?L.sL:void 0);return L.r>0&&(B+=t.r),e&&(y[L.sL]=t.top),h(t.language,t.value,!1,!0)}function b(){return void 0!==L.sL?d():p()}function v(e,t){var r=e.cN?h(e.cN,"",!0):"";e.rB?(k+=r,M=""):e.eB?(k+=n(t)+r,M=""):(k+=r,M=t),L=Object.create(e,{parent:{value:L}})}function m(e,t){if(M+=e,void 0===t)return k+=b(),0;var r=o(t,L);if(r)return k+=b(),v(r,t),r.rB?0:t.length;var a=u(L,t);if(a){var i=L;i.rE||i.eE||(M+=t),k+=b();do L.cN&&(k+=""),B+=L.r,L=L.parent;while(L!=a.parent);return i.eE&&(k+=n(t)),M="",a.starts&&v(a.starts,""),i.rE?0:t.length}if(c(t,L))throw new Error('Illegal lexeme "'+t+'" for mode "'+(L.cN||"")+'"');return M+=t,t.length||1}var N=E(e);if(!N)throw new Error('Unknown language: "'+e+'"');s(N);var w,L=i||N,y={},k="";for(w=L;w!=N;w=w.parent)w.cN&&(k=h(w.cN,"",!0)+k);var M="",B=0;try{for(var C,j,I=0;;){if(L.t.lastIndex=I,C=L.t.exec(t),!C)break;j=m(t.substr(I,C.index-I),C[0]),I=C.index+j}for(m(t.substr(I)),w=L;w.parent;w=w.parent)w.cN&&(k+="");return{r:B,value:k,language:e,top:L}}catch(O){if(-1!=O.message.indexOf("Illegal"))return{r:0,value:n(t)};throw O}}function f(e,t){t=t||x.languages||Object.keys(R);var r={r:0,value:n(e)},a=r;return t.forEach(function(n){if(E(n)){var t=l(n,e,!1);t.language=n,t.r>a.r&&(a=t),t.r>r.r&&(a=r,r=t)}}),a.language&&(r.second_best=a),r}function g(e){return x.tabReplace&&(e=e.replace(/^((<[^>]+>|\t)+)/gm,function(e,n){return n.replace(/\t/g,x.tabReplace)})),x.useBR&&(e=e.replace(/\n/g,"
")),e}function h(e,n,t){var r=n?w[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),-1===e.indexOf(r)&&a.push(r),a.join(" ").trim()}function p(e){var n=i(e);if(!a(n)){var t;x.useBR?(t=document.createElementNS("http://www.w3.org/1999/xhtml","div"),t.innerHTML=e.innerHTML.replace(/\n/g,"").replace(/
/g,"\n")):t=e;var r=t.textContent,o=n?l(n,r,!0):f(r),s=u(t);if(s.length){var p=document.createElementNS("http://www.w3.org/1999/xhtml","div");p.innerHTML=o.value,o.value=c(s,u(p),r)}o.value=g(o.value),e.innerHTML=o.value,e.className=h(e.className,n,o.language),e.result={language:o.language,re:o.r},o.second_best&&(e.second_best={language:o.second_best.language,re:o.second_best.r})}}function d(e){x=o(x,e)}function b(){if(!b.called){b.called=!0;var e=document.querySelectorAll("pre code");Array.prototype.forEach.call(e,p)}}function v(){addEventListener("DOMContentLoaded",b,!1),addEventListener("load",b,!1)}function m(n,t){var r=R[n]=t(e);r.aliases&&r.aliases.forEach(function(e){w[e]=n})}function N(){return Object.keys(R)}function E(e){return e=(e||"").toLowerCase(),R[e]||R[w[e]]}var x={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0},R={},w={};return e.highlight=l,e.highlightAuto=f,e.fixMarkup=g,e.highlightBlock=p,e.configure=d,e.initHighlighting=b,e.initHighlightingOnLoad=v,e.registerLanguage=m,e.listLanguages=N,e.getLanguage=E,e.inherit=o,e.IR="[a-zA-Z]\\w*",e.UIR="[a-zA-Z_]\\w*",e.NR="\\b\\d+(\\.\\d+)?",e.CNR="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",e.BNR="\\b(0b[01]+)",e.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",e.BE={b:"\\\\[\\s\\S]",r:0},e.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[e.BE]},e.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[e.BE]},e.PWM={b:/\b(a|an|the|are|I|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|like)\b/},e.C=function(n,t,r){var a=e.inherit({cN:"comment",b:n,e:t,c:[]},r||{});return a.c.push(e.PWM),a.c.push({cN:"doctag",b:"(?:TODO|FIXME|NOTE|BUG|XXX):",r:0}),a},e.CLCM=e.C("//","$"),e.CBCM=e.C("/\\*","\\*/"),e.HCM=e.C("#","$"),e.NM={cN:"number",b:e.NR,r:0},e.CNM={cN:"number",b:e.CNR,r:0},e.BNM={cN:"number",b:e.BNR,r:0},e.CSSNM={cN:"number",b:e.NR+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",r:0},e.RM={cN:"regexp",b:/\//,e:/\/[gimuy]*/,i:/\n/,c:[e.BE,{b:/\[/,e:/\]/,r:0,c:[e.BE]}]},e.TM={cN:"title",b:e.IR,r:0},e.UTM={cN:"title",b:e.UIR,r:0},e});hljs.registerLanguage("php",function(e){var c={b:"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*"},a={cN:"meta",b:/<\?(php)?|\?>/},i={cN:"string",c:[e.BE,a],v:[{b:'b"',e:'"'},{b:"b'",e:"'"},e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},t={v:[e.BNM,e.CNM]};return{aliases:["php3","php4","php5","php6"],cI:!0,k:"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally",c:[e.CLCM,e.HCM,e.C("/\\*","\\*/",{c:[{cN:"doctag",b:"@[A-Za-z]+"},a]}),e.C("__halt_compiler.+?;",!1,{eW:!0,k:"__halt_compiler",l:e.UIR}),{cN:"string",b:/<<<['"]?\w+['"]?$/,e:/^\w+;?$/,c:[e.BE,{cN:"subst",v:[{b:/\$\w+/},{b:/\{\$/,e:/\}/}]}]},a,c,{b:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{cN:"function",bK:"function",e:/[;{]/,eE:!0,i:"\\$|\\[|%",c:[e.UTM,{cN:"params",b:"\\(",e:"\\)",c:["self",c,e.CBCM,i,t]}]},{cN:"class",bK:"class interface",e:"{",eE:!0,i:/[:\(\$"]/,c:[{bK:"extends implements"},e.UTM]},{bK:"namespace",e:";",i:/[\.']/,c:[e.UTM]},{bK:"use",e:";",c:[e.UTM]},{b:"=>"},i,t]}});hljs.registerLanguage("sql",function(e){var t=e.C("--","$");return{cI:!0,i:/[<>{}*]/,c:[{bK:"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke",e:/;/,eW:!0,k:{keyword:"abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias allocate allow alter always analyze ancillary and any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound buffer_cache buffer_pool build bulk by byte byteordermark bytes c cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle d data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration e each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain export export_set extended extent external external_1 external_2 externally extract f failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function g general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour http i id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists k keep keep_duplicates key keys kill l language large last last_day last_insert_id last_value lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim m main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex n name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding p package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second section securefile security seed segment select self sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime t table tables tablespace tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek",literal:"true false null",built_in:"array bigint binary bit blob boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text varchar varying void"},c:[{cN:"string",b:"'",e:"'",c:[e.BE,{b:"''"}]},{cN:"string",b:'"',e:'"',c:[e.BE,{b:'""'}]},{cN:"string",b:"`",e:"`",c:[e.BE]},e.CNM,e.CBCM,t]},e.CBCM,t]}});hljs.registerLanguage("less",function(e){var r="[\\w-]+",t="("+r+"|@{"+r+"})",a=[],c=[],s=function(e){return{cN:"string",b:"~?"+e+".*?"+e}},b=function(e,r,t){return{cN:e,b:r,r:t}},i={b:"\\(",e:"\\)",c:c,r:0};c.push(e.CLCM,e.CBCM,s("'"),s('"'),e.CSSNM,{b:"(url|data-uri)\\(",starts:{cN:"string",e:"[\\)\\n]",eE:!0}},b("number","#[0-9A-Fa-f]+\\b"),i,b("variable","@@?"+r,10),b("variable","@{"+r+"}"),b("built_in","~?`[^`]*?`"),{cN:"attribute",b:r+"\\s*:",e:":",rB:!0,eE:!0},{cN:"meta",b:"!important"});var n=c.concat({b:"{",e:"}",c:a}),o={bK:"when",eW:!0,c:[{bK:"and not"}].concat(c)},u={cN:"attribute",b:t,e:":",eE:!0,c:[e.CLCM,e.CBCM],i:/\S/,starts:{e:"[;}]",rE:!0,c:c,i:"[<=$]"}},C={cN:"keyword",b:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{e:"[;{}]",rE:!0,c:c,r:0}},l={cN:"variable",v:[{b:"@"+r+"\\s*:",r:15},{b:"@"+r}],starts:{e:"[;}]",rE:!0,c:n}},p={v:[{b:"[\\.#:&\\[]",e:"[;{}]"},{b:t+"[^;]*{",e:"{"}],rB:!0,rE:!0,i:"[<='$\"]",c:[e.CLCM,e.CBCM,o,b("keyword","all\\b"),b("variable","@{"+r+"}"),b("selector-tag",t+"%?",0),b("selector-id","#"+t),b("selector-class","\\."+t,0),b("selector-tag","&",0),{cN:"selector-attr",b:"\\[",e:"\\]"},{b:"\\(",e:"\\)",c:n},{b:"!important"}]};return a.push(e.CLCM,e.CBCM,C,l,p,u),{cI:!0,i:"[=>'/<($\"]",c:a}});hljs.registerLanguage("markdown",function(e){return{aliases:["md","mkdown","mkd"],c:[{cN:"section",v:[{b:"^#{1,6}",e:"$"},{b:"^.+?\\n[=-]{2,}$"}]},{b:"<",e:">",sL:"xml",r:0},{cN:"bullet",b:"^([*+-]|(\\d+\\.))\\s+"},{cN:"strong",b:"[*_]{2}.+?[*_]{2}"},{cN:"emphasis",v:[{b:"\\*.+?\\*"},{b:"_.+?_",r:0}]},{cN:"quote",b:"^>\\s+",e:"$"},{cN:"code",v:[{b:"`.+?`"},{b:"^( {4}| )",e:"$",r:0}]},{b:"^[-\\*]{3,}",e:"$"},{b:"\\[.+?\\][\\(\\[].*?[\\)\\]]",rB:!0,c:[{cN:"string",b:"\\[",e:"\\]",eB:!0,rE:!0,r:0},{cN:"link",b:"\\]\\(",e:"\\)",eB:!0,eE:!0},{cN:"symbol",b:"\\]\\[",e:"\\]",eB:!0,eE:!0}],r:10},{b:"^\\[.+\\]:",rB:!0,c:[{cN:"symbol",b:"\\[",e:"\\]:",eB:!0,eE:!0,starts:{cN:"link",e:"$"}}]}]}});hljs.registerLanguage("ruby",function(e){var b="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",c="and false then defined module in return redo if BEGIN retry end for true self when next until do begin unless END rescue nil else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",r={cN:"doctag",b:"@[A-Za-z]+"},a={b:"#<",e:">"},s=[e.C("#","$",{c:[r]}),e.C("^\\=begin","^\\=end",{c:[r],r:10}),e.C("^__END__","\\n$")],n={cN:"subst",b:"#\\{",e:"}",k:c},t={cN:"string",c:[e.BE,n],v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:/`/,e:/`/},{b:"%[qQwWx]?\\(",e:"\\)"},{b:"%[qQwWx]?\\[",e:"\\]"},{b:"%[qQwWx]?{",e:"}"},{b:"%[qQwWx]?<",e:">"},{b:"%[qQwWx]?/",e:"/"},{b:"%[qQwWx]?%",e:"%"},{b:"%[qQwWx]?-",e:"-"},{b:"%[qQwWx]?\\|",e:"\\|"},{b:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/}]},i={cN:"params",b:"\\(",e:"\\)",endsParent:!0,k:c},d=[t,a,{cN:"class",bK:"class module",e:"$|;",i:/=/,c:[e.inherit(e.TM,{b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{b:"<\\s*",c:[{b:"("+e.IR+"::)?"+e.IR}]}].concat(s)},{cN:"function",bK:"def",e:"$|;",c:[e.inherit(e.TM,{b:b}),i].concat(s)},{cN:"symbol",b:e.UIR+"(\\!|\\?)?:",r:0},{cN:"symbol",b:":",c:[t,{b:b}],r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{b:"("+e.RSR+")\\s*",c:[a,{cN:"regexp",c:[e.BE,n],i:/\n/,v:[{b:"/",e:"/[a-z]*"},{b:"%r{",e:"}[a-z]*"},{b:"%r\\(",e:"\\)[a-z]*"},{b:"%r!",e:"![a-z]*"},{b:"%r\\[",e:"\\][a-z]*"}]}].concat(s),r:0}].concat(s);n.c=d,i.c=d;var o="[>?]>",l="[\\w#]+\\(\\w+\\):\\d+:\\d+>",u="(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>",w=[{b:/^\s*=>/,starts:{e:"$",c:d}},{cN:"meta",b:"^("+o+"|"+l+"|"+u+")",starts:{e:"$",c:d}}];return{aliases:["rb","gemspec","podspec","thor","irb"],k:c,i:/\/\*/,c:s.concat(w).concat(d)}});hljs.registerLanguage("perl",function(e){var t="getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when",r={cN:"subst",b:"[$@]\\{",e:"\\}",k:t},s={b:"->{",e:"}"},n={v:[{b:/\$\d/},{b:/[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/},{b:/[\$%@][^\s\w{]/,r:0}]},i=[e.BE,r,n],o=[n,e.HCM,e.C("^\\=\\w","\\=cut",{eW:!0}),s,{cN:"string",c:i,v:[{b:"q[qwxr]?\\s*\\(",e:"\\)",r:5},{b:"q[qwxr]?\\s*\\[",e:"\\]",r:5},{b:"q[qwxr]?\\s*\\{",e:"\\}",r:5},{b:"q[qwxr]?\\s*\\|",e:"\\|",r:5},{b:"q[qwxr]?\\s*\\<",e:"\\>",r:5},{b:"qw\\s+q",e:"q",r:5},{b:"'",e:"'",c:[e.BE]},{b:'"',e:'"'},{b:"`",e:"`",c:[e.BE]},{b:"{\\w+}",c:[],r:0},{b:"-?\\w+\\s*\\=\\>",c:[],r:0}]},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\/\\/|"+e.RSR+"|\\b(split|return|print|reverse|grep)\\b)\\s*",k:"split return print reverse grep",r:0,c:[e.HCM,{cN:"regexp",b:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",r:10},{cN:"regexp",b:"(m|qr)?/",e:"/[a-z]*",c:[e.BE],r:0}]},{cN:"function",bK:"sub",e:"(\\s*\\(.*?\\))?[;{]",eE:!0,r:5,c:[e.TM]},{b:"-\\w\\b",r:0},{b:"^__DATA__$",e:"^__END__$",sL:"mojolicious",c:[{b:"^@@.*",e:"$",cN:"comment"}]}];return r.c=o,s.c=o,{aliases:["pl"],k:t,c:o}});hljs.registerLanguage("xml",function(s){var t="[A-Za-z0-9\\._:-]+",e={b:/<\?(php)?(?!\w)/,e:/\?>/,sL:"php"},r={eW:!0,i:/,r:0,c:[e,{cN:"attr",b:t,r:0},{b:"=",r:0,c:[{cN:"string",c:[e],v:[{b:/"/,e:/"/},{b:/'/,e:/'/},{b:/[^\s\/>]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xsl","plist"],cI:!0,c:[{cN:"meta",b:"",r:10,c:[{b:"\\[",e:"\\]"}]},s.C("",{r:10}),{b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{cN:"tag",b:"",rE:!0,sL:["css","xml"]}},{cN:"tag",b:"",rE:!0,sL:["actionscript","javascript","handlebars","xml"]}},e,{cN:"meta",b:/<\?\w+/,e:/\?>/,r:10},{cN:"tag",b:"?",e:"/?>",c:[{cN:"name",b:/[^\/><\s]+/,r:0},r]}]}});hljs.registerLanguage("cpp",function(t){var e={cN:"keyword",b:"\\b[a-z\\d_]*_t\\b"},r={cN:"string",v:[t.inherit(t.QSM,{b:'((u8?|U)|L)?"'}),{b:'(u8?|U)?R"',e:'"',c:[t.BE]},{b:"'\\\\?.",e:"'",i:"."}]},i={cN:"number",v:[{b:"\\b(\\d+(\\.\\d*)?|\\.\\d+)(u|U|l|L|ul|UL|f|F)"},{b:t.CNR}],r:0},s={cN:"meta",b:"#",e:"$",k:{"meta-keyword":"if else elif endif define undef warning error line pragma ifdef ifndef"},c:[{b:/\\\n/,r:0},{bK:"include",e:"$",k:{"meta-keyword":"include"},c:[t.inherit(r,{cN:"meta-string"}),{cN:"meta-string",b:"<",e:">",i:"\\n"}]},r,t.CLCM,t.CBCM]},a=t.IR+"\\s*\\(",c={keyword:"int float while private char catch export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const struct for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using class asm case typeid short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignof constexpr decltype noexcept static_assert thread_local restrict _Bool complex _Complex _Imaginary atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong",built_in:"std string cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr abort abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr",literal:"true false nullptr NULL"};return{aliases:["c","cc","h","c++","h++","hpp"],k:c,i:"",c:[e,t.CLCM,t.CBCM,i,r,s,{b:"\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<",e:">",k:c,c:["self",e]},{b:t.IR+"::",k:c},{bK:"new throw return else",r:0},{cN:"function",b:"("+t.IR+"[\\*&\\s]+)+"+a,rB:!0,e:/[{;=]/,eE:!0,k:c,i:/[^\w\s\*&]/,c:[{b:a,rB:!0,c:[t.TM],r:0},{cN:"params",b:/\(/,e:/\)/,k:c,r:0,c:[t.CLCM,t.CBCM,r,i]},t.CLCM,t.CBCM,s]}]}});hljs.registerLanguage("css",function(e){var c="[a-zA-Z-][a-zA-Z0-9_-]*",t={b:/[A-Z\_\.\-]+\s*:/,rB:!0,e:";",eW:!0,c:[{cN:"attribute",b:/\S/,e:":",eE:!0,starts:{eW:!0,eE:!0,c:[{b:/[\w-]+\s*\(/,rB:!0,c:[{cN:"built_in",b:/[\w-]+/}]},e.CSSNM,e.QSM,e.ASM,e.CBCM,{cN:"number",b:"#[0-9A-Fa-f]+"},{cN:"meta",b:"!important"}]}}]};return{cI:!0,i:/[=\/|'\$]/,c:[e.CBCM,{cN:"selector-id",b:/#[A-Za-z0-9_-]+/},{cN:"selector-class",b:/\.[A-Za-z0-9_-]+/},{cN:"selector-attr",b:/\[/,e:/\]/,i:"$"},{cN:"selector-pseudo",b:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{b:"@(font-face|page)",l:"[a-z-]+",k:"font-face page"},{b:"@",e:"[{;]",c:[{cN:"keyword",b:/\S+/},{b:/\s/,eW:!0,eE:!0,r:0,c:[e.ASM,e.QSM,e.CSSNM]}]},{cN:"selector-tag",b:c,r:0},{b:"{",e:"}",i:/\S/,c:[e.CBCM,t]}]}});hljs.registerLanguage("lua",function(e){var t="\\[=*\\[",a="\\]=*\\]",r={b:t,e:a,c:["self"]},n=[e.C("--(?!"+t+")","$"),e.C("--"+t,a,{c:[r],r:10})];return{l:e.UIR,k:{keyword:"and break do else elseif end false for if in local nil not or repeat return then true until while",built_in:"_G _VERSION assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall coroutine debug io math os package string table"},c:n.concat([{cN:"function",bK:"function",e:"\\)",c:[e.inherit(e.TM,{b:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{cN:"params",b:"\\(",eW:!0,c:n}].concat(n)},e.CNM,e.ASM,e.QSM,{cN:"string",b:t,e:a,c:[r],r:5}])}});hljs.registerLanguage("coffeescript",function(e){var c={keyword:"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super then unless until loop of by when and or is isnt not",literal:"true false null undefined yes no on off",built_in:"npm require console print module global window document"},n="[A-Za-z$_][0-9A-Za-z$_]*",r={cN:"subst",b:/#\{/,e:/}/,k:c},s=[e.BNM,e.inherit(e.CNM,{starts:{e:"(\\s*/)?",r:0}}),{cN:"string",v:[{b:/'''/,e:/'''/,c:[e.BE]},{b:/'/,e:/'/,c:[e.BE]},{b:/"""/,e:/"""/,c:[e.BE,r]},{b:/"/,e:/"/,c:[e.BE,r]}]},{cN:"regexp",v:[{b:"///",e:"///",c:[r,e.HCM]},{b:"//[gim]*",r:0},{b:/\/(?![ *])(\\\/|.)*?\/[gim]*(?=\W|$)/}]},{b:"@"+n},{b:"`",e:"`",eB:!0,eE:!0,sL:"javascript"}];r.c=s;var i=e.inherit(e.TM,{b:n}),t="(\\(.*\\))?\\s*\\B[-=]>",o={cN:"params",b:"\\([^\\(]",rB:!0,c:[{b:/\(/,e:/\)/,k:c,c:["self"].concat(s)}]};return{aliases:["coffee","cson","iced"],k:c,i:/\/\*/,c:s.concat([e.C("###","###"),e.HCM,{cN:"function",b:"^\\s*"+n+"\\s*=\\s*"+t,e:"[-=]>",rB:!0,c:[i,o]},{b:/[:\(,=]\s*/,r:0,c:[{cN:"function",b:t,e:"[-=]>",rB:!0,c:[o]}]},{cN:"class",bK:"class",e:"$",i:/[:="\[\]]/,c:[{bK:"extends",eW:!0,i:/[:="\[\]]/,c:[i]},i]},{b:n+":",e:":",rB:!0,rE:!0,r:0}])}});hljs.registerLanguage("java",function(e){var a=e.UIR+"(<"+e.UIR+"(\\s*,\\s*"+e.UIR+")*>)?",t="false synchronized int abstract float private char boolean static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private",r="\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?|\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))([eE][-+]?\\d+)?)[lLfF]?",c={cN:"number",b:r,r:0};return{aliases:["jsp"],k:t,i:/<\/|#/,c:[e.C("/\\*\\*","\\*/",{r:0,c:[{b:/\w+@/,r:0},{cN:"doctag",b:"@[A-Za-z]+"}]}),e.CLCM,e.CBCM,e.ASM,e.QSM,{cN:"class",bK:"class interface",e:/[{;=]/,eE:!0,k:"class interface",i:/[:"\[\]]/,c:[{bK:"extends implements"},e.UTM]},{bK:"new throw return else",r:0},{cN:"function",b:"("+a+"\\s+)+"+e.UIR+"\\s*\\(",rB:!0,e:/[{;=]/,eE:!0,k:t,c:[{b:e.UIR+"\\s*\\(",rB:!0,r:0,c:[e.UTM]},{cN:"params",b:/\(/,e:/\)/,k:t,r:0,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]},c,{cN:"meta",b:"@[A-Za-z]+"}]}});hljs.registerLanguage("javascript",function(e){return{aliases:["js"],k:{keyword:"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await import from as",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise"},c:[{cN:"meta",r:10,b:/^\s*['"]use (strict|asm)['"]/},{cN:"meta",b:/^#!/,e:/$/},e.ASM,e.QSM,{cN:"string",b:"`",e:"`",c:[e.BE,{cN:"subst",b:"\\$\\{",e:"\\}"}]},e.CLCM,e.CBCM,{cN:"number",v:[{b:"\\b(0[bB][01]+)"},{b:"\\b(0[oO][0-7]+)"},{b:e.CNR}],r:0},{b:"("+e.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[e.CLCM,e.CBCM,e.RM,{b:/,e:/>\s*[);\]]/,r:0,sL:"xml"}],r:0},{cN:"function",bK:"function",e:/\{/,eE:!0,c:[e.inherit(e.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,c:[e.CLCM,e.CBCM]}],i:/\[|%/},{b:/\$[(.]/},{b:"\\."+e.IR,r:0},{cN:"class",bK:"class",e:/[{;=]/,eE:!0,i:/[:"\[\]]/,c:[{bK:"extends"},e.UTM]},{bK:"constructor",e:/\{/,eE:!0}],i:/#(?!!)/}});hljs.registerLanguage("cs",function(e){var t="abstract as base bool break byte case catch char checked const continue decimal dynamic default delegate do double else enum event explicit extern false finally fixed float for foreach goto if implicit in int interface internal is lock long null when object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this true try typeof uint ulong unchecked unsafe ushort using virtual volatile void while async protected public private internal ascending descending from get group into join let orderby partial select set value var where yield",r=e.IR+"(<"+e.IR+">)?";return{aliases:["csharp"],k:t,i:/::/,c:[e.C("///","$",{rB:!0,c:[{cN:"doctag",v:[{b:"///",r:0},{b:""},{b:"?",e:">"}]}]}),e.CLCM,e.CBCM,{cN:"meta",b:"#",e:"$",k:{"meta-keyword":"if else elif endif define undef warning error line region endregion pragma checksum"}},{cN:"string",b:'@"',e:'"',c:[{b:'""'}]},e.ASM,e.QSM,e.CNM,{bK:"class interface",e:/[{;=]/,i:/[^\s:]/,c:[e.TM,e.CLCM,e.CBCM]},{bK:"namespace",e:/[{;=]/,i:/[^\s:]/,c:[e.inherit(e.TM,{b:"[a-zA-Z](\\.?\\w)*"}),e.CLCM,e.CBCM]},{bK:"new return throw await",r:0},{cN:"function",b:"("+r+"\\s+)+"+e.IR+"\\s*\\(",rB:!0,e:/[{;=]/,eE:!0,k:t,c:[{b:e.IR+"\\s*\\(",rB:!0,c:[e.TM],r:0},{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,k:t,r:0,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]}]}});hljs.registerLanguage("bash",function(e){var t={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)}/}]},s={cN:"string",b:/"/,e:/"/,c:[e.BE,t,{cN:"variable",b:/\$\(/,e:/\)/,c:[e.BE]}]},a={cN:"string",b:/'/,e:/'/};return{aliases:["sh","zsh"],l:/-?[a-z\.]+/,k:{keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},c:[{cN:"meta",b:/^#![^\n]+sh\s*$/,r:10},{cN:"function",b:/\w[\w\d_]*\s*\(\s*\)\s*\{/,rB:!0,c:[e.inherit(e.TM,{b:/\w[\w\d_]*/})],r:0},e.HCM,s,a,t]}});hljs.registerLanguage("python",function(e){var r={cN:"meta",b:/^(>>>|\.\.\.) /},b={cN:"string",c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,c:[r],r:10},{b:/(u|b)?r?"""/,e:/"""/,c:[r],r:10},{b:/(u|r|ur)'/,e:/'/,r:10},{b:/(u|r|ur)"/,e:/"/,r:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)"/,e:/"/},e.ASM,e.QSM]},a={cN:"number",r:0,v:[{b:e.BNR+"[lLjJ]?"},{b:"\\b(0o[0-7]+)[lLjJ]?"},{b:e.CNR+"[lLjJ]?"}]},l={cN:"params",b:/\(/,e:/\)/,c:["self",r,a,b]};return{aliases:["py","gyp"],k:{keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda async await nonlocal|10 None True False",built_in:"Ellipsis NotImplemented"},i:/(<\/|->|\?)/,c:[r,a,b,e.HCM,{v:[{cN:"function",bK:"def",r:10},{cN:"class",bK:"class"}],e:/:/,i:/[${=;\n,]/,c:[e.UTM,l,{b:/->/,eW:!0,k:"None"}]},{cN:"meta",b:/^[\t ]*@/,e:/$/},{b:/\b(print|exec)\(/}]}});hljs.registerLanguage("json",function(e){var t={literal:"true false null"},i=[e.QSM,e.CNM],r={e:",",eW:!0,eE:!0,c:i,k:t},s={b:"{",e:"}",c:[{cN:"attr",b:'\\s*"',e:'"\\s*:\\s*',eB:!0,eE:!0,c:[e.BE],i:"\\n",starts:r}],i:"\\S"},n={b:"\\[",e:"\\]",c:[e.inherit(r)],i:"\\S"};return i.splice(i.length,0,s,n),{c:i,k:t,i:"\\S"}});
\ No newline at end of file
diff --git a/static/jquery-emoji/lib/script/jquery.mCustomScrollbar.min.js b/static/jquery-emoji/lib/script/jquery.mCustomScrollbar.min.js
new file mode 100644
index 0000000000000000000000000000000000000000..37a2595ea307a3ef1b67ecbe239ae7bce2dc77b7
--- /dev/null
+++ b/static/jquery-emoji/lib/script/jquery.mCustomScrollbar.min.js
@@ -0,0 +1,4 @@
+/* == malihu jquery custom scrollbar plugin == Version: 3.1.3, License: MIT License (MIT) */
+!function(e){"undefined"!=typeof module&&module.exports?module.exports=e:e(jQuery,window,document)}(function(e){!function(t){var o="function"==typeof define&&define.amd,a="undefined"!=typeof module&&module.exports,n="https:"==document.location.protocol?"https:":"http:",i="cdnjs.cloudflare.com/ajax/libs/jquery-mousewheel/3.1.13/jquery.mousewheel.min.js";o||(a?require("jquery-mousewheel")(e):e.event.special.mousewheel||e("head").append(decodeURI("%3Cscript src="+n+"//"+i+"%3E%3C/script%3E"))),t()}(function(){var t,o="mCustomScrollbar",a="mCS",n=".mCustomScrollbar",i={setTop:0,setLeft:0,axis:"y",scrollbarPosition:"inside",scrollInertia:950,autoDraggerLength:!0,alwaysShowScrollbar:0,snapOffset:0,mouseWheel:{enable:!0,scrollAmount:"auto",axis:"y",deltaFactor:"auto",disableOver:["select","option","keygen","datalist","textarea"]},scrollButtons:{scrollType:"stepless",scrollAmount:"auto"},keyboard:{enable:!0,scrollType:"stepless",scrollAmount:"auto"},contentTouchScroll:25,documentTouchScroll:!0,advanced:{autoScrollOnFocus:"input,textarea,select,button,datalist,keygen,a[tabindex],area,object,[contenteditable='true']",updateOnContentResize:!0,updateOnImageLoad:"auto",autoUpdateTimeout:60},theme:"light",callbacks:{onTotalScrollOffset:0,onTotalScrollBackOffset:0,alwaysTriggerOffsets:!0}},r=0,l={},s=window.attachEvent&&!window.addEventListener?1:0,c=!1,d=["mCSB_dragger_onDrag","mCSB_scrollTools_onDrag","mCS_img_loaded","mCS_disabled","mCS_destroyed","mCS_no_scrollbar","mCS-autoHide","mCS-dir-rtl","mCS_no_scrollbar_y","mCS_no_scrollbar_x","mCS_y_hidden","mCS_x_hidden","mCSB_draggerContainer","mCSB_buttonUp","mCSB_buttonDown","mCSB_buttonLeft","mCSB_buttonRight"],u={init:function(t){var t=e.extend(!0,{},i,t),o=f.call(this);if(t.live){var s=t.liveSelector||this.selector||n,c=e(s);if("off"===t.live)return void m(s);l[s]=setTimeout(function(){c.mCustomScrollbar(t),"once"===t.live&&c.length&&m(s)},500)}else m(s);return t.setWidth=t.set_width?t.set_width:t.setWidth,t.setHeight=t.set_height?t.set_height:t.setHeight,t.axis=t.horizontalScroll?"x":p(t.axis),t.scrollInertia=t.scrollInertia>0&&t.scrollInertia<17?17:t.scrollInertia,"object"!=typeof t.mouseWheel&&1==t.mouseWheel&&(t.mouseWheel={enable:!0,scrollAmount:"auto",axis:"y",preventDefault:!1,deltaFactor:"auto",normalizeDelta:!1,invert:!1}),t.mouseWheel.scrollAmount=t.mouseWheelPixels?t.mouseWheelPixels:t.mouseWheel.scrollAmount,t.mouseWheel.normalizeDelta=t.advanced.normalizeMouseWheelDelta?t.advanced.normalizeMouseWheelDelta:t.mouseWheel.normalizeDelta,t.scrollButtons.scrollType=g(t.scrollButtons.scrollType),h(t),e(o).each(function(){var o=e(this);if(!o.data(a)){o.data(a,{idx:++r,opt:t,scrollRatio:{y:null,x:null},overflowed:null,contentReset:{y:null,x:null},bindEvents:!1,tweenRunning:!1,sequential:{},langDir:o.css("direction"),cbOffsets:null,trigger:null,poll:{size:{o:0,n:0},img:{o:0,n:0},change:{o:0,n:0}}});var n=o.data(a),i=n.opt,l=o.data("mcs-axis"),s=o.data("mcs-scrollbar-position"),c=o.data("mcs-theme");l&&(i.axis=l),s&&(i.scrollbarPosition=s),c&&(i.theme=c,h(i)),v.call(this),n&&i.callbacks.onCreate&&"function"==typeof i.callbacks.onCreate&&i.callbacks.onCreate.call(this),e("#mCSB_"+n.idx+"_container img:not(."+d[2]+")").addClass(d[2]),u.update.call(null,o)}})},update:function(t,o){var n=t||f.call(this);return e(n).each(function(){var t=e(this);if(t.data(a)){var n=t.data(a),i=n.opt,r=e("#mCSB_"+n.idx+"_container"),l=e("#mCSB_"+n.idx),s=[e("#mCSB_"+n.idx+"_dragger_vertical"),e("#mCSB_"+n.idx+"_dragger_horizontal")];if(!r.length)return;n.tweenRunning&&N(t),o&&n&&i.callbacks.onBeforeUpdate&&"function"==typeof i.callbacks.onBeforeUpdate&&i.callbacks.onBeforeUpdate.call(this),t.hasClass(d[3])&&t.removeClass(d[3]),t.hasClass(d[4])&&t.removeClass(d[4]),l.css("max-height","none"),l.height()!==t.height()&&l.css("max-height",t.height()),_.call(this),"y"===i.axis||i.advanced.autoExpandHorizontalScroll||r.css("width",x(r)),n.overflowed=y.call(this),M.call(this),i.autoDraggerLength&&S.call(this),b.call(this),T.call(this);var c=[Math.abs(r[0].offsetTop),Math.abs(r[0].offsetLeft)];"x"!==i.axis&&(n.overflowed[0]?s[0].height()>s[0].parent().height()?B.call(this):(V(t,c[0].toString(),{dir:"y",dur:0,overwrite:"none"}),n.contentReset.y=null):(B.call(this),"y"===i.axis?k.call(this):"yx"===i.axis&&n.overflowed[1]&&V(t,c[1].toString(),{dir:"x",dur:0,overwrite:"none"}))),"y"!==i.axis&&(n.overflowed[1]?s[1].width()>s[1].parent().width()?B.call(this):(V(t,c[1].toString(),{dir:"x",dur:0,overwrite:"none"}),n.contentReset.x=null):(B.call(this),"x"===i.axis?k.call(this):"yx"===i.axis&&n.overflowed[0]&&V(t,c[0].toString(),{dir:"y",dur:0,overwrite:"none"}))),o&&n&&(2===o&&i.callbacks.onImageLoad&&"function"==typeof i.callbacks.onImageLoad?i.callbacks.onImageLoad.call(this):3===o&&i.callbacks.onSelectorChange&&"function"==typeof i.callbacks.onSelectorChange?i.callbacks.onSelectorChange.call(this):i.callbacks.onUpdate&&"function"==typeof i.callbacks.onUpdate&&i.callbacks.onUpdate.call(this)),X.call(this)}})},scrollTo:function(t,o){if("undefined"!=typeof t&&null!=t){var n=f.call(this);return e(n).each(function(){var n=e(this);if(n.data(a)){var i=n.data(a),r=i.opt,l={trigger:"external",scrollInertia:r.scrollInertia,scrollEasing:"mcsEaseInOut",moveDragger:!1,timeout:60,callbacks:!0,onStart:!0,onUpdate:!0,onComplete:!0},s=e.extend(!0,{},l,o),c=q.call(this,t),d=s.scrollInertia>0&&s.scrollInertia<17?17:s.scrollInertia;c[0]=Y.call(this,c[0],"y"),c[1]=Y.call(this,c[1],"x"),s.moveDragger&&(c[0]*=i.scrollRatio.y,c[1]*=i.scrollRatio.x),s.dur=oe()?0:d,setTimeout(function(){null!==c[0]&&"undefined"!=typeof c[0]&&"x"!==r.axis&&i.overflowed[0]&&(s.dir="y",s.overwrite="all",V(n,c[0].toString(),s)),null!==c[1]&&"undefined"!=typeof c[1]&&"y"!==r.axis&&i.overflowed[1]&&(s.dir="x",s.overwrite="none",V(n,c[1].toString(),s))},s.timeout)}})}},stop:function(){var t=f.call(this);return e(t).each(function(){var t=e(this);t.data(a)&&N(t)})},disable:function(t){var o=f.call(this);return e(o).each(function(){var o=e(this);if(o.data(a)){{o.data(a)}X.call(this,"remove"),k.call(this),t&&B.call(this),M.call(this,!0),o.addClass(d[3])}})},destroy:function(){var t=f.call(this);return e(t).each(function(){var n=e(this);if(n.data(a)){var i=n.data(a),r=i.opt,l=e("#mCSB_"+i.idx),s=e("#mCSB_"+i.idx+"_container"),c=e(".mCSB_"+i.idx+"_scrollbar");r.live&&m(r.liveSelector||e(t).selector),X.call(this,"remove"),k.call(this),B.call(this),n.removeData(a),K(this,"mcs"),c.remove(),s.find("img."+d[2]).removeClass(d[2]),l.replaceWith(s.contents()),n.removeClass(o+" _"+a+"_"+i.idx+" "+d[6]+" "+d[7]+" "+d[5]+" "+d[3]).addClass(d[4])}})}},f=function(){return"object"!=typeof e(this)||e(this).length<1?n:this},h=function(t){var o=["rounded","rounded-dark","rounded-dots","rounded-dots-dark"],a=["rounded-dots","rounded-dots-dark","3d","3d-dark","3d-thick","3d-thick-dark","inset","inset-dark","inset-2","inset-2-dark","inset-3","inset-3-dark"],n=["minimal","minimal-dark"],i=["minimal","minimal-dark"],r=["minimal","minimal-dark"];t.autoDraggerLength=e.inArray(t.theme,o)>-1?!1:t.autoDraggerLength,t.autoExpandScrollbar=e.inArray(t.theme,a)>-1?!1:t.autoExpandScrollbar,t.scrollButtons.enable=e.inArray(t.theme,n)>-1?!1:t.scrollButtons.enable,t.autoHideScrollbar=e.inArray(t.theme,i)>-1?!0:t.autoHideScrollbar,t.scrollbarPosition=e.inArray(t.theme,r)>-1?"outside":t.scrollbarPosition},m=function(e){l[e]&&(clearTimeout(l[e]),K(l,e))},p=function(e){return"yx"===e||"xy"===e||"auto"===e?"yx":"x"===e||"horizontal"===e?"x":"y"},g=function(e){return"stepped"===e||"pixels"===e||"step"===e||"click"===e?"stepped":"stepless"},v=function(){var t=e(this),n=t.data(a),i=n.opt,r=i.autoExpandScrollbar?" "+d[1]+"_expand":"",l=["",""],s="yx"===i.axis?"mCSB_vertical_horizontal":"x"===i.axis?"mCSB_horizontal":"mCSB_vertical",c="yx"===i.axis?l[0]+l[1]:"x"===i.axis?l[1]:l[0],u="yx"===i.axis?"":"",f=i.autoHideScrollbar?" "+d[6]:"",h="x"!==i.axis&&"rtl"===n.langDir?" "+d[7]:"";i.setWidth&&t.css("width",i.setWidth),i.setHeight&&t.css("height",i.setHeight),i.setLeft="y"!==i.axis&&"rtl"===n.langDir?"989999px":i.setLeft,t.addClass(o+" _"+a+"_"+n.idx+f+h).wrapInner("");var m=e("#mCSB_"+n.idx),p=e("#mCSB_"+n.idx+"_container");"y"===i.axis||i.advanced.autoExpandHorizontalScroll||p.css("width",x(p)),"outside"===i.scrollbarPosition?("static"===t.css("position")&&t.css("position","relative"),t.css("overflow","visible"),m.addClass("mCSB_outside").after(c)):(m.addClass("mCSB_inside").append(c),p.wrap(u)),w.call(this);var g=[e("#mCSB_"+n.idx+"_dragger_vertical"),e("#mCSB_"+n.idx+"_dragger_horizontal")];g[0].css("min-height",g[0].height()),g[1].css("min-width",g[1].width())},x=function(t){var o=[t[0].scrollWidth,Math.max.apply(Math,t.children().map(function(){return e(this).outerWidth(!0)}).get())],a=t.parent().width();return o[0]>a?o[0]:o[1]>a?o[1]:"100%"},_=function(){var t=e(this),o=t.data(a),n=o.opt,i=e("#mCSB_"+o.idx+"_container");if(n.advanced.autoExpandHorizontalScroll&&"y"!==n.axis){i.css({width:"auto","min-width":0,"overflow-x":"scroll"});var r=Math.ceil(i[0].scrollWidth);3===n.advanced.autoExpandHorizontalScroll||2!==n.advanced.autoExpandHorizontalScroll&&r>i.parent().width()?i.css({width:r,"min-width":"100%","overflow-x":"inherit"}):i.css({"overflow-x":"inherit",position:"absolute"}).wrap("").css({width:Math.ceil(i[0].getBoundingClientRect().right+.4)-Math.floor(i[0].getBoundingClientRect().left),"min-width":"100%",position:"relative"}).unwrap()}},w=function(){var t=e(this),o=t.data(a),n=o.opt,i=e(".mCSB_"+o.idx+"_scrollbar:first"),r=ee(n.scrollButtons.tabindex)?"tabindex='"+n.scrollButtons.tabindex+"'":"",l=["","","",""],s=["x"===n.axis?l[2]:l[0],"x"===n.axis?l[3]:l[1],l[2],l[3]];n.scrollButtons.enable&&i.prepend(s[0]).append(s[1]).next(".mCSB_scrollTools").prepend(s[2]).append(s[3])},S=function(){var t=e(this),o=t.data(a),n=e("#mCSB_"+o.idx),i=e("#mCSB_"+o.idx+"_container"),r=[e("#mCSB_"+o.idx+"_dragger_vertical"),e("#mCSB_"+o.idx+"_dragger_horizontal")],l=[n.height()/i.outerHeight(!1),n.width()/i.outerWidth(!1)],c=[parseInt(r[0].css("min-height")),Math.round(l[0]*r[0].parent().height()),parseInt(r[1].css("min-width")),Math.round(l[1]*r[1].parent().width())],d=s&&c[1]r&&(r=s),c>l&&(l=c),[r>n.height(),l>n.width()]},B=function(){var t=e(this),o=t.data(a),n=o.opt,i=e("#mCSB_"+o.idx),r=e("#mCSB_"+o.idx+"_container"),l=[e("#mCSB_"+o.idx+"_dragger_vertical"),e("#mCSB_"+o.idx+"_dragger_horizontal")];if(N(t),("x"!==n.axis&&!o.overflowed[0]||"y"===n.axis&&o.overflowed[0])&&(l[0].add(r).css("top",0),V(t,"_resetY")),"y"!==n.axis&&!o.overflowed[1]||"x"===n.axis&&o.overflowed[1]){var s=dx=0;"rtl"===o.langDir&&(s=i.width()-r.outerWidth(!1),dx=Math.abs(s/o.scrollRatio.x)),r.css("left",s),l[1].css("left",dx),V(t,"_resetX")}},T=function(){function t(){r=setTimeout(function(){e.event.special.mousewheel?(clearTimeout(r),R.call(o[0])):t()},100)}var o=e(this),n=o.data(a),i=n.opt;if(!n.bindEvents){if(I.call(this),i.contentTouchScroll&&D.call(this),E.call(this),i.mouseWheel.enable){var r;t()}L.call(this),P.call(this),i.advanced.autoScrollOnFocus&&z.call(this),i.scrollButtons.enable&&H.call(this),i.keyboard.enable&&U.call(this),n.bindEvents=!0}},k=function(){var t=e(this),o=t.data(a),n=o.opt,i=a+"_"+o.idx,r=".mCSB_"+o.idx+"_scrollbar",l=e("#mCSB_"+o.idx+",#mCSB_"+o.idx+"_container,#mCSB_"+o.idx+"_container_wrapper,"+r+" ."+d[12]+",#mCSB_"+o.idx+"_dragger_vertical,#mCSB_"+o.idx+"_dragger_horizontal,"+r+">a"),s=e("#mCSB_"+o.idx+"_container");n.advanced.releaseDraggableSelectors&&l.add(e(n.advanced.releaseDraggableSelectors)),n.advanced.extraDraggableSelectors&&l.add(e(n.advanced.extraDraggableSelectors)),o.bindEvents&&(e(document).add(e(!W()||top.document)).unbind("."+i),l.each(function(){e(this).unbind("."+i)}),clearTimeout(t[0]._focusTimeout),K(t[0],"_focusTimeout"),clearTimeout(o.sequential.step),K(o.sequential,"step"),clearTimeout(s[0].onCompleteTimeout),K(s[0],"onCompleteTimeout"),o.bindEvents=!1)},M=function(t){var o=e(this),n=o.data(a),i=n.opt,r=e("#mCSB_"+n.idx+"_container_wrapper"),l=r.length?r:e("#mCSB_"+n.idx+"_container"),s=[e("#mCSB_"+n.idx+"_scrollbar_vertical"),e("#mCSB_"+n.idx+"_scrollbar_horizontal")],c=[s[0].find(".mCSB_dragger"),s[1].find(".mCSB_dragger")];"x"!==i.axis&&(n.overflowed[0]&&!t?(s[0].add(c[0]).add(s[0].children("a")).css("display","block"),l.removeClass(d[8]+" "+d[10])):(i.alwaysShowScrollbar?(2!==i.alwaysShowScrollbar&&c[0].css("display","none"),l.removeClass(d[10])):(s[0].css("display","none"),l.addClass(d[10])),l.addClass(d[8]))),"y"!==i.axis&&(n.overflowed[1]&&!t?(s[1].add(c[1]).add(s[1].children("a")).css("display","block"),l.removeClass(d[9]+" "+d[11])):(i.alwaysShowScrollbar?(2!==i.alwaysShowScrollbar&&c[1].css("display","none"),l.removeClass(d[11])):(s[1].css("display","none"),l.addClass(d[11])),l.addClass(d[9]))),n.overflowed[0]||n.overflowed[1]?o.removeClass(d[5]):o.addClass(d[5])},O=function(t){var o=t.type,a=t.target.ownerDocument!==document?[e(frameElement).offset().top,e(frameElement).offset().left]:null,n=W()&&t.target.ownerDocument!==top.document?[e(t.view.frameElement).offset().top,e(t.view.frameElement).offset().left]:[0,0];switch(o){case"pointerdown":case"MSPointerDown":case"pointermove":case"MSPointerMove":case"pointerup":case"MSPointerUp":return a?[t.originalEvent.pageY-a[0]+n[0],t.originalEvent.pageX-a[1]+n[1],!1]:[t.originalEvent.pageY,t.originalEvent.pageX,!1];case"touchstart":case"touchmove":case"touchend":var i=t.originalEvent.touches[0]||t.originalEvent.changedTouches[0],r=t.originalEvent.touches.length||t.originalEvent.changedTouches.length;return t.target.ownerDocument!==document?[i.screenY,i.screenX,r>1]:[i.pageY,i.pageX,r>1];default:return a?[t.pageY-a[0]+n[0],t.pageX-a[1]+n[1],!1]:[t.pageY,t.pageX,!1]}},I=function(){function t(e){var t=m.find("iframe");if(t.length){var o=e?"auto":"none";t.css("pointer-events",o)}}function o(e,t,o,a){if(m[0].idleTimer=u.scrollInertia<233?250:0,n.attr("id")===h[1])var i="x",r=(n[0].offsetLeft-t+a)*d.scrollRatio.x;else var i="y",r=(n[0].offsetTop-e+o)*d.scrollRatio.y;V(l,r.toString(),{dir:i,drag:!0})}var n,i,r,l=e(this),d=l.data(a),u=d.opt,f=a+"_"+d.idx,h=["mCSB_"+d.idx+"_dragger_vertical","mCSB_"+d.idx+"_dragger_horizontal"],m=e("#mCSB_"+d.idx+"_container"),p=e("#"+h[0]+",#"+h[1]),g=u.advanced.releaseDraggableSelectors?p.add(e(u.advanced.releaseDraggableSelectors)):p,v=u.advanced.extraDraggableSelectors?e(!W()||top.document).add(e(u.advanced.extraDraggableSelectors)):e(!W()||top.document);p.bind("mousedown."+f+" touchstart."+f+" pointerdown."+f+" MSPointerDown."+f,function(o){if(o.stopImmediatePropagation(),o.preventDefault(),Z(o)){c=!0,s&&(document.onselectstart=function(){return!1}),t(!1),N(l),n=e(this);var a=n.offset(),d=O(o)[0]-a.top,f=O(o)[1]-a.left,h=n.height()+a.top,m=n.width()+a.left;h>d&&d>0&&m>f&&f>0&&(i=d,r=f),C(n,"active",u.autoExpandScrollbar)}}).bind("touchmove."+f,function(e){e.stopImmediatePropagation(),e.preventDefault();var t=n.offset(),a=O(e)[0]-t.top,l=O(e)[1]-t.left;o(i,r,a,l)}),e(document).add(v).bind("mousemove."+f+" pointermove."+f+" MSPointerMove."+f,function(e){if(n){var t=n.offset(),a=O(e)[0]-t.top,l=O(e)[1]-t.left;if(i===a&&r===l)return;o(i,r,a,l)}}).add(g).bind("mouseup."+f+" touchend."+f+" pointerup."+f+" MSPointerUp."+f,function(e){n&&(C(n,"active",u.autoExpandScrollbar),n=null),c=!1,s&&(document.onselectstart=null),t(!0)})},D=function(){function o(e){if(!$(e)||c||O(e)[2])return void(t=0);t=1,b=0,C=0,d=1,y.removeClass("mCS_touch_action");var o=I.offset();u=O(e)[0]-o.top,f=O(e)[1]-o.left,z=[O(e)[0],O(e)[1]]}function n(e){if($(e)&&!c&&!O(e)[2]&&(T.documentTouchScroll||e.preventDefault(),e.stopImmediatePropagation(),(!C||b)&&d)){g=G();var t=M.offset(),o=O(e)[0]-t.top,a=O(e)[1]-t.left,n="mcsLinearOut";if(E.push(o),R.push(a),z[2]=Math.abs(O(e)[0]-z[0]),z[3]=Math.abs(O(e)[1]-z[1]),B.overflowed[0])var i=D[0].parent().height()-D[0].height(),r=u-o>0&&o-u>-(i*B.scrollRatio.y)&&(2*z[3]0&&a-f>-(l*B.scrollRatio.x)&&(2*z[2]30)){_=1e3/(v-p);var n="mcsEaseOut",i=2.5>_,r=i?[E[E.length-2],R[R.length-2]]:[0,0];x=i?[o-r[0],a-r[1]]:[o-h,a-m];var u=[Math.abs(x[0]),Math.abs(x[1])];_=i?[Math.abs(x[0]/4),Math.abs(x[1]/4)]:[_,_];var f=[Math.abs(I[0].offsetTop)-x[0]*l(u[0]/_[0],_[0]),Math.abs(I[0].offsetLeft)-x[1]*l(u[1]/_[1],_[1])];w="yx"===T.axis?[f[0],f[1]]:"x"===T.axis?[null,f[1]]:[f[0],null],S=[4*u[0]+T.scrollInertia,4*u[1]+T.scrollInertia];var y=parseInt(T.contentTouchScroll)||0;w[0]=u[0]>y?w[0]:0,w[1]=u[1]>y?w[1]:0,B.overflowed[0]&&s(w[0],S[0],n,"y",L,!1),B.overflowed[1]&&s(w[1],S[1],n,"x",L,!1)}}}function l(e,t){var o=[1.5*t,2*t,t/1.5,t/2];return e>90?t>4?o[0]:o[3]:e>60?t>3?o[3]:o[2]:e>30?t>8?o[1]:t>6?o[0]:t>4?t:o[2]:t>8?t:o[3]}function s(e,t,o,a,n,i){e&&V(y,e.toString(),{dur:t,scrollEasing:o,dir:a,overwrite:n,drag:i})}var d,u,f,h,m,p,g,v,x,_,w,S,b,C,y=e(this),B=y.data(a),T=B.opt,k=a+"_"+B.idx,M=e("#mCSB_"+B.idx),I=e("#mCSB_"+B.idx+"_container"),D=[e("#mCSB_"+B.idx+"_dragger_vertical"),e("#mCSB_"+B.idx+"_dragger_horizontal")],E=[],R=[],A=0,L="yx"===T.axis?"none":"all",z=[],P=I.find("iframe"),H=["touchstart."+k+" pointerdown."+k+" MSPointerDown."+k,"touchmove."+k+" pointermove."+k+" MSPointerMove."+k,"touchend."+k+" pointerup."+k+" MSPointerUp."+k],U=void 0!==document.body.style.touchAction;I.bind(H[0],function(e){o(e)}).bind(H[1],function(e){n(e)}),M.bind(H[0],function(e){i(e)}).bind(H[2],function(e){r(e)}),P.length&&P.each(function(){e(this).load(function(){W(this)&&e(this.contentDocument||this.contentWindow.document).bind(H[0],function(e){o(e),i(e)}).bind(H[1],function(e){n(e)}).bind(H[2],function(e){r(e)})})})},E=function(){function o(){return window.getSelection?window.getSelection().toString():document.selection&&"Control"!=document.selection.type?document.selection.createRange().text:0}function n(e,t,o){d.type=o&&i?"stepped":"stepless",d.scrollAmount=10,F(r,e,t,"mcsLinearOut",o?60:null)}var i,r=e(this),l=r.data(a),s=l.opt,d=l.sequential,u=a+"_"+l.idx,f=e("#mCSB_"+l.idx+"_container"),h=f.parent();f.bind("mousedown."+u,function(e){t||i||(i=1,c=!0)}).add(document).bind("mousemove."+u,function(e){if(!t&&i&&o()){var a=f.offset(),r=O(e)[0]-a.top+f[0].offsetTop,c=O(e)[1]-a.left+f[0].offsetLeft;r>0&&r0&&cr?n("on",38):r>h.height()&&n("on",40)),"y"!==s.axis&&l.overflowed[1]&&(0>c?n("on",37):c>h.width()&&n("on",39)))}}).bind("mouseup."+u+" dragend."+u,function(e){t||(i&&(i=0,n("off",null)),c=!1)})},R=function(){function t(t,a){if(N(o),!A(o,t.target)){var r="auto"!==i.mouseWheel.deltaFactor?parseInt(i.mouseWheel.deltaFactor):s&&t.deltaFactor<100?100:t.deltaFactor||100,d=i.scrollInertia;if("x"===i.axis||"x"===i.mouseWheel.axis)var u="x",f=[Math.round(r*n.scrollRatio.x),parseInt(i.mouseWheel.scrollAmount)],h="auto"!==i.mouseWheel.scrollAmount?f[1]:f[0]>=l.width()?.9*l.width():f[0],m=Math.abs(e("#mCSB_"+n.idx+"_container")[0].offsetLeft),p=c[1][0].offsetLeft,g=c[1].parent().width()-c[1].width(),v=t.deltaX||t.deltaY||a;else var u="y",f=[Math.round(r*n.scrollRatio.y),parseInt(i.mouseWheel.scrollAmount)],h="auto"!==i.mouseWheel.scrollAmount?f[1]:f[0]>=l.height()?.9*l.height():f[0],m=Math.abs(e("#mCSB_"+n.idx+"_container")[0].offsetTop),p=c[0][0].offsetTop,g=c[0].parent().height()-c[0].height(),v=t.deltaY||a;"y"===u&&!n.overflowed[0]||"x"===u&&!n.overflowed[1]||((i.mouseWheel.invert||t.webkitDirectionInvertedFromDevice)&&(v=-v),i.mouseWheel.normalizeDelta&&(v=0>v?-1:1),(v>0&&0!==p||0>v&&p!==g||i.mouseWheel.preventDefault)&&(t.stopImmediatePropagation(),t.preventDefault()),t.deltaFactor<2&&!i.mouseWheel.normalizeDelta&&(h=t.deltaFactor,d=17),V(o,(m-v*h).toString(),{dir:u,dur:d}))}}if(e(this).data(a)){var o=e(this),n=o.data(a),i=n.opt,r=a+"_"+n.idx,l=e("#mCSB_"+n.idx),c=[e("#mCSB_"+n.idx+"_dragger_vertical"),e("#mCSB_"+n.idx+"_dragger_horizontal")],d=e("#mCSB_"+n.idx+"_container").find("iframe");d.length&&d.each(function(){e(this).load(function(){W(this)&&e(this.contentDocument||this.contentWindow.document).bind("mousewheel."+r,function(e,o){t(e,o)})})}),l.bind("mousewheel."+r,function(e,o){t(e,o)})}},W=function(e){var t=null;if(e){try{var o=e.contentDocument||e.contentWindow.document;t=o.body.innerHTML}catch(a){}return null!==t}try{var o=top.document;t=o.body.innerHTML}catch(a){}return null!==t},A=function(t,o){var n=o.nodeName.toLowerCase(),i=t.data(a).opt.mouseWheel.disableOver,r=["select","textarea"];return e.inArray(n,i)>-1&&!(e.inArray(n,r)>-1&&!e(o).is(":focus"))},L=function(){var t,o=e(this),n=o.data(a),i=a+"_"+n.idx,r=e("#mCSB_"+n.idx+"_container"),l=r.parent(),s=e(".mCSB_"+n.idx+"_scrollbar ."+d[12]);s.bind("mousedown."+i+" touchstart."+i+" pointerdown."+i+" MSPointerDown."+i,function(o){c=!0,e(o.target).hasClass("mCSB_dragger")||(t=1)}).bind("touchend."+i+" pointerup."+i+" MSPointerUp."+i,function(e){c=!1}).bind("click."+i,function(a){if(t&&(t=0,e(a.target).hasClass(d[12])||e(a.target).hasClass("mCSB_draggerRail"))){N(o);var i=e(this),s=i.find(".mCSB_dragger");if(i.parent(".mCSB_scrollTools_horizontal").length>0){if(!n.overflowed[1])return;var c="x",u=a.pageX>s.offset().left?-1:1,f=Math.abs(r[0].offsetLeft)-.9*u*l.width()}else{if(!n.overflowed[0])return;var c="y",u=a.pageY>s.offset().top?-1:1,f=Math.abs(r[0].offsetTop)-.9*u*l.height()}V(o,f.toString(),{dir:c,scrollEasing:"mcsEaseInOut"})}})},z=function(){var t=e(this),o=t.data(a),n=o.opt,i=a+"_"+o.idx,r=e("#mCSB_"+o.idx+"_container"),l=r.parent();r.bind("focusin."+i,function(o){var a=e(document.activeElement),i=r.find(".mCustomScrollBox").length,s=0;a.is(n.advanced.autoScrollOnFocus)&&(N(t),clearTimeout(t[0]._focusTimeout),t[0]._focusTimer=i?(s+17)*i:0,t[0]._focusTimeout=setTimeout(function(){var e=[te(a)[0],te(a)[1]],o=[r[0].offsetTop,r[0].offsetLeft],i=[o[0]+e[0]>=0&&o[0]+e[0]=0&&o[0]+e[1]a");s.bind("mousedown."+r+" touchstart."+r+" pointerdown."+r+" MSPointerDown."+r+" mouseup."+r+" touchend."+r+" pointerup."+r+" MSPointerUp."+r+" mouseout."+r+" pointerout."+r+" MSPointerOut."+r+" click."+r,function(a){function r(e,o){i.scrollAmount=n.scrollButtons.scrollAmount,F(t,e,o)}if(a.preventDefault(),Z(a)){var l=e(this).attr("class");switch(i.type=n.scrollButtons.scrollType,a.type){case"mousedown":case"touchstart":case"pointerdown":case"MSPointerDown":if("stepped"===i.type)return;c=!0,o.tweenRunning=!1,r("on",l);break;case"mouseup":case"touchend":case"pointerup":case"MSPointerUp":case"mouseout":case"pointerout":case"MSPointerOut":if("stepped"===i.type)return;c=!1,i.dir&&r("off",l);break;case"click":if("stepped"!==i.type||o.tweenRunning)return;r("on",l)}}})},U=function(){function t(t){function a(e,t){r.type=i.keyboard.scrollType,r.scrollAmount=i.keyboard.scrollAmount,"stepped"===r.type&&n.tweenRunning||F(o,e,t)}switch(t.type){case"blur":n.tweenRunning&&r.dir&&a("off",null);break;case"keydown":case"keyup":var l=t.keyCode?t.keyCode:t.which,s="on";if("x"!==i.axis&&(38===l||40===l)||"y"!==i.axis&&(37===l||39===l)){if((38===l||40===l)&&!n.overflowed[0]||(37===l||39===l)&&!n.overflowed[1])return;"keyup"===t.type&&(s="off"),e(document.activeElement).is(u)||(t.preventDefault(),t.stopImmediatePropagation(),a(s,l))}else if(33===l||34===l){if((n.overflowed[0]||n.overflowed[1])&&(t.preventDefault(),t.stopImmediatePropagation()),"keyup"===t.type){N(o);var f=34===l?-1:1;if("x"===i.axis||"yx"===i.axis&&n.overflowed[1]&&!n.overflowed[0])var h="x",m=Math.abs(c[0].offsetLeft)-.9*f*d.width();else var h="y",m=Math.abs(c[0].offsetTop)-.9*f*d.height();V(o,m.toString(),{dir:h,scrollEasing:"mcsEaseInOut"})}}else if((35===l||36===l)&&!e(document.activeElement).is(u)&&((n.overflowed[0]||n.overflowed[1])&&(t.preventDefault(),t.stopImmediatePropagation()),"keyup"===t.type)){if("x"===i.axis||"yx"===i.axis&&n.overflowed[1]&&!n.overflowed[0])var h="x",m=35===l?Math.abs(d.width()-c.outerWidth(!1)):0;else var h="y",m=35===l?Math.abs(d.height()-c.outerHeight(!1)):0;V(o,m.toString(),{dir:h,scrollEasing:"mcsEaseInOut"})}}}var o=e(this),n=o.data(a),i=n.opt,r=n.sequential,l=a+"_"+n.idx,s=e("#mCSB_"+n.idx),c=e("#mCSB_"+n.idx+"_container"),d=c.parent(),u="input,textarea,select,datalist,keygen,[contenteditable='true']",f=c.find("iframe"),h=["blur."+l+" keydown."+l+" keyup."+l];f.length&&f.each(function(){e(this).load(function(){W(this)&&e(this.contentDocument||this.contentWindow.document).bind(h[0],function(e){t(e)})})}),s.attr("tabindex","0").bind(h[0],function(e){t(e)})},F=function(t,o,n,i,r){function l(e){u.snapAmount&&(f.scrollAmount=u.snapAmount instanceof Array?"x"===f.dir[0]?u.snapAmount[1]:u.snapAmount[0]:u.snapAmount);var o="stepped"!==f.type,a=r?r:e?o?p/1.5:g:1e3/60,n=e?o?7.5:40:2.5,s=[Math.abs(h[0].offsetTop),Math.abs(h[0].offsetLeft)],d=[c.scrollRatio.y>10?10:c.scrollRatio.y,c.scrollRatio.x>10?10:c.scrollRatio.x],m="x"===f.dir[0]?s[1]+f.dir[1]*d[1]*n:s[0]+f.dir[1]*d[0]*n,v="x"===f.dir[0]?s[1]+f.dir[1]*parseInt(f.scrollAmount):s[0]+f.dir[1]*parseInt(f.scrollAmount),x="auto"!==f.scrollAmount?v:m,_=i?i:e?o?"mcsLinearOut":"mcsEaseInOut":"mcsLinear",w=e?!0:!1;return e&&17>a&&(x="x"===f.dir[0]?s[1]:s[0]),V(t,x.toString(),{dir:f.dir[0],scrollEasing:_,dur:a,onComplete:w}),e?void(f.dir=!1):(clearTimeout(f.step),void(f.step=setTimeout(function(){l()},a)))}function s(){clearTimeout(f.step),K(f,"step"),N(t)}var c=t.data(a),u=c.opt,f=c.sequential,h=e("#mCSB_"+c.idx+"_container"),m="stepped"===f.type?!0:!1,p=u.scrollInertia<26?26:u.scrollInertia,g=u.scrollInertia<1?17:u.scrollInertia;switch(o){case"on":if(f.dir=[n===d[16]||n===d[15]||39===n||37===n?"x":"y",n===d[13]||n===d[15]||38===n||37===n?-1:1],N(t),ee(n)&&"stepped"===f.type)return;l(m);break;case"off":s(),(m||c.tweenRunning&&f.dir)&&l(!0)}},q=function(t){var o=e(this).data(a).opt,n=[];return"function"==typeof t&&(t=t()),t instanceof Array?n=t.length>1?[t[0],t[1]]:"x"===o.axis?[null,t[0]]:[t[0],null]:(n[0]=t.y?t.y:t.x||"x"===o.axis?null:t,n[1]=t.x?t.x:t.y||"y"===o.axis?null:t),"function"==typeof n[0]&&(n[0]=n[0]()),"function"==typeof n[1]&&(n[1]=n[1]()),n},Y=function(t,o){if(null!=t&&"undefined"!=typeof t){var n=e(this),i=n.data(a),r=i.opt,l=e("#mCSB_"+i.idx+"_container"),s=l.parent(),c=typeof t;o||(o="x"===r.axis?"x":"y");var d="x"===o?l.outerWidth(!1):l.outerHeight(!1),f="x"===o?l[0].offsetLeft:l[0].offsetTop,h="x"===o?"left":"top";switch(c){case"function":return t();case"object":var m=t.jquery?t:e(t);if(!m.length)return;return"x"===o?te(m)[1]:te(m)[0];case"string":case"number":if(ee(t))return Math.abs(t);if(-1!==t.indexOf("%"))return Math.abs(d*parseInt(t)/100);if(-1!==t.indexOf("-="))return Math.abs(f-parseInt(t.split("-=")[1]));if(-1!==t.indexOf("+=")){var p=f+parseInt(t.split("+=")[1]);return p>=0?0:Math.abs(p)}if(-1!==t.indexOf("px")&&ee(t.split("px")[0]))return Math.abs(t.split("px")[0]);if("top"===t||"left"===t)return 0;if("bottom"===t)return Math.abs(s.height()-l.outerHeight(!1));if("right"===t)return Math.abs(s.width()-l.outerWidth(!1));if("first"===t||"last"===t){var m=l.find(":"+t);return"x"===o?te(m)[1]:te(m)[0]}return e(t).length?"x"===o?te(e(t))[1]:te(e(t))[0]:(l.css(h,t),void u.update.call(null,n[0]))}}},X=function(t){function o(){return clearTimeout(f[0].autoUpdate),0===l.parents("html").length?void(l=null):void(f[0].autoUpdate=setTimeout(function(){return c.advanced.updateOnSelectorChange&&(s.poll.change.n=i(),s.poll.change.n!==s.poll.change.o)?(s.poll.change.o=s.poll.change.n,void r(3)):c.advanced.updateOnContentResize&&(s.poll.size.n=l[0].scrollHeight+l[0].scrollWidth+f[0].offsetHeight+l[0].offsetHeight+l[0].offsetWidth,s.poll.size.n!==s.poll.size.o)?(s.poll.size.o=s.poll.size.n,void r(1)):!c.advanced.updateOnImageLoad||"auto"===c.advanced.updateOnImageLoad&&"y"===c.axis||(s.poll.img.n=f.find("img").length,s.poll.img.n===s.poll.img.o)?void((c.advanced.updateOnSelectorChange||c.advanced.updateOnContentResize||c.advanced.updateOnImageLoad)&&o()):(s.poll.img.o=s.poll.img.n,void f.find("img").each(function(){n(this)}))},c.advanced.autoUpdateTimeout))}function n(t){function o(e,t){return function(){return t.apply(e,arguments)}}function a(){this.onload=null,e(t).addClass(d[2]),r(2)}if(e(t).hasClass(d[2]))return void r();var n=new Image;n.onload=o(n,a),n.src=t.src}function i(){c.advanced.updateOnSelectorChange===!0&&(c.advanced.updateOnSelectorChange="*");var e=0,t=f.find(c.advanced.updateOnSelectorChange);
+
+return c.advanced.updateOnSelectorChange&&t.length>0&&t.each(function(){e+=this.offsetHeight+this.offsetWidth}),e}function r(e){clearTimeout(f[0].autoUpdate),u.update.call(null,l[0],e)}var l=e(this),s=l.data(a),c=s.opt,f=e("#mCSB_"+s.idx+"_container");return t?(clearTimeout(f[0].autoUpdate),void K(f[0],"autoUpdate")):void o()},j=function(e,t,o){return Math.round(e/t)*t-o},N=function(t){var o=t.data(a),n=e("#mCSB_"+o.idx+"_container,#mCSB_"+o.idx+"_container_wrapper,#mCSB_"+o.idx+"_dragger_vertical,#mCSB_"+o.idx+"_dragger_horizontal");n.each(function(){J.call(this)})},V=function(t,o,n){function i(e){return s&&c.callbacks[e]&&"function"==typeof c.callbacks[e]}function r(){return[c.callbacks.alwaysTriggerOffsets||w>=S[0]+y,c.callbacks.alwaysTriggerOffsets||-B>=w]}function l(){var e=[h[0].offsetTop,h[0].offsetLeft],o=[x[0].offsetTop,x[0].offsetLeft],a=[h.outerHeight(!1),h.outerWidth(!1)],i=[f.height(),f.width()];t[0].mcs={content:h,top:e[0],left:e[1],draggerTop:o[0],draggerLeft:o[1],topPct:Math.round(100*Math.abs(e[0])/(Math.abs(a[0])-i[0])),leftPct:Math.round(100*Math.abs(e[1])/(Math.abs(a[1])-i[1])),direction:n.dir}}var s=t.data(a),c=s.opt,d={trigger:"internal",dir:"y",scrollEasing:"mcsEaseOut",drag:!1,dur:c.scrollInertia,overwrite:"all",callbacks:!0,onStart:!0,onUpdate:!0,onComplete:!0},n=e.extend(d,n),u=[n.dur,n.drag?0:n.dur],f=e("#mCSB_"+s.idx),h=e("#mCSB_"+s.idx+"_container"),m=h.parent(),p=c.callbacks.onTotalScrollOffset?q.call(t,c.callbacks.onTotalScrollOffset):[0,0],g=c.callbacks.onTotalScrollBackOffset?q.call(t,c.callbacks.onTotalScrollBackOffset):[0,0];if(s.trigger=n.trigger,(0!==m.scrollTop()||0!==m.scrollLeft())&&(e(".mCSB_"+s.idx+"_scrollbar").css("visibility","visible"),m.scrollTop(0).scrollLeft(0)),"_resetY"!==o||s.contentReset.y||(i("onOverflowYNone")&&c.callbacks.onOverflowYNone.call(t[0]),s.contentReset.y=1),"_resetX"!==o||s.contentReset.x||(i("onOverflowXNone")&&c.callbacks.onOverflowXNone.call(t[0]),s.contentReset.x=1),"_resetY"!==o&&"_resetX"!==o){if(!s.contentReset.y&&t[0].mcs||!s.overflowed[0]||(i("onOverflowY")&&c.callbacks.onOverflowY.call(t[0]),s.contentReset.x=null),!s.contentReset.x&&t[0].mcs||!s.overflowed[1]||(i("onOverflowX")&&c.callbacks.onOverflowX.call(t[0]),s.contentReset.x=null),c.snapAmount){var v=c.snapAmount instanceof Array?"x"===n.dir?c.snapAmount[1]:c.snapAmount[0]:c.snapAmount;o=j(o,v,c.snapOffset)}switch(n.dir){case"x":var x=e("#mCSB_"+s.idx+"_dragger_horizontal"),_="left",w=h[0].offsetLeft,S=[f.width()-h.outerWidth(!1),x.parent().width()-x.width()],b=[o,0===o?0:o/s.scrollRatio.x],y=p[1],B=g[1],T=y>0?y/s.scrollRatio.x:0,k=B>0?B/s.scrollRatio.x:0;break;case"y":var x=e("#mCSB_"+s.idx+"_dragger_vertical"),_="top",w=h[0].offsetTop,S=[f.height()-h.outerHeight(!1),x.parent().height()-x.height()],b=[o,0===o?0:o/s.scrollRatio.y],y=p[0],B=g[0],T=y>0?y/s.scrollRatio.y:0,k=B>0?B/s.scrollRatio.y:0}b[1]<0||0===b[0]&&0===b[1]?b=[0,0]:b[1]>=S[1]?b=[S[0],S[1]]:b[0]=-b[0],t[0].mcs||(l(),i("onInit")&&c.callbacks.onInit.call(t[0])),clearTimeout(h[0].onCompleteTimeout),Q(x[0],_,Math.round(b[1]),u[1],n.scrollEasing),(s.tweenRunning||!(0===w&&b[0]>=0||w===S[0]&&b[0]<=S[0]))&&Q(h[0],_,Math.round(b[0]),u[0],n.scrollEasing,n.overwrite,{onStart:function(){n.callbacks&&n.onStart&&!s.tweenRunning&&(i("onScrollStart")&&(l(),c.callbacks.onScrollStart.call(t[0])),s.tweenRunning=!0,C(x),s.cbOffsets=r())},onUpdate:function(){n.callbacks&&n.onUpdate&&i("whileScrolling")&&(l(),c.callbacks.whileScrolling.call(t[0]))},onComplete:function(){if(n.callbacks&&n.onComplete){"yx"===c.axis&&clearTimeout(h[0].onCompleteTimeout);var e=h[0].idleTimer||0;h[0].onCompleteTimeout=setTimeout(function(){i("onScroll")&&(l(),c.callbacks.onScroll.call(t[0])),i("onTotalScroll")&&b[1]>=S[1]-T&&s.cbOffsets[0]&&(l(),c.callbacks.onTotalScroll.call(t[0])),i("onTotalScrollBack")&&b[1]<=k&&s.cbOffsets[1]&&(l(),c.callbacks.onTotalScrollBack.call(t[0])),s.tweenRunning=!1,h[0].idleTimer=0,C(x,"hide")},e)}}})}},Q=function(e,t,o,a,n,i,r){function l(){S.stop||(x||m.call(),x=G()-v,s(),x>=S.time&&(S.time=x>S.time?x+f-(x-S.time):x+f-1,S.time0?(S.currVal=u(S.time,_,b,a,n),w[t]=Math.round(S.currVal)+"px"):w[t]=o+"px",p.call()}function c(){f=1e3/60,S.time=x+f,h=window.requestAnimationFrame?window.requestAnimationFrame:function(e){return s(),setTimeout(e,.01)},S.id=h(l)}function d(){null!=S.id&&(window.requestAnimationFrame?window.cancelAnimationFrame(S.id):clearTimeout(S.id),S.id=null)}function u(e,t,o,a,n){switch(n){case"linear":case"mcsLinear":return o*e/a+t;case"mcsLinearOut":return e/=a,e--,o*Math.sqrt(1-e*e)+t;case"easeInOutSmooth":return e/=a/2,1>e?o/2*e*e+t:(e--,-o/2*(e*(e-2)-1)+t);case"easeInOutStrong":return e/=a/2,1>e?o/2*Math.pow(2,10*(e-1))+t:(e--,o/2*(-Math.pow(2,-10*e)+2)+t);case"easeInOut":case"mcsEaseInOut":return e/=a/2,1>e?o/2*e*e*e+t:(e-=2,o/2*(e*e*e+2)+t);case"easeOutSmooth":return e/=a,e--,-o*(e*e*e*e-1)+t;case"easeOutStrong":return o*(-Math.pow(2,-10*e/a)+1)+t;case"easeOut":case"mcsEaseOut":default:var i=(e/=a)*e,r=i*e;return t+o*(.499999999999997*r*i+-2.5*i*i+5.5*r+-6.5*i+4*e)}}e._mTween||(e._mTween={top:{},left:{}});var f,h,r=r||{},m=r.onStart||function(){},p=r.onUpdate||function(){},g=r.onComplete||function(){},v=G(),x=0,_=e.offsetTop,w=e.style,S=e._mTween[t];"left"===t&&(_=e.offsetLeft);var b=o-_;S.stop=0,"none"!==i&&d(),c()},G=function(){return window.performance&&window.performance.now?window.performance.now():window.performance&&window.performance.webkitNow?window.performance.webkitNow():Date.now?Date.now():(new Date).getTime()},J=function(){var e=this;e._mTween||(e._mTween={top:{},left:{}});for(var t=["top","left"],o=0;o=0&&a[0]+te(n)[0]=0&&a[1]+te(n)[1]a?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return n.each(this,a)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(e.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:g,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){var b=a&&a.toString();return!n.isArray(a)&&b-parseFloat(b)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!k.call(a,"constructor")&&!k.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(!l.ownFirst)for(b in a)return k.call(a,b);for(b in a);return void 0===b||k.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?i[j.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(s(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):g.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(h)return h.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,g=0,h=[];if(s(a))for(d=a.length;d>g;g++)e=b(a[g],g,c),null!=e&&h.push(e);else for(g in a)e=b(a[g],g,c),null!=e&&h.push(e);return f.apply([],h)},guid:1,proxy:function(a,b){var c,d,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=e.call(arguments,2),d=function(){return a.apply(b||this,c.concat(e.call(arguments)))},d.guid=a.guid=a.guid||n.guid++,d):void 0},now:function(){return+new Date},support:l}),"function"==typeof Symbol&&(n.fn[Symbol.iterator]=c[Symbol.iterator]),n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){i["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=!!a&&"length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+M+"))|)"+L+"*\\]",O=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+N+")*)|.*)\\)|)",P=new RegExp(L+"+","g"),Q=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),R=new RegExp("^"+L+"*,"+L+"*"),S=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),T=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),U=new RegExp(O),V=new RegExp("^"+M+"$"),W={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,aa=/'|\\/g,ba=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ca=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(ea){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fa(a,b,d,e){var f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==x&&9!==x&&11!==x)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.exec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(o[2])return H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassName&&b.getElementsByClassName)return H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==x)w=b,s=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(aa,"\\$&"):b.setAttribute("id",k=u),r=g(a),h=r.length,l=V.test(k)?"#"+k:"[id='"+k+"']";while(h--)r[h]=l+" "+qa(r[h]);s=r.join(","),w=_.test(a)&&oa(b.parentNode)||b}if(s)try{return H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function ga(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ha(a){return a[u]=!0,a}function ia(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ja(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ka(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function la(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function na(a){return ha(function(b){return b=+b,ha(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function oa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=fa.support={},f=fa.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fa.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ia(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ia(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ia(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Z.test(n.querySelectorAll))&&(ia(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ia(function(a){var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ia(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",O)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return ka(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?ka(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},fa.matches=function(a,b){return fa(a,null,null,b)},fa.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fa(b,n,null,[a]).length>0},fa.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fa.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fa.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fa.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fa.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fa.selectors={cacheLength:50,createPseudo:ha,match:W,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ba,ca),a[3]=(a[3]||a[4]||a[5]||"").replace(ba,ca),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fa.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fa.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ba,ca).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fa.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(P," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fa.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ha(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ha(function(a){var b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?ha(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ha(function(a){return function(b){return fa(a,b).length>0}}),contains:ha(function(a){return a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ha(function(a){return V.test(a||"")||fa.error("unsupported lang: "+a),a=a.replace(ba,ca).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Y.test(a.nodeName)},input:function(a){return X.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:na(function(){return[0]}),last:na(function(a,b){return[b-1]}),eq:na(function(a,b,c){return[0>c?c+b:c]}),even:na(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:na(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:na(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:na(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function ra(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(j=b[u]||(b[u]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===w&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function sa(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ta(a,b,c){for(var d=0,e=b.length;e>d;d++)fa(a,b[d],c);return c}function ua(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function va(a,b,c,d,e,f){return d&&!d[u]&&(d=va(d)),e&&!e[u]&&(e=va(e,f)),ha(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ta(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ua(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ua(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ua(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function wa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ra(function(a){return a===b},h,!0),l=ra(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ra(sa(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return va(i>1&&sa(m),i>1&&qa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(Q,"$1"),c,e>i&&wa(a.slice(i,e)),f>e&&wa(a=a.slice(e)),f>e&&qa(a))}m.push(c)}return sa(m)}function xa(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=F.call(i));u=ua(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&fa.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ha(f):f}return h=fa.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xa(e,d)),f.selector=a}return f},i=fa.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ba,ca),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ba,ca),_.test(j[0].type)&&oa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qa(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&oa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ia(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ia(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ja("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ia(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ja("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ia(function(a){return null==a.getAttribute("disabled")})||ja(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fa}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.uniqueSort=n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},v=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},w=n.expr.match.needsContext,x=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,y=/^.[^:#\[\.,]*$/;function z(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(y.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>-1!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))return!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(z(this,a||[],!1))},not:function(a){return this.pushStack(z(this,a||[],!0))},is:function(a){return!!z(this,"string"==typeof a&&w.test(a)?n(a):a||[],!1).length}});var A,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=n.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||A,"string"==typeof a){if(e="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:B.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),x.test(e[1])&&n.isPlainObject(b))for(e in b)n.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}if(f=d.getElementById(e[2]),f&&f.parentNode){if(f.id!==e[2])return A.find(a);this.length=1,this[0]=f}return this.context=d,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof c.ready?c.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};C.prototype=n.fn,A=n(d);var D=/^(?:parents|prev(?:Until|All))/,E={children:!0,contents:!0,next:!0,prev:!0};n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=w.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.uniqueSort(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function F(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return u(a,"parentNode")},parentsUntil:function(a,b,c){return u(a,"parentNode",c)},next:function(a){return F(a,"nextSibling")},prev:function(a){return F(a,"previousSibling")},nextAll:function(a){return u(a,"nextSibling")},prevAll:function(a){return u(a,"previousSibling")},nextUntil:function(a,b,c){return u(a,"nextSibling",c)},prevUntil:function(a,b,c){return u(a,"previousSibling",c)},siblings:function(a){return v((a.parentNode||{}).firstChild,a)},children:function(a){return v(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(E[a]||(e=n.uniqueSort(e)),D.test(a)&&(e=e.reverse())),this.pushStack(e)}});var G=/\S+/g;function H(a){var b={};return n.each(a.match(G)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?H(a):n.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?n.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=!0,c||j.disable(),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=e.call(arguments),d=c.length,f=1!==d||a&&n.isFunction(a.promise)?d:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?e.call(arguments):d,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(d>1)for(i=new Array(d),j=new Array(d),k=new Array(d);d>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().progress(h(b,j,i)).done(h(b,k,c)).fail(g.reject):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(d,[n]),n.fn.triggerHandler&&(n(d).triggerHandler("ready"),n(d).off("ready"))))}});function J(){d.addEventListener?(d.removeEventListener("DOMContentLoaded",K),a.removeEventListener("load",K)):(d.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(d.addEventListener||"load"===a.event.type||"complete"===d.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll)a.setTimeout(n.ready);else if(d.addEventListener)d.addEventListener("DOMContentLoaded",K),a.addEventListener("load",K);else{d.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&d.documentElement}catch(e){}c&&c.doScroll&&!function f(){if(!n.isReady){try{c.doScroll("left")}catch(b){return a.setTimeout(f,50)}J(),n.ready()}}()}return I.promise(b)},n.ready.promise();var L;for(L in n(l))break;l.ownFirst="0"===L,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c,e;c=d.getElementsByTagName("body")[0],c&&c.style&&(b=d.createElement("div"),e=d.createElement("div"),e.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(e).appendChild(b),"undefined"!=typeof b.style.zoom&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",l.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(e))}),function(){var a=d.createElement("div");l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}a=null}();var M=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b},N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0;
+}return c}function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function R(a,b,d,e){if(M(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),"object"!=typeof b&&"function"!=typeof b||(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f}}function S(a,b,c){if(M(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=void 0)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},Z=/^(?:checkbox|radio)$/i,$=/<([\w:-]+)/,_=/^$|\/(?:java|ecma)script/i,aa=/^\s+/,ba="abbr|article|aside|audio|bdi|canvas|data|datalist|details|dialog|figcaption|figure|footer|header|hgroup|main|mark|meter|nav|output|picture|progress|section|summary|template|time|video";function ca(a){var b=ba.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}!function(){var a=d.createElement("div"),b=d.createDocumentFragment(),c=d.createElement("input");a.innerHTML=" a",l.leadingWhitespace=3===a.firstChild.nodeType,l.tbody=!a.getElementsByTagName("tbody").length,l.htmlSerialize=!!a.getElementsByTagName("link").length,l.html5Clone="<:nav>"!==d.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,b.appendChild(c),l.appendChecked=c.checked,a.innerHTML="",l.noCloneChecked=!!a.cloneNode(!0).lastChild.defaultValue,b.appendChild(a),c=d.createElement("input"),c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),a.appendChild(c),l.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!!a.addEventListener,a[n.expando]=1,l.attributes=!a.getAttribute(n.expando)}();var da={option:[1,""],legend:[1,""],area:[1,""],param:[1,""],thead:[1,""],tr:[2,""],col:[2,""],td:[3,""],_default:l.htmlSerialize?[0,"",""]:[1,"X","
"]};da.optgroup=da.option,da.tbody=da.tfoot=da.colgroup=da.caption=da.thead,da.th=da.td;function ea(a,b){var c,d,e=0,f="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,ea(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function fa(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}var ga=/<|?\w+;/,ha=/r;r++)if(g=a[r],g||0===g)if("object"===n.type(g))n.merge(q,g.nodeType?[g]:g);else if(ga.test(g)){i=i||p.appendChild(b.createElement("div")),j=($.exec(g)||["",""])[1].toLowerCase(),m=da[j]||da._default,i.innerHTML=m[1]+n.htmlPrefilter(g)+m[2],f=m[0];while(f--)i=i.lastChild;if(!l.leadingWhitespace&&aa.test(g)&&q.push(b.createTextNode(aa.exec(g)[0])),!l.tbody){g="table"!==j||ha.test(g)?""!==m[1]||ha.test(g)?0:i:i.firstChild,f=g&&g.childNodes.length;while(f--)n.nodeName(k=g.childNodes[f],"tbody")&&!k.childNodes.length&&g.removeChild(k)}n.merge(q,i.childNodes),i.textContent="";while(i.firstChild)i.removeChild(i.firstChild);i=p.lastChild}else q.push(b.createTextNode(g));i&&p.removeChild(i),l.appendChecked||n.grep(ea(q,"input"),ia),r=0;while(g=q[r++])if(d&&n.inArray(g,d)>-1)e&&e.push(g);else if(h=n.contains(g.ownerDocument,g),i=ea(p.appendChild(g),"script"),h&&fa(i),c){f=0;while(g=i[f++])_.test(g.type||"")&&c.push(g)}return i=null,p}!function(){var b,c,e=d.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b]=c in a)||(e.setAttribute(c,"t"),l[b]=e.attributes[c].expando===!1);e=null}();var ka=/^(?:input|select|textarea)$/i,la=/^key/,ma=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,na=/^(?:focusinfocus|focusoutblur)$/,oa=/^([^.]*)(?:\.(.+)|)/;function pa(){return!0}function qa(){return!1}function ra(){try{return d.activeElement}catch(a){}}function sa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)sa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=qa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return n().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=n.guid++)),a.each(function(){n.event.add(this,b,e,d,c)})}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return"undefined"==typeof n||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(G)||[""],h=b.length;while(h--)f=oa.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(G)||[""],j=b.length;while(j--)if(h=oa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,e,f){var g,h,i,j,l,m,o,p=[e||d],q=k.call(b,"type")?b.type:b,r=k.call(b,"namespace")?b.namespace.split("."):[];if(i=m=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!na.test(q+n.event.triggered)&&(q.indexOf(".")>-1&&(r=q.split("."),q=r.shift(),r.sort()),h=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=r.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:n.makeArray(c,[b]),l=n.event.special[q]||{},f||!l.trigger||l.trigger.apply(e,c)!==!1)){if(!f&&!l.noBubble&&!n.isWindow(e)){for(j=l.delegateType||q,na.test(j+q)||(i=i.parentNode);i;i=i.parentNode)p.push(i),m=i;m===(e.ownerDocument||d)&&p.push(m.defaultView||m.parentWindow||a)}o=0;while((i=p[o++])&&!b.isPropagationStopped())b.type=o>1?j:l.bindType||q,g=(n._data(i,"events")||{})[b.type]&&n._data(i,"handle"),g&&g.apply(i,c),g=h&&i[h],g&&g.apply&&M(i)&&(b.result=g.apply(i,c),b.result===!1&&b.preventDefault());if(b.type=q,!f&&!b.isDefaultPrevented()&&(!l._default||l._default.apply(p.pop(),c)===!1)&&M(e)&&h&&e[q]&&!n.isWindow(e)){m=e[h],m&&(e[h]=null),n.event.triggered=q;try{e[q]()}catch(s){}n.event.triggered=void 0,m&&(e[h]=m)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,d,f,g,h=[],i=e.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())a.rnamespace&&!a.rnamespace.test(g.namespace)||(a.handleObj=g,a.data=g.data,d=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>-1:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]","i"),va=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,wa=/
+
-{{template "widgets/header.html" .}}
-
-
-
-
{{.Book.BookName}}
- {{if and (eq $.Member.MemberId $.Book.MemberId) (ne $.Book.RoleId 3)}}
-
-
- {{end}}
- {{if and (gt $.Member.MemberId 0) (lt $.Member.Role 2)}}
-
- {{end}}
-
- {{if (ads "intro-under-book-name" $.IsMobile)}}
+ {{template "widgets/header.html" .}}
+
+
+
+
{{.Book.BookName}}
+ {{if and (eq $.Member.MemberId $.Book.MemberId) (ne $.Book.RoleId 3)}}
+
+
+
+ {{end}}
+ {{if and (gt $.Member.MemberId 0) (lt $.Member.Role 2)}}
+
+ {{end}}
+
+ {{if (ads "intro-under-book-name" $.IsMobile)}}
{{str2html (ads "intro-under-book-name" $.IsMobile)}}
- {{end}}
-
-
-
-

+ {{end}}
-
-
-
- - 文档评分:
-
- {{.Book.ScoreFloat}}
- ({{.Book.CntScore}} 个有效评分)
-
- - 文档语言: {{.Book.Lang}}
- - 章节数量:{{.Book.DocCount}}
- - 阅读人次:{{.Book.Vcnt}}
- - 收藏数量:{{.Book.Star}}
- {{if .Book.Author}}
- - 内容来源:{{.Book.Author}}
- {{if .Book.AdTitle}}
+
+
+

+
+
+
+
+
+
+ {{if $.Wxacode}}
微信扫一扫,知识掌上学
- {{end}}
-
-
- {{if (ads "intro-before-menu" $.IsMobile)}}
+ {{if (ads "intro-before-menu" $.IsMobile)}}
- {{end}}
-
-
-
-
+ {{template "widgets/share.html" .}}
+ {{template "widgets/download.html" .}}
+ {{template "widgets/footer.html" .}}
+
+
+
+
+
+
+
+