diff --git a/404.html b/404.html new file mode 100644 index 0000000..58bcadf --- /dev/null +++ b/404.html @@ -0,0 +1,89 @@ + + + + + + + Page Not Found + + + +
+
4 0 4
+
+ Page not found +
+
+ + + + + + Back + +
+
+ + + + \ No newline at end of file diff --git a/archives/index.html b/archives/index.html new file mode 100644 index 0000000..bafbe29 --- /dev/null +++ b/archives/index.html @@ -0,0 +1,1179 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+ + +
+
+
+ +

非常好!目前共计58篇日志,继续努力!

+ +
+ + + +
+

2023

+
+ + + +
+
+

+ 01-11 + 2023 winter training short round #3 总结 +

+
+
+
+ + + + +
+
+

+ 01-08 + 2023 winter training short round #2 +

+
+
+
+ + + +
+

2020

+
+ + + +
+
+

+ 12-02 + 模拟赛 32 题解 +

+
+
+
+ + + + +
+
+

+ 12-02 + 模拟赛 29 题解 +

+
+
+
+ + + + +
+
+

+ 11-27 + 模拟赛 28 题解 +

+
+
+
+ + + + +
+
+

+ 11-23 + 模拟赛 24 题解 +

+
+
+
+ + + + +
+
+

+ 11-20 + 请客 题解 +

+
+
+
+ + + + +
+
+

+ 11-14 + 有趣计数题选做 +

+
+
+
+ + + + +
+
+

+ 11-14 + 模拟赛 21 题解 +

+
+
+
+ + + + +
+
+

+ 11-14 + 函数调用 题解 +

+
+
+
+ + + + +
+
+

+ 11-14 + 模拟赛 20 题解 +

+
+
+
+ + + + +
+
+

+ 11-14 + 模拟赛 19 题解 +

+
+
+
+ + + + +
+
+

+ 11-14 + 模拟赛 18 题解 +

+
+
+
+ + + + +
+
+

+ 11-04 + 模拟赛 16 题解 +

+
+
+
+ + + + +
+
+

+ 11-04 + 模拟赛 13 题解 +

+
+
+
+ + + + +
+
+

+ 11-04 + 模拟赛 15 题解 +

+
+
+
+ + + + +
+
+

+ 11-03 + 奥法之劫 题解 +

+
+
+
+ + + + +
+
+

+ 11-02 + 斯特林数 学习笔记 +

+
+
+
+ + + + +
+
+

+ 11-01 + 模拟赛 14 题解 +

+
+
+
+ + + + +
+
+

+ 10-28 + 模拟赛 12 题解 +

+
+
+
+ + + + +
+
+

+ 10-28 + 模拟赛 9 题解 +

+
+
+
+ + + + +
+
+

+ 10-27 + Codeforces #679 div2 简要题解 +

+
+
+
+ + + + +
+
+

+ 10-27 + 模拟赛 11 题解 +

+
+
+
+ + + + +
+
+

+ 10-26 + 模拟赛 10 题解 +

+
+
+
+ + + + +
+
+

+ 10-26 + 模拟赛 7 题解 +

+
+
+
+ + + + +
+
+

+ 10-26 + 模拟赛 8 题解 +

+
+
+
+ + + + +
+
+

+ 10-23 + 模拟赛 4 题解 +

+
+
+
+ + + + +
+
+

+ 10-23 + Atcoder Grand Contest 048 题解 +

+
+
+
+ + + + +
+
+

+ 10-22 + 模拟赛5 题解 +

+
+
+
+ + + + +
+
+

+ 10-20 + 模拟赛 6 题解 +

+
+
+
+ + + + +
+
+

+ 10-09 + 决策单调性 学习笔记 +

+
+
+
+ + + + +
+
+

+ 10-08 + 字符串题目选做 +

+
+
+
+ + + + +
+
+

+ 10-02 + 题解 P5047 Yuno loves sqrt technology II +

+
+
+
+ + + + +
+
+

+ 09-29 + Choice 题解 +

+
+
+
+ + + + +
+
+

+ 09-24 + 题解 CF662C 【Binary Table】 +

+
+
+
+ + + + +
+
+

+ 09-24 + KMP的删除操作 +

+
+
+
+ + + + +
+
+

+ 08-26 + Educational Codeforces Round 94 简要题解 +

+
+
+
+ + + + +
+
+

+ 08-17 + 模拟赛 08.17 +

+
+
+
+ + + + +
+
+

+ 08-16 + 最大权闭合子图 学习笔记 +

+
+
+
+ + + + +
+
+

+ 08-04 + 整体二分 学习笔记 +

+
+
+
+ + + + +
+
+

+ 08-02 + [ZJOI2014] 力 解题报告 +

+
+
+
+ + + + +
+
+

+ 08-01 + 无源汇上下界可行流 学习笔记 +

+
+
+
+ + + + +
+
+

+ 07-21 + 卡特兰数 学习笔记 +

+
+
+
+ + + + +
+
+

+ 07-21 + 数论函数 学习笔记 +

+
+
+
+ + + + +
+
+

+ 07-21 + 题解 [CQOI2015] 网络吞吐量 +

+
+
+
+ + + + +
+
+

+ 07-21 + 组合数学 学习笔记 +

+
+
+
+ + + + +
+
+

+ 07-21 + 折半搜索 学习笔记 +

+
+
+
+ + + + +
+
+

+ 07-21 + 题解 [ZJOI2010] 基站选址 +

+
+
+
+ + + + +
+
+

+ 07-21 + 模拟赛 06.27 +

+
+
+
+ + + + +
+
+

+ 07-21 + LIS&LCS +

+
+
+
+ +
+ +
+ +
+
+ +
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/archives/page/2/index.html b/archives/page/2/index.html new file mode 100644 index 0000000..0b87491 --- /dev/null +++ b/archives/page/2/index.html @@ -0,0 +1,633 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + +
+
+ + +
+ + + \ No newline at end of file diff --git a/atom.xml b/atom.xml new file mode 100644 index 0000000..92cb88d --- /dev/null +++ b/atom.xml @@ -0,0 +1,139 @@ + + + https://alan-sp.github.io + AlanSP's Blog + 2023-01-08T05:55:55.402Z + https://github.com/jpmonette/feed + + + 千夫诺诺,不如一士谔谔 + https://alan-sp.github.io/images/avatar.png + https://alan-sp.github.io/favicon.ico + All rights reserved 2023, AlanSP's Blog + + <![CDATA[2023 winter training short round #3 总结]]> + https://alan-sp.github.io/post/2023-winter-training-short-round-3-zong-jie/ + + + 2023-01-11T01:19:39.000Z + 2023 winter training short round #3 +

毒瘤构造专场

+]]>
+ 2023 winter training short round #3 +

毒瘤构造专场

+]]>
+
+ + <![CDATA[2023 winter training short round #2]]> + https://alan-sp.github.io/post/2023-winter-training-short-round-2/ + + + 2023-01-08T04:40:26.000Z + rk 13

+]]>
+ rk 13

+]]>
+
+ + <![CDATA[模拟赛 32 题解]]> + https://alan-sp.github.io/post/mo-ni-sai-32-ti-jie/ + + + 2020-12-02T07:01:10.000Z + 博弈论+剥叶子+思维+模拟+构造+背包+贪心+状压+动态规划

+]]>
+ 博弈论+剥叶子+思维+模拟+构造+背包+贪心+状压+动态规划

+]]>
+
+ + <![CDATA[模拟赛 29 题解]]> + https://alan-sp.github.io/post/mo-ni-sai-29-ti-jie/ + + + 2020-12-02T07:00:21.000Z + 思维+模拟+计数+子树贡献+决策单调性

+]]>
+ 思维+模拟+计数+子树贡献+决策单调性

+]]>
+
+ + <![CDATA[模拟赛 28 题解]]> + https://alan-sp.github.io/post/mo-ni-sai-28-ti-jie/ + + + 2020-11-27T07:29:59.000Z + 最小生成树+dp+思维

+]]>
+ 最小生成树+dp+思维

+]]>
+
+ + <![CDATA[模拟赛 24 题解]]> + https://alan-sp.github.io/post/mo-ni-sai-24-ti-jie/ + + + 2020-11-22T23:31:53.000Z + 模拟赛 24 题解 +

思维+树状数组+最短路+背包+计数+状压

+]]>
+ 模拟赛 24 题解 +

思维+树状数组+最短路+背包+计数+状压

+]]>
+
+ + <![CDATA[请客 题解]]> + https://alan-sp.github.io/post/qing-ke-ti-jie/ + + + 2020-11-20T12:12:00.000Z + 环状计数问题。

+]]>
+ 环状计数问题。

+]]>
+
+ + <![CDATA[有趣计数题选做]]> + https://alan-sp.github.io/post/you-qu-ji-shu-ti-xuan-zuo/ + + + 2020-11-14T11:01:00.000Z + + + <![CDATA[模拟赛 21 题解]]> + https://alan-sp.github.io/post/mo-ni-sai-21-ti-jie/ + + + 2020-11-14T10:58:59.000Z + 数论+计数+dp+贪心+堆

+]]>
+ 数论+计数+dp+贪心+堆

+]]>
+
+ + <![CDATA[函数调用 题解]]> + https://alan-sp.github.io/post/han-shu-diao-yong-ti-jie/ + + + 2020-11-14T10:57:49.000Z + Description +

给定一个序列和若干种操作,他们分成三类:

+
    +
  • 将序列中的指定元素加上一个值;
  • +
  • 将序列中的每一个元素乘以一个相同值;
  • +
  • 依次执行若干次操作,不会出现递归。
    +给出一个长度为 qq 的操作串,询问依次执行完上面的所有操作后,序列中每个元素的值是多少。
  • +
+
+]]>
+ Description +

给定一个序列和若干种操作,他们分成三类:

+
    +
  • 将序列中的指定元素加上一个值;
  • +
  • 将序列中的每一个元素乘以一个相同值;
  • +
  • 依次执行若干次操作,不会出现递归。
    +给出一个长度为 qq 的操作串,询问依次执行完上面的所有操作后,序列中每个元素的值是多少。
  • +
+
+]]>
+
+
\ No newline at end of file diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000..7196fe4 Binary files /dev/null and b/favicon.ico differ diff --git a/images/avatar.png b/images/avatar.png new file mode 100644 index 0000000..c6a3e68 Binary files /dev/null and b/images/avatar.png differ diff --git a/index.html b/index.html new file mode 100644 index 0000000..cf1c87c --- /dev/null +++ b/index.html @@ -0,0 +1,1335 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+ + + + + + + + + + + + + + + + + + + +
+
+
+

+ + 函数调用 题解 + +

+ +
+
+ + + + +

Description

+ + + +

给定一个序列和若干种操作,他们分成三类:

+
    +
  • 将序列中的指定元素加上一个值;
  • +
  • 将序列中的每一个元素乘以一个相同值;
  • +
  • 依次执行若干次操作,不会出现递归。
    +给出一个长度为 qq 的操作串,询问依次执行完上面的所有操作后,序列中每个元素的值是多少。
  • +
+
+ + + + + + +
+ + 阅读全文 » + +
+ +
+ +
+
+ + + +
+ +
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/media/css/gemini.css b/media/css/gemini.css new file mode 100644 index 0000000..775f66c --- /dev/null +++ b/media/css/gemini.css @@ -0,0 +1,388 @@ +.pagination-ul { + padding: 10px 0; +} + +.box-shadow-wrapper { + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.06), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 -1px 0.5px 0 rgba(0, 0, 0, 0.09); +} + +.tags-section { + height: 100%; +} + +.section { + min-height: 700px; + border-radius: initial; + box-sizing: border-box; +} + +.site-nav { + padding: 20px 0; + transition: all .3s linear; +} + +.nav-item { + opacity: 0; +} + +.nav-toggle { + position: absolute; + left: 20px; + top: 56px; + -webkit-transform: translateY(-50%); + -webkit-transform: translateY(-50%); + -moz-transform: translateY(-50%); + -ms-transform: translateY(-50%); + -o-transform: translateY(-50%); + transform: translateY(-50%); + display: none; + cursor: pointer; + padding: 10px; + z-index: 100; +} + +.nav-toggle .line { + display: block; + width: 22px; + height: 2px; + background-color: rgb(206, 204, 204); + border-radius: 1px; + transition: all .3s linear; +} + +.nav-toggle:hover .line{ + background-color: #fff; +} + +.nav-menu-active { + display: block !important; + margin: 20px 0 !important; +} + +.nav-toggle-active .line-top { + transform: translateY(6px) rotate(45deg); + transform-origin: center; +} + +.nav-toggle-active .line-bottom { + transform: translateY(-6px) rotate(-45deg); + transform-origin: center; +} + +.nav-toggle-active .line-center { + opacity: 0; +} + +.line+.line { + margin-top: 4px; +} + +.sidebar { + width: 240px; + position: relative; +} + +.header ul { + display: block; + padding: 0px; + list-style-type: none; +} + +.brand { + display: inline-block; + padding: 0 40px; + border-bottom: none; + position: relative; + top: -10px; + opacity: 0; + color: #EEE; +} + +.brand:hover { + color: #FFF; +} + +.sidebar-wrapper { + color: #555; + border-radius: initial; + padding: 20px 10px; + box-sizing: border-box; + width: 240px; +} + +.site-author-image { + display: block; + margin: 0 auto; + padding: 2px; + height: auto; + background-color: #FFF; + border: 1px solid #eee; +} + + +.gemini { + +} + +.gemini .post-page { + padding: 20px 40px; +} + +.gemini .article-wrapper { + padding: 20px; +} + +.gemini .post { + margin-bottom: 20px; +} + +.gemini .section { + width: auto; +} + +.gemini .section-box{ + box-sizing: border-box; + width: calc(100% - 252px); + min-height: 700px; +} + +.gemini .header { + position: relative; + margin: 0 auto; +} + +.gemini .section-layout-wrapper { + margin: 0 auto; + display: flex; + flex-direction: row; + justify-content: space-between; + position: relative; +} + +.gemini .sidebar { + width: 240px; + opacity: 0; +} + +.gemini .sidebar-box .sidebar-wrapper { + box-shadow: none; +} + +.gemini .header li { + list-style-type: none; + line-height: 32px; +} + +.gemini .blog-header { + position: absolute; + overflow: hidden; + top: 0; + padding: 0; + width: 240px; + border-radius: initial; + z-index: 9999; +} + +.gemini .site-title { + display: inline-block; + vertical-align: top; + line-height: 36px; + font-size: 24px; + font-weight: normal; + font-family: 'Rosario', 'Monda', "PingFang SC", "Microsoft YaHei", sans-serif; +} + +.gemini .site-meta { + position: relative; + padding: 20px 0; + text-align: center; +} + +.gemini .subtitle { + position: relative; + top: -10px; + opacity: 0; + margin: 10px 10px 0; + font-weight: initial; + margin-top: 10px; + font-size: 13px; + color: #ddd; +} + +.gemini .nav-item-active a:after { + content: " "; + position: absolute; + top: 50%; + margin-top: -3px; + right: 15px; + width: 6px; + height: 6px; + border-radius: 50%; + background-color: #bbb; + color: rgba(0, 0, 0, 0.98); +} + +.gemini .site-author-image { + max-width: 120px; +} + +.gemini .nav-item a { + display: block; + font-size: 13px; + line-height: inherit; + position: relative; + box-sizing: border-box; + line-height: inherit; + border: none; + padding: 5px 20px; + text-align: left; +} + +@media (max-width: 961px) { + .drawer-box { + display: none; + } +} + +@media (max-width: 767px) { + + .main-continer { + width: auto !important; + } + + .section-layout-wrapper { + width: auto; + } + + .section-box { + width: 100% !important; + } + + .gemini .section { + margin: 0 !important; + } + + .nav-toggle { + display: inline-block; + } + + .site-nav { + padding: 0px; + height: 0px !important; + margin: 0; + overflow: hidden; + } + +} + +@media (max-width: 991px) and (min-width: 768px) { + + .main-continer { + width: auto !important; + } + + .header { + width: auto !important; + } + .blog-header { + position: relative !important; + width: auto !important; + } + .sidebar { + display: none !important; + } + + .section { + width: auto; + } + + .articles-wrapper { + width: auto; + } + + .section-box { + width: 100% !important; + } + + .gemini .section-layout-wrapper { + width: auto; + margin: 10px; + } + + .gemini .post { + padding: 20px; + } + + .gemini .brand { + font-size: 20px; + } +} + +@media (max-width: 767px) { + + .main-continer { + width: auto; + } + + .gemini .section-layout-wrapper { + width: auto; + margin: 10px; + } + + .gemini .nav-item-active a:after { + content: none; + } + + .gemini .post-page { + padding: 10px; + } + + .box-shadow-wrapper { + padding: 0px; + } + + .sidebar { + display: none !important; + } + + .gemini .blog-header { + overflow: hidden; + } + + .header { + width: auto !important; + } + .blog-header { + position: relative !important; + width: auto !important; + border-radius: initial !important; + } + + .nav-toggle { + display: inline-block; + } + + .section-layout-wrapper { + width: auto !important; + } + + .article-box { + width: auto; + } + + .header li { + list-style-type: none; + line-height: 32px; + } + + .nav-item a { + display: block; + font-size: 13px; + position: relative; + box-sizing: border-box; + padding: 5px 20px; + text-align: left; + line-height: inherit; + border: none; + } +} \ No newline at end of file diff --git a/media/css/mist.css b/media/css/mist.css new file mode 100644 index 0000000..3a6fddf --- /dev/null +++ b/media/css/mist.css @@ -0,0 +1,630 @@ +.section-box { + background-color: #fff; +} + +.section { + box-sizing: border-box; + width: auto; + min-height: 700px; + box-shadow: initial; + border-radius: initial; + padding: 40px; + box-sizing: border-box; +} + +.posts-expand { + padding-top: 40px; +} + +.site-title a:hover { + color: #fff; +} + +.site-nav { + margin: 20px 0; + transition: all .3s linear; +} + +.nav-item { + opacity: 0; +} + +.nav-item a { + padding: 5px 10px; + background: none; + border: none; + border-radius: 2px; + transition-property: background; +} + +.nav-item-active { + background: #f9f9f9; +} + +.nav-item:hover { + background: #f9f9f9; + color: rgba(0, 0, 0, 0.98); +} + +.nav-toggle { + position: absolute; + left: 20px; + top: 56px; + -webkit-transform: translateY(-50%); + -webkit-transform: translateY(-50%); + -moz-transform: translateY(-50%); + -ms-transform: translateY(-50%); + -o-transform: translateY(-50%); + transform: translateY(-50%); + display: none; + cursor: pointer; + padding: 10px; + z-index: 100; +} + +.nav-toggle .line { + display: block; + width: 22px; + height: 2px; + background-color: rgb(206, 204, 204); + border-radius: 1px; + transition: all .3s linear; +} + +.nav-toggle:hover .line{ + background-color: #fff; +} + +.nav-menu-active { + display: block !important; + margin: 20px 0; +} + +.nav-toggle-active .line-top { + transform: translateY(6px) rotate(45deg); + transform-origin: center; +} + +.nav-toggle-active .line-bottom { + transform: translateY(-6px) rotate(-45deg); + transform-origin: center; +} + +.nav-toggle-active .line-center { + opacity: 0; +} + +.line+.line { + margin-top: 4px; +} + +.sidebar { + width: 240px; +} + +.header ul { + display: block; + padding: 0px; + list-style-type: none; +} + +.brand { + display: inline-block; + padding: 0 40px; + color: #fff; + background: #222; + border-bottom: none; + position: relative; + top: -10px; + opacity: 0; +} + +.sidebar-wrapper { + color: #555; + box-shadow: initial; + border-radius: initial; + padding: 20px 10px; + box-sizing: border-box; +} + +.site-author-image { + display: block; + margin: 0 auto; + padding: 2px; + height: auto; + background-color: #FFF; + border: 1px solid #eee; +} + +.section-layout.mist { + padding: 20px 40px; + box-sizing: border-box; +} + +.mist .sidebar { + position: fixed; + top: 0px; + left: 0px; + bottom: 0; + z-index: 1040; + box-shadow: inset 0 2px 6px #000; + background: #222; + width: 0px; + overflow: hidden; +} + +.mist .sidebar-wrapper { + width: 320px; + text-align: center; +} + +.mist .sidebar-title { + width: 320px; +} + +.mist .site-author-name { + margin: 5px 0 0; + text-align: center; + color: #f5f5f5; + font-weight: normal; +} + +.mist .site-description { + margin-top: 5px; + text-align: center; + font-size: 14px; + color: #999; + opacity: 0; +} + +.mist .site-author-image { + max-width: 96px; + border: 2px solid #333; + opacity: 0; +} + +.mist .section-box { + background-color: transparent; +} + +.mist .sidebar-title-active{ + color: #87daff; + border-bottom-color: #87daff; +} + +.mist .active-current > a { + color: #87daff; + border-bottom-color: #87daff; +} + +.mist .active-show > a { + color: #87daff; + border-bottom-color: #87daff; +} + +.mist .sidebar-box { + background-color: transparent; +} + +.mist .sidebar a:hover > span { + transition: color .2s linear; + color: #eee !important; +} + +.mist .sidebar-item-box { + display: inline-block; + padding: 0 15px; +} + +.mist .right-motion { + opacity: 0; +} + +.mist .sidebar-item-box + .sidebar-item-box { + border-left: 1px solid #333; +} + +.mist .sidebar-title-item:hover { + color: #87daff; +} + +.mist.back-to-top { + opacity: 1; + width: 24px; + background: #222; +} + +.drawer-box { + position: fixed; + left: 30px; + bottom: 56px; + width: 14px; + height: 14px; + padding: 5px; + background: #222; + line-height: 0; + z-index: 1050; + cursor: pointer; + -webkit-transform: translateZ(0); +} + +.drawer-box > span { + position: relative; + display: inline-block; + vertical-align: top; + height: 2px; + width: 100%; + margin-bottom: 3px; + background: #fff; + transition: all .3s linear; +} + +.drawer-box.right:hover .muse-line:first-child { + top: 2px; + transform: rotateZ(-45deg); + width: 50%; + opacity: 1; + left: 0px; +} + +.drawer-box.right:hover middle { + width: 90%; + opacity: 1; + left: 0px; +} + +.drawer-box.right:hover .muse-line:last-child { + top: -2px; + transform: rotateZ(45deg); + width: 50%; + opacity: 1; + left: 0px; +} + +.drawer-box.left:hover .muse-line:first-child { + top: 2px; + transform: translateX(100%) rotateZ(45deg); + width: 50%; + opacity: 1; +} + +.drawer-box.left:hover middle { + width: 90%; + opacity: 1; +} + +.drawer-box.left:hover .muse-line:last-child { + top: -2px; + transform: translateX(100%) rotateZ(-45deg); + width: 50%; + opacity: 1; +} + +.sidebar-open .muse-line-first { + top: 5px; + transform: rotateZ(-45deg); + width: 100%; + opacity: 1; + left: 0px; +} + +.sidebar-open .muse-line-middle { + opacity: 0; + left: 0px; +} + +.sidebar-open .muse-line-last { + top: -5px; + transform: rotateZ(45deg); + width: 100%; + opacity: 1; + left: 0px; +} + +.mist { + width: 100%; +} + +.mist .blog-header { + margin: 0 auto; + display: flex; + justify-content: space-between; + align-items: center; + padding: 12px 40px 12px; + box-sizing: border-box; +} + +.mist .nav-item { + display: inline-block; + font-size: 14px; +} + +.mist .section-layout-wrapper { + margin: 0 auto; + position: relative; +} + +.mist .section { + width: 100%; + box-shadow: initial; + border-radius: initial; + padding: 40px 0; + box-sizing: border-box; +} + +.mist .nav-item i { + display: inline-block; +} + +.mist .main-title { + font-size: 22px; + font-weight: bolder; + padding: 0; + display: block; + position: relative; + border-bottom: none; + top: -10px; + opacity: 0; + background-color: transparent; +} + +.mist .site-title i { + position: relative; + display: block; + height: 2px; +} + +.logo-line-before i, .logo-line-after i { + display: block; + margin: 0 auto; +} + +.mist .logo-line-before,.mist .logo-line-after { + overflow: hidden; + width: 75%; + display: block; + margin: 0 auto; +} +.mist .logo-line-before>i { + left: -100%; + transition: left .2s linear; +} +.mist .logo-line-after>i{ + left: 100%; + transition: left .2s linear; +} + +.mist .site-title:hover .logo-line-before>i { + left: 0; +} + +.mist .site-title:hover .logo-line-after>i { + left: 0; +} + +.mist .post-button { + text-align: left; + padding: 0; + font-size: 14px; + background: transparent; + border-bottom: 2px solid #666; + display: inline-block; +} + +.mist .post-button .btn { + border: none !important; + margin: 0 !important; + border-radius: 0 !important; + padding: 0; + background-color: transparent; +} + +.mist .post-button .btn:hover { + border-color: #222; + color: #222; + border-bottom-color: #222; +} + +.mist .post-footer .post-eof { + display: block; + margin: 40px auto 30px; + width: 0; +} + +.mist .post-header .post-title, .mist .post-header .post-meta { + text-align: left; +} + +.mist .post-header .post-meta{ + margin: 5px 0 20px; +} + +.mist .nav-item, .mist .nav-item-active, .mist .nav-item-active:hover { + background: transparent !important; +} + +.mist .archive-timeline-box, .mist .tag-timeline-box { + margin-left: 0; +} + +@media (min-width: 1600px) { + .post-button a { + font-size: 16px; + } +} + +@media (min-width: 992px) { + +} + +@media (max-width: 961px) { + .drawer-box { + display: none; + } +} + +@media (max-width: 767px) { + + .main-continer { + width: auto !important; + } + + .section-layout-wrapper { + width: auto; + } + + .section-box { + width: 100% !important; + } + + .section { + padding: 20px 20px; + } + + .nav-toggle { + display: inline-block; + } + +} + +@media (max-width: 991px) and (min-width: 768px) { + + .main-continer { + width: auto !important; + } + + .header { + width: auto !important; + } + .blog-header { + position: relative !important; + width: auto !important; + } + .sidebar { + display: none !important; + } + + .section { + width: auto; + } + + .articles-wrapper { + width: auto; + } + + .section-box { + width: 100% !important; + } + + .pisces .section { + padding: 20px; + } + +} + +@media (max-width: 767px) { + + .main-continer { + width: auto; + } + + .sidebar { + display: none !important; + } + + .header { + width: auto !important; + } + .blog-header { + position: relative !important; + width: auto !important; + border-radius: initial !important; + display: block !important; + padding: 0px !important; + } + + .section-layout.mist { + padding: 0px; + } + + .nav-toggle { + display: inline-block; + } + + .pisces .blog-header { + overflow: hidden; + } + + .section-layout-wrapper { + width: auto !important; + } + + .article-box { + width: auto; + } + + .mist .section { + margin: 0px 20px !important; + width: auto !important; + } + + .mist .nav-item { + display: block !important; + } + + .mist .nav-item i{ + display: inline-block !important; + } + + .mist .nav-item a { + text-align: left; + padding-left: 10px; + } + + .mist .logo-line-after, .mist .logo-line-before { + display: none; + } + + .mist .site-meta { + margin-left: 10px; + display: inline-block; + } + + .mist .nav-toggle { + position: static; + float: right; + margin-top: 20px; + } + + .mist .site-nav { + height: 0px; + margin: 0; + width: 100%; + overflow: hidden; + } + + .mist .nav-menu-active { + border-top: 1px solid silver; + } + + + .mist .post-header .post-title, .mist .post-header .post-meta { + text-align: center; + } + + .header li { + list-style-type: none; + line-height: 32px; + } + + .nav-item a { + display: block; + font-size: 13px; + position: relative; + box-sizing: border-box; + padding: 5px 20px; + text-align: left; + line-height: inherit; + border: none; + } +} \ No newline at end of file diff --git a/media/css/muse.css b/media/css/muse.css new file mode 100644 index 0000000..d8e3ae8 --- /dev/null +++ b/media/css/muse.css @@ -0,0 +1,623 @@ +.section-box { + background-color: #fff; +} + +.box-shadow-wrapper { + box-shadow: 0 0 50px rgba(202,203,203,0.5); + -webkit-box-shadow: 0 0 50px rgba(202,203,203,0.5); + -moz-box-shadow: 0 0 5px rgba(202,203,204,0.5); +} + +.sidebar .box-shadow-wrapper { + box-shadow: none; +} + +.section { + box-sizing: border-box; + width: auto; + min-height: 700px; + box-shadow: initial; + border-radius: initial; + padding: 40px; + box-sizing: border-box; +} + +.posts-expand { + padding-top: 40px; +} + +.site-title a:hover { + color: #fff; +} + +.site-nav { + margin: 20px 0; + transition: all .3s linear; + text-align: center; +} + +.nav-item { + opacity: 0; +} + +.nav-item:hover { + color: rgba(0, 0, 0, 0.98); +} + +.nav-toggle { + position: absolute; + left: 20px; + top: 56px; + -webkit-transform: translateY(-50%); + -webkit-transform: translateY(-50%); + -moz-transform: translateY(-50%); + -ms-transform: translateY(-50%); + -o-transform: translateY(-50%); + transform: translateY(-50%); + display: none; + cursor: pointer; + padding: 10px; + z-index: 100; +} + +.nav-toggle .line { + display: block; + width: 22px; + height: 2px; + background-color: rgb(206, 204, 204); + border-radius: 1px; + transition: all .3s linear; +} + +.nav-toggle:hover .line{ + background-color: #fff; +} + +.nav-menu-active { + display: block !important; + margin: 20px 0 !important; +} + +.nav-toggle-active .line-top { + transform: translateY(6px) rotate(45deg); + transform-origin: center; +} + +.nav-toggle-active .line-bottom { + transform: translateY(-6px) rotate(-45deg); + transform-origin: center; +} + +.nav-toggle-active .line-center { + opacity: 0; +} + +.line+.line { + margin-top: 4px; +} + +.sidebar { + width: 240px; +} + +.header ul { + display: inline-block; + padding: 0px; + list-style-type: none; +} + +.brand { + display: inline-block; + padding: 0 40px; + color: #fff; + background: #222; + border-bottom: none; + position: relative; + top: -10px; + opacity: 0; +} + +.sidebar-wrapper { + color: #555; + box-shadow: initial; + border-radius: initial; + padding: 20px 10px; + box-sizing: border-box; +} + +.site-author-image { + display: block; + margin: 0 auto; + padding: 2px; + height: auto; + background-color: #FFF; + border: 1px solid #eee; +} + +.muse .post { + margin: 70px 0; + padding: 10px; +} + +.muse.section-layout { + padding: 20px 40px; + box-sizing: border-box; +} + +.muse header{ + margin: 0 auto; +} + +.muse .header { + position: relative; +} + +.muse .header ul { + text-align: center; +} + +.muse .header li { + list-style-type: none; + padding: 5px 10px; + display: inline-block; +} + +.muse .nav-item a { + text-align: center; + border-bottom: 1px solid transparent; + display: block; +} + +.muse .nav-item i { + display: block; +} + +.muse .blog-header { + position: relative; + margin: 0 auto; + overflow: hidden; + box-shadow: initial; + border-radius: initial; + z-index: 9999; + margin: 0 auto; + padding: 100px 0 0; +} + +.muse .site-title { + display: inline-block; + vertical-align: top; + font-weight: initial; + font-size: 18px; + font-family: 'Rosario', 'Monda', "PingFang SC", "Microsoft YaHei", sans-serif; +} + +.muse .subtitle { + margin-top: 10px; + font-size: 13px; + color: #999; + top: -10px; + opacity: 0; +} + +.muse .site-meta { + position: relative; + color: #fff; + background: transparent; + text-align: center; +} + +.muse .section-layout-wrapper { + margin: 0px auto; + position: relative; + padding: 0 20px; +} + +.muse .archives-section, .muse .tags-section, .muse .tag-timeline-box { + margin: 70px 0 0!important; +} + +.muse .padding-wrapper { + padding: 0 20px; +} + +.muse .archives-section { + padding: 20px !important; +} + +.muse .sidebar { + position: fixed; + top: 0px; + left: 0px; + bottom: 0; + z-index: 1040; + box-shadow: inset 0 2px 6px #000; + background: #222; + width: 0px; + overflow: hidden; +} + +.muse .sidebar-wrapper { + width: 320px; + text-align: center; +} + +.muse .sidebar-title { + width: 320px; +} + +.muse .site-author-name { + margin: 5px 0 0; + text-align: center; + color: #f5f5f5; + font-weight: normal; +} + +.muse .site-description { + margin-top: 5px; + text-align: center; + font-size: 14px; + color: #999; + opacity: 0; +} + +.muse .site-author-image { + max-width: 96px; + border: 2px solid #333; + opacity: 0; +} + +.muse .section-box { + background-color: transparent; +} + +.muse .posts-expand, .muse .post-header { + padding: 0px; +} + +.muse .fa-arrow-up { + color: #fff; +} + +.muse .sidebar-box { + background-color: transparent; +} + +.muse .side-item-stat { + display: block; + text-align: center; +} + +.muse .sidebar-item-box { + display: inline-block; + padding: 0 15px; +} + +.muse .sidebar-item-box:hover a{ + transition: color .2s linear; + color: #fff !important; +} + +.muse .right-motion { + opacity: 0; +} + +.muse .sidebar-item-box + .sidebar-item-box { + border-left: 1px solid #333; +} + +.muse .sidebar-title-item:hover { + color: #87daff; +} + +.muse .post-button a { + color: #fff; + background: #222; + border: 2px solid #222; +} + +.muse .post-button a:hover { + color: #222; + background: #fff; +} + +.muse.back-to-top { + opacity: 1; + width: 24px; + background: #222; +} + +.drawer-box { + position: fixed; + left: 30px; + bottom: 56px; + width: 14px; + height: 14px; + padding: 5px; + background: #222; + line-height: 0; + z-index: 1050; + cursor: pointer; + -webkit-transform: translateZ(0); +} + +.drawer-box > span { + position: relative; + display: inline-block; + vertical-align: top; + height: 2px; + width: 100%; + margin-bottom: 3px; + background: #fff; + transition: all .3s linear; +} + +.drawer-box.right:hover .muse-line:first-child { + top: 2px; + transform: rotateZ(-45deg); + width: 50%; + opacity: 1; + left: 0px; +} + +.drawer-box.right:hover middle { + width: 90%; + opacity: 1; + left: 0px; +} + +.drawer-box.right:hover .muse-line:last-child { + top: -2px; + transform: rotateZ(45deg); + width: 50%; + opacity: 1; + left: 0px; +} + +.drawer-box.left:hover .muse-line:first-child { + top: 2px; + transform: translateX(100%) rotateZ(45deg); + width: 50%; + opacity: 1; +} + +.drawer-box.left:hover middle { + width: 90%; + opacity: 1; +} + +.drawer-box.left:hover .muse-line:last-child { + top: -2px; + transform: translateX(100%) rotateZ(-45deg); + width: 50%; + opacity: 1; +} + +.sidebar-open .muse-line-first { + top: 5px; + transform: rotateZ(-45deg); + width: 100%; + opacity: 1; + left: 0px; +} + +.sidebar-open .muse-line-middle { + opacity: 0; + left: 0px; +} + +.sidebar-open .muse-line-last { + top: -5px; + transform: rotateZ(45deg); + width: 100%; + opacity: 1; + left: 0px; +} + +.muse.body { + background-color: #ffffff; +} + +.muse .archive-timeline-box, .muse .tag-timeline-box { + margin-left: 0; +} + +@media (min-width: 1600px) { + .post-button a { + font-size: 16px; + } +} + +@media (min-width: 992px) { + +} + +@media (max-width: 961px) { + .drawer-box { + display: none; + } +} + +@media (max-width: 767px) { + + .main-continer { + width: auto !important; + } + + .muse .site-nav { + display: none; + } + + .section-layout-wrapper { + width: auto; + } + + .section-box { + width: 100% !important; + } + + .section { + padding: 20px 20px; + } + + .nav-toggle { + display: inline-block; + } + + .site-nav { + height: 0px !important; + margin: 0; + overflow: hidden; + } + + .muse .site-nav { + overflow: unset; + } + + .muse .nav-item-active { + background-color: transparent; + } + + .muse .nav-item:hover { + background: transparent; + } + +} + +@media (max-width: 991px) and (min-width: 768px) { + + .main-continer { + width: auto !important; + } + + .header { + width: auto !important; + } + .blog-header { + position: relative !important; + width: auto !important; + } + .sidebar { + display: none !important; + } + + .section { + width: auto; + } + + .articles-wrapper { + width: auto; + } + + .section-box { + width: 100% !important; + } + + .pisces .section { + padding: 20px; + } + +} + +@media (max-width: 767px) { + + .main-continer { + width: auto; + } + + .sidebar { + display: none !important; + } + + .header { + width: auto !important; + } + .blog-header { + position: relative !important; + width: auto !important; + border-radius: initial !important; + } + + .muse .blog-header { + overflow: unset; + } + + .muse #nav_ul { + width: 100%; + background-color: #FFF; + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + } + + .nav-toggle { + display: inline-block; + } + + .section-layout-wrapper { + width: auto !important; + } + + .article-box { + width: auto; + } + + .muse .section { + width: auto !important; + } + .muse .nav-toggle { + top: 30px; + left: 10px; + color: #000; + } + + .muse .site-nav { + position: absolute; + top: 30px; + background-color: #FFF; + width: 100%; + } + + .muse .nav-item { + display: block !important; + } + + .muse .nav-toggle .line { + background-color: #222; + } + + .muse .nav-item i { + display: inline-block !important; + } + + .muse .nav-item a { + text-align: left; + padding-left: 10px; + } + + .muse.section-layout { + padding: 0px; + } + + .muse .section-layout-wrapper { + padding: 0px; + } + + .muse .blog-header { + padding: 0px; + } + + .header li { + list-style-type: none; + line-height: 32px; + } + + .nav-item a { + display: block; + font-size: 13px; + position: relative; + box-sizing: border-box; + padding: 5px 20px; + text-align: left; + line-height: inherit; + border: none; + } +} \ No newline at end of file diff --git a/media/css/pisces.css b/media/css/pisces.css new file mode 100644 index 0000000..1ef58d7 --- /dev/null +++ b/media/css/pisces.css @@ -0,0 +1,353 @@ +.section { + box-sizing: border-box; + width: auto; + min-height: 700px; + box-shadow: initial; + border-radius: initial; + padding: 40px; + box-sizing: border-box; +} + +.posts-expand { + padding-top: 40px; +} + +.site-title a:hover { + color: #fff; +} + +.site-nav { + padding: 20px 0; + transition: all .3s linear; +} + +.nav-item { + opacity: 0; +} + +.nav-toggle { + position: absolute; + left: 20px; + top: 56px; + -webkit-transform: translateY(-50%); + -webkit-transform: translateY(-50%); + -moz-transform: translateY(-50%); + -ms-transform: translateY(-50%); + -o-transform: translateY(-50%); + transform: translateY(-50%); + display: none; + cursor: pointer; + padding: 10px; + z-index: 100; +} + +.nav-toggle .line { + display: block; + width: 22px; + height: 2px; + background-color: rgb(206, 204, 204); + border-radius: 1px; + transition: all .3s linear; +} + +.nav-toggle:hover .line{ + background-color: #fff; +} + +.nav-menu-active { + display: block !important; + margin: 20px 0 !important; +} + +.nav-toggle-active .line-top { + transform: translateY(6px) rotate(45deg); + transform-origin: center; +} + +.nav-toggle-active .line-bottom { + transform: translateY(-6px) rotate(-45deg); + transform-origin: center; +} + +.nav-toggle-active .line-center { + opacity: 0; +} + +.line+.line { + margin-top: 4px; +} + +.sidebar { + width: 240px; + position: relative; +} + +.header ul { + display: block; + padding: 0px; + list-style-type: none; +} + +.brand { + display: inline-block; + padding: 0 40px; + color: #fff; + background: #222; + border-bottom: none; + position: relative; + top: -10px; + opacity: 0; +} + +.sidebar-wrapper { + color: #555; + box-shadow: initial; + border-radius: initial; + padding: 20px 10px; + box-sizing: border-box; + width: 240px; +} + +.site-author-image { + display: block; + margin: 0 auto; + padding: 2px; + height: auto; + background-color: #FFF; + border: 1px solid #eee; +} + +.pisces { + +} + +.pisces .section-box { + width: calc(100% - 260px); +} + +.pisces .nav-item a { + display: block; + font-size: 13px; + line-height: inherit; + position: relative; + box-sizing: border-box; + line-height: inherit; + border: none; + padding: 5px 20px; + text-align: left; +} + +.pisces .header { + position: relative; + margin: 0 auto; +} + +.pisces .header li { + list-style-type: none; + line-height: 32px; +} + +.pisces .blog-header { + position: absolute; + top: 0; + padding: 0; + width: 240px; + border-radius: initial; + z-index: 9999; + box-shadow: initial; + overflow: hidden; +} + +.pisces .site-title { + display: inline-block; + vertical-align: top; + line-height: 36px; + font-size: 24px; + font-weight: normal; + font-family: 'Rosario', 'Monda', "PingFang SC", "Microsoft YaHei", sans-serif; +} + +.pisces .site-meta { + position: relative; + padding: 20px 0; + color: #fff; + text-align: center; +} + +.pisces .subtitle { + position: relative; + top: -10px; + opacity: 0; + margin: 10px 10px 0; + font-weight: initial; + margin-top: 10px; + font-size: 13px; + color: #ddd; +} + +.pisces .nav-item-active a:after { + content: " "; + position: absolute; + top: 50%; + margin-top: -3px; + right: 15px; + width: 6px; + height: 6px; + border-radius: 50%; + background-color: #bbb; + color: rgba(0, 0, 0, 0.98); +} + +.pisces .section-layout-wrapper { + margin: 0 auto; + display: flex; + flex-direction: row; + justify-content: space-between; + position: relative; +} + +.pisces .sidebar { + box-shadow: none; + opacity: 0; + transition: opacity .2s linear; + width: 240px; + position: relative; +} + +.pisces .site-author-image { + max-width: 120px; +} + +@media (min-width: 1600px) { + .post-button a { + font-size: 16px; + } +} + +@media (min-width: 992px) { + +} + +@media (max-width: 961px) { + .drawer-box { + display: none; + } +} + +@media (max-width: 767px) { + + .main-continer { + width: auto !important; + } + + .section-layout-wrapper { + width: auto; + } + + .section-box { + width: 100% !important; + } + + .section { + padding: 20px 20px; + } + + .nav-toggle { + display: inline-block; + } + + .site-nav { + padding: 0px; + height: 0px !important; + margin: 0; + overflow: hidden; + } + +} + +@media (max-width: 991px) and (min-width: 768px) { + + .main-continer { + width: auto !important; + } + + .header { + width: auto !important; + } + .blog-header { + position: relative !important; + width: auto !important; + } + .sidebar { + display: none !important; + } + + .section { + width: auto; + } + + .articles-wrapper { + width: auto; + } + + .section-box { + width: 100% !important; + } + + .pisces .section { + padding: 20px; + } + +} + +@media (max-width: 767px) { + + .main-continer { + width: auto; + } + + .sidebar { + display: none !important; + } + + .header { + width: auto !important; + } + .blog-header { + position: relative !important; + width: auto !important; + border-radius: initial !important; + } + + .nav-toggle { + display: inline-block; + } + + .pisces .blog-header { + overflow: hidden; + } + + .section-layout-wrapper { + width: auto !important; + } + + .article-box { + width: auto; + } + + .header li { + list-style-type: none; + line-height: 32px; + } + + .nav-item a { + display: block; + font-size: 13px; + position: relative; + box-sizing: border-box; + padding: 5px 20px; + text-align: left; + line-height: inherit; + border: none; + } +} \ No newline at end of file diff --git a/media/fonts/FontAwesome.otf b/media/fonts/FontAwesome.otf new file mode 100644 index 0000000..401ec0f Binary files /dev/null and b/media/fonts/FontAwesome.otf differ diff --git a/media/fonts/STXINGKA.TTF b/media/fonts/STXINGKA.TTF new file mode 100644 index 0000000..53439a2 Binary files /dev/null and b/media/fonts/STXINGKA.TTF differ diff --git a/media/fonts/font-awesome.css b/media/fonts/font-awesome.css new file mode 100644 index 0000000..ef8c2b6 --- /dev/null +++ b/media/fonts/font-awesome.css @@ -0,0 +1,2337 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +/* FONT PATH + * -------------------------- */ +@font-face { + font-family: 'FontAwesome'; + src: url('./fontawesome-webfont.eot?v=4.7.0'); + src: url('./fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'), url('./fontawesome-webfont.woff2?v=4.7.0') format('woff2'), url('./fontawesome-webfont.woff?v=4.7.0') format('woff'), url('./fontawesome-webfont.ttf?v=4.7.0') format('truetype'), url('./fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg'); + font-weight: normal; + font-style: normal; +} +.fa { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +/* makes the font 33% larger relative to the icon container */ +.fa-lg { + font-size: 1.33333333em; + line-height: 0.75em; + vertical-align: -15%; +} +.fa-2x { + font-size: 2em; +} +.fa-3x { + font-size: 3em; +} +.fa-4x { + font-size: 4em; +} +.fa-5x { + font-size: 5em; +} +.fa-fw { + width: 1.28571429em; + text-align: center; +} +.fa-ul { + padding-left: 0; + margin-left: 2.14285714em; + list-style-type: none; +} +.fa-ul > li { + position: relative; +} +.fa-li { + position: absolute; + left: -2.14285714em; + width: 2.14285714em; + top: 0.14285714em; + text-align: center; +} +.fa-li.fa-lg { + left: -1.85714286em; +} +.fa-border { + padding: .2em .25em .15em; + border: solid 0.08em #eeeeee; + border-radius: .1em; +} +.fa-pull-left { + float: left; +} +.fa-pull-right { + float: right; +} +.fa.fa-pull-left { + margin-right: .3em; +} +.fa.fa-pull-right { + margin-left: .3em; +} +/* Deprecated as of 4.4.0 */ +.pull-right { + float: right; +} +.pull-left { + float: left; +} +.fa.pull-left { + margin-right: .3em; +} +.fa.pull-right { + margin-left: .3em; +} +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} +.fa-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); +} +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +.fa-rotate-90 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} +.fa-rotate-180 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} +.fa-rotate-270 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); +} +.fa-flip-horizontal { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; + -webkit-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + transform: scale(-1, 1); +} +.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(1, -1); + -ms-transform: scale(1, -1); + transform: scale(1, -1); +} +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical { + filter: none; +} +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.fa-stack-1x, +.fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.fa-stack-1x { + line-height: inherit; +} +.fa-stack-2x { + font-size: 2em; +} +.fa-inverse { + color: #ffffff; +} +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.fa-glass:before { + content: "\f000"; +} +.fa-music:before { + content: "\f001"; +} +.fa-search:before { + content: "\f002"; +} +.fa-envelope-o:before { + content: "\f003"; +} +.fa-heart:before { + content: "\f004"; +} +.fa-star:before { + content: "\f005"; +} +.fa-star-o:before { + content: "\f006"; +} +.fa-user:before { + content: "\f007"; +} +.fa-film:before { + content: "\f008"; +} +.fa-th-large:before { + content: "\f009"; +} +.fa-th:before { + content: "\f00a"; +} +.fa-th-list:before { + content: "\f00b"; +} +.fa-check:before { + content: "\f00c"; +} +.fa-remove:before, +.fa-close:before, +.fa-times:before { + content: "\f00d"; +} +.fa-search-plus:before { + content: "\f00e"; +} +.fa-search-minus:before { + content: "\f010"; +} +.fa-power-off:before { + content: "\f011"; +} +.fa-signal:before { + content: "\f012"; +} +.fa-gear:before, +.fa-cog:before { + content: "\f013"; +} +.fa-trash-o:before { + content: "\f014"; +} +.fa-home:before { + content: "\f015"; +} +.fa-file-o:before { + content: "\f016"; +} +.fa-clock-o:before { + content: "\f017"; +} +.fa-road:before { + content: "\f018"; +} +.fa-download:before { + content: "\f019"; +} +.fa-arrow-circle-o-down:before { + content: "\f01a"; +} +.fa-arrow-circle-o-up:before { + content: "\f01b"; +} +.fa-inbox:before { + content: "\f01c"; +} +.fa-play-circle-o:before { + content: "\f01d"; +} +.fa-rotate-right:before, +.fa-repeat:before { + content: "\f01e"; +} +.fa-refresh:before { + content: "\f021"; +} +.fa-list-alt:before { + content: "\f022"; +} +.fa-lock:before { + content: "\f023"; +} +.fa-flag:before { + content: "\f024"; +} +.fa-headphones:before { + content: "\f025"; +} +.fa-volume-off:before { + content: "\f026"; +} +.fa-volume-down:before { + content: "\f027"; +} +.fa-volume-up:before { + content: "\f028"; +} +.fa-qrcode:before { + content: "\f029"; +} +.fa-barcode:before { + content: "\f02a"; +} +.fa-tag:before { + content: "\f02b"; +} +.fa-tags:before { + content: "\f02c"; +} +.fa-book:before { + content: "\f02d"; +} +.fa-bookmark:before { + content: "\f02e"; +} +.fa-print:before { + content: "\f02f"; +} +.fa-camera:before { + content: "\f030"; +} +.fa-font:before { + content: "\f031"; +} +.fa-bold:before { + content: "\f032"; +} +.fa-italic:before { + content: "\f033"; +} +.fa-text-height:before { + content: "\f034"; +} +.fa-text-width:before { + content: "\f035"; +} +.fa-align-left:before { + content: "\f036"; +} +.fa-align-center:before { + content: "\f037"; +} +.fa-align-right:before { + content: "\f038"; +} +.fa-align-justify:before { + content: "\f039"; +} +.fa-list:before { + content: "\f03a"; +} +.fa-dedent:before, +.fa-outdent:before { + content: "\f03b"; +} +.fa-indent:before { + content: "\f03c"; +} +.fa-video-camera:before { + content: "\f03d"; +} +.fa-photo:before, +.fa-image:before, +.fa-picture-o:before { + content: "\f03e"; +} +.fa-pencil:before { + content: "\f040"; +} +.fa-map-marker:before { + content: "\f041"; +} +.fa-adjust:before { + content: "\f042"; +} +.fa-tint:before { + content: "\f043"; +} +.fa-edit:before, +.fa-pencil-square-o:before { + content: "\f044"; +} +.fa-share-square-o:before { + content: "\f045"; +} +.fa-check-square-o:before { + content: "\f046"; +} +.fa-arrows:before { + content: "\f047"; +} +.fa-step-backward:before { + content: "\f048"; +} +.fa-fast-backward:before { + content: "\f049"; +} +.fa-backward:before { + content: "\f04a"; +} +.fa-play:before { + content: "\f04b"; +} +.fa-pause:before { + content: "\f04c"; +} +.fa-stop:before { + content: "\f04d"; +} +.fa-forward:before { + content: "\f04e"; +} +.fa-fast-forward:before { + content: "\f050"; +} +.fa-step-forward:before { + content: "\f051"; +} +.fa-eject:before { + content: "\f052"; +} +.fa-chevron-left:before { + content: "\f053"; +} +.fa-chevron-right:before { + content: "\f054"; +} +.fa-plus-circle:before { + content: "\f055"; +} +.fa-minus-circle:before { + content: "\f056"; +} +.fa-times-circle:before { + content: "\f057"; +} +.fa-check-circle:before { + content: "\f058"; +} +.fa-question-circle:before { + content: "\f059"; +} +.fa-info-circle:before { + content: "\f05a"; +} +.fa-crosshairs:before { + content: "\f05b"; +} +.fa-times-circle-o:before { + content: "\f05c"; +} +.fa-check-circle-o:before { + content: "\f05d"; +} +.fa-ban:before { + content: "\f05e"; +} +.fa-arrow-left:before { + content: "\f060"; +} +.fa-arrow-right:before { + content: "\f061"; +} +.fa-arrow-up:before { + content: "\f062"; +} +.fa-arrow-down:before { + content: "\f063"; +} +.fa-mail-forward:before, +.fa-share:before { + content: "\f064"; +} +.fa-expand:before { + content: "\f065"; +} +.fa-compress:before { + content: "\f066"; +} +.fa-plus:before { + content: "\f067"; +} +.fa-minus:before { + content: "\f068"; +} +.fa-asterisk:before { + content: "\f069"; +} +.fa-exclamation-circle:before { + content: "\f06a"; +} +.fa-gift:before { + content: "\f06b"; +} +.fa-leaf:before { + content: "\f06c"; +} +.fa-fire:before { + content: "\f06d"; +} +.fa-eye:before { + content: "\f06e"; +} +.fa-eye-slash:before { + content: "\f070"; +} +.fa-warning:before, +.fa-exclamation-triangle:before { + content: "\f071"; +} +.fa-plane:before { + content: "\f072"; +} +.fa-calendar:before { + content: "\f073"; +} +.fa-random:before { + content: "\f074"; +} +.fa-comment:before { + content: "\f075"; +} +.fa-magnet:before { + content: "\f076"; +} +.fa-chevron-up:before { + content: "\f077"; +} +.fa-chevron-down:before { + content: "\f078"; +} +.fa-retweet:before { + content: "\f079"; +} +.fa-shopping-cart:before { + content: "\f07a"; +} +.fa-folder:before { + content: "\f07b"; +} +.fa-folder-open:before { + content: "\f07c"; +} +.fa-arrows-v:before { + content: "\f07d"; +} +.fa-arrows-h:before { + content: "\f07e"; +} +.fa-bar-chart-o:before, +.fa-bar-chart:before { + content: "\f080"; +} +.fa-twitter-square:before { + content: "\f081"; +} +.fa-facebook-square:before { + content: "\f082"; +} +.fa-camera-retro:before { + content: "\f083"; +} +.fa-key:before { + content: "\f084"; +} +.fa-gears:before, +.fa-cogs:before { + content: "\f085"; +} +.fa-comments:before { + content: "\f086"; +} +.fa-thumbs-o-up:before { + content: "\f087"; +} +.fa-thumbs-o-down:before { + content: "\f088"; +} +.fa-star-half:before { + content: "\f089"; +} +.fa-heart-o:before { + content: "\f08a"; +} +.fa-sign-out:before { + content: "\f08b"; +} +.fa-linkedin-square:before { + content: "\f08c"; +} +.fa-thumb-tack:before { + content: "\f08d"; +} +.fa-external-link:before { + content: "\f08e"; +} +.fa-sign-in:before { + content: "\f090"; +} +.fa-trophy:before { + content: "\f091"; +} +.fa-github-square:before { + content: "\f092"; +} +.fa-upload:before { + content: "\f093"; +} +.fa-lemon-o:before { + content: "\f094"; +} +.fa-phone:before { + content: "\f095"; +} +.fa-square-o:before { + content: "\f096"; +} +.fa-bookmark-o:before { + content: "\f097"; +} +.fa-phone-square:before { + content: "\f098"; +} +.fa-twitter:before { + content: "\f099"; +} +.fa-facebook-f:before, +.fa-facebook:before { + content: "\f09a"; +} +.fa-github:before { + content: "\f09b"; +} +.fa-unlock:before { + content: "\f09c"; +} +.fa-credit-card:before { + content: "\f09d"; +} +.fa-feed:before, +.fa-rss:before { + content: "\f09e"; +} +.fa-hdd-o:before { + content: "\f0a0"; +} +.fa-bullhorn:before { + content: "\f0a1"; +} +.fa-bell:before { + content: "\f0f3"; +} +.fa-certificate:before { + content: "\f0a3"; +} +.fa-hand-o-right:before { + content: "\f0a4"; +} +.fa-hand-o-left:before { + content: "\f0a5"; +} +.fa-hand-o-up:before { + content: "\f0a6"; +} +.fa-hand-o-down:before { + content: "\f0a7"; +} +.fa-arrow-circle-left:before { + content: "\f0a8"; +} +.fa-arrow-circle-right:before { + content: "\f0a9"; +} +.fa-arrow-circle-up:before { + content: "\f0aa"; +} +.fa-arrow-circle-down:before { + content: "\f0ab"; +} +.fa-globe:before { + content: "\f0ac"; +} +.fa-wrench:before { + content: "\f0ad"; +} +.fa-tasks:before { + content: "\f0ae"; +} +.fa-filter:before { + content: "\f0b0"; +} +.fa-briefcase:before { + content: "\f0b1"; +} +.fa-arrows-alt:before { + content: "\f0b2"; +} +.fa-group:before, +.fa-users:before { + content: "\f0c0"; +} +.fa-chain:before, +.fa-link:before { + content: "\f0c1"; +} +.fa-cloud:before { + content: "\f0c2"; +} +.fa-flask:before { + content: "\f0c3"; +} +.fa-cut:before, +.fa-scissors:before { + content: "\f0c4"; +} +.fa-copy:before, +.fa-files-o:before { + content: "\f0c5"; +} +.fa-paperclip:before { + content: "\f0c6"; +} +.fa-save:before, +.fa-floppy-o:before { + content: "\f0c7"; +} +.fa-square:before { + content: "\f0c8"; +} +.fa-navicon:before, +.fa-reorder:before, +.fa-bars:before { + content: "\f0c9"; +} +.fa-list-ul:before { + content: "\f0ca"; +} +.fa-list-ol:before { + content: "\f0cb"; +} +.fa-strikethrough:before { + content: "\f0cc"; +} +.fa-underline:before { + content: "\f0cd"; +} +.fa-table:before { + content: "\f0ce"; +} +.fa-magic:before { + content: "\f0d0"; +} +.fa-truck:before { + content: "\f0d1"; +} +.fa-pinterest:before { + content: "\f0d2"; +} +.fa-pinterest-square:before { + content: "\f0d3"; +} +.fa-google-plus-square:before { + content: "\f0d4"; +} +.fa-google-plus:before { + content: "\f0d5"; +} +.fa-money:before { + content: "\f0d6"; +} +.fa-caret-down:before { + content: "\f0d7"; +} +.fa-caret-up:before { + content: "\f0d8"; +} +.fa-caret-left:before { + content: "\f0d9"; +} +.fa-caret-right:before { + content: "\f0da"; +} +.fa-columns:before { + content: "\f0db"; +} +.fa-unsorted:before, +.fa-sort:before { + content: "\f0dc"; +} +.fa-sort-down:before, +.fa-sort-desc:before { + content: "\f0dd"; +} +.fa-sort-up:before, +.fa-sort-asc:before { + content: "\f0de"; +} +.fa-envelope:before { + content: "\f0e0"; +} +.fa-linkedin:before { + content: "\f0e1"; +} +.fa-rotate-left:before, +.fa-undo:before { + content: "\f0e2"; +} +.fa-legal:before, +.fa-gavel:before { + content: "\f0e3"; +} +.fa-dashboard:before, +.fa-tachometer:before { + content: "\f0e4"; +} +.fa-comment-o:before { + content: "\f0e5"; +} +.fa-comments-o:before { + content: "\f0e6"; +} +.fa-flash:before, +.fa-bolt:before { + content: "\f0e7"; +} +.fa-sitemap:before { + content: "\f0e8"; +} +.fa-umbrella:before { + content: "\f0e9"; +} +.fa-paste:before, +.fa-clipboard:before { + content: "\f0ea"; +} +.fa-lightbulb-o:before { + content: "\f0eb"; +} +.fa-exchange:before { + content: "\f0ec"; +} +.fa-cloud-download:before { + content: "\f0ed"; +} +.fa-cloud-upload:before { + content: "\f0ee"; +} +.fa-user-md:before { + content: "\f0f0"; +} +.fa-stethoscope:before { + content: "\f0f1"; +} +.fa-suitcase:before { + content: "\f0f2"; +} +.fa-bell-o:before { + content: "\f0a2"; +} +.fa-coffee:before { + content: "\f0f4"; +} +.fa-cutlery:before { + content: "\f0f5"; +} +.fa-file-text-o:before { + content: "\f0f6"; +} +.fa-building-o:before { + content: "\f0f7"; +} +.fa-hospital-o:before { + content: "\f0f8"; +} +.fa-ambulance:before { + content: "\f0f9"; +} +.fa-medkit:before { + content: "\f0fa"; +} +.fa-fighter-jet:before { + content: "\f0fb"; +} +.fa-beer:before { + content: "\f0fc"; +} +.fa-h-square:before { + content: "\f0fd"; +} +.fa-plus-square:before { + content: "\f0fe"; +} +.fa-angle-double-left:before { + content: "\f100"; +} +.fa-angle-double-right:before { + content: "\f101"; +} +.fa-angle-double-up:before { + content: "\f102"; +} +.fa-angle-double-down:before { + content: "\f103"; +} +.fa-angle-left:before { + content: "\f104"; +} +.fa-angle-right:before { + content: "\f105"; +} +.fa-angle-up:before { + content: "\f106"; +} +.fa-angle-down:before { + content: "\f107"; +} +.fa-desktop:before { + content: "\f108"; +} +.fa-laptop:before { + content: "\f109"; +} +.fa-tablet:before { + content: "\f10a"; +} +.fa-mobile-phone:before, +.fa-mobile:before { + content: "\f10b"; +} +.fa-circle-o:before { + content: "\f10c"; +} +.fa-quote-left:before { + content: "\f10d"; +} +.fa-quote-right:before { + content: "\f10e"; +} +.fa-spinner:before { + content: "\f110"; +} +.fa-circle:before { + content: "\f111"; +} +.fa-mail-reply:before, +.fa-reply:before { + content: "\f112"; +} +.fa-github-alt:before { + content: "\f113"; +} +.fa-folder-o:before { + content: "\f114"; +} +.fa-folder-open-o:before { + content: "\f115"; +} +.fa-smile-o:before { + content: "\f118"; +} +.fa-frown-o:before { + content: "\f119"; +} +.fa-meh-o:before { + content: "\f11a"; +} +.fa-gamepad:before { + content: "\f11b"; +} +.fa-keyboard-o:before { + content: "\f11c"; +} +.fa-flag-o:before { + content: "\f11d"; +} +.fa-flag-checkered:before { + content: "\f11e"; +} +.fa-terminal:before { + content: "\f120"; +} +.fa-code:before { + content: "\f121"; +} +.fa-mail-reply-all:before, +.fa-reply-all:before { + content: "\f122"; +} +.fa-star-half-empty:before, +.fa-star-half-full:before, +.fa-star-half-o:before { + content: "\f123"; +} +.fa-location-arrow:before { + content: "\f124"; +} +.fa-crop:before { + content: "\f125"; +} +.fa-code-fork:before { + content: "\f126"; +} +.fa-unlink:before, +.fa-chain-broken:before { + content: "\f127"; +} +.fa-question:before { + content: "\f128"; +} +.fa-info:before { + content: "\f129"; +} +.fa-exclamation:before { + content: "\f12a"; +} +.fa-superscript:before { + content: "\f12b"; +} +.fa-subscript:before { + content: "\f12c"; +} +.fa-eraser:before { + content: "\f12d"; +} +.fa-puzzle-piece:before { + content: "\f12e"; +} +.fa-microphone:before { + content: "\f130"; +} +.fa-microphone-slash:before { + content: "\f131"; +} +.fa-shield:before { + content: "\f132"; +} +.fa-calendar-o:before { + content: "\f133"; +} +.fa-fire-extinguisher:before { + content: "\f134"; +} +.fa-rocket:before { + content: "\f135"; +} +.fa-maxcdn:before { + content: "\f136"; +} +.fa-chevron-circle-left:before { + content: "\f137"; +} +.fa-chevron-circle-right:before { + content: "\f138"; +} +.fa-chevron-circle-up:before { + content: "\f139"; +} +.fa-chevron-circle-down:before { + content: "\f13a"; +} +.fa-html5:before { + content: "\f13b"; +} +.fa-css3:before { + content: "\f13c"; +} +.fa-anchor:before { + content: "\f13d"; +} +.fa-unlock-alt:before { + content: "\f13e"; +} +.fa-bullseye:before { + content: "\f140"; +} +.fa-ellipsis-h:before { + content: "\f141"; +} +.fa-ellipsis-v:before { + content: "\f142"; +} +.fa-rss-square:before { + content: "\f143"; +} +.fa-play-circle:before { + content: "\f144"; +} +.fa-ticket:before { + content: "\f145"; +} +.fa-minus-square:before { + content: "\f146"; +} +.fa-minus-square-o:before { + content: "\f147"; +} +.fa-level-up:before { + content: "\f148"; +} +.fa-level-down:before { + content: "\f149"; +} +.fa-check-square:before { + content: "\f14a"; +} +.fa-pencil-square:before { + content: "\f14b"; +} +.fa-external-link-square:before { + content: "\f14c"; +} +.fa-share-square:before { + content: "\f14d"; +} +.fa-compass:before { + content: "\f14e"; +} +.fa-toggle-down:before, +.fa-caret-square-o-down:before { + content: "\f150"; +} +.fa-toggle-up:before, +.fa-caret-square-o-up:before { + content: "\f151"; +} +.fa-toggle-right:before, +.fa-caret-square-o-right:before { + content: "\f152"; +} +.fa-euro:before, +.fa-eur:before { + content: "\f153"; +} +.fa-gbp:before { + content: "\f154"; +} +.fa-dollar:before, +.fa-usd:before { + content: "\f155"; +} +.fa-rupee:before, +.fa-inr:before { + content: "\f156"; +} +.fa-cny:before, +.fa-rmb:before, +.fa-yen:before, +.fa-jpy:before { + content: "\f157"; +} +.fa-ruble:before, +.fa-rouble:before, +.fa-rub:before { + content: "\f158"; +} +.fa-won:before, +.fa-krw:before { + content: "\f159"; +} +.fa-bitcoin:before, +.fa-btc:before { + content: "\f15a"; +} +.fa-file:before { + content: "\f15b"; +} +.fa-file-text:before { + content: "\f15c"; +} +.fa-sort-alpha-asc:before { + content: "\f15d"; +} +.fa-sort-alpha-desc:before { + content: "\f15e"; +} +.fa-sort-amount-asc:before { + content: "\f160"; +} +.fa-sort-amount-desc:before { + content: "\f161"; +} +.fa-sort-numeric-asc:before { + content: "\f162"; +} +.fa-sort-numeric-desc:before { + content: "\f163"; +} +.fa-thumbs-up:before { + content: "\f164"; +} +.fa-thumbs-down:before { + content: "\f165"; +} +.fa-youtube-square:before { + content: "\f166"; +} +.fa-youtube:before { + content: "\f167"; +} +.fa-xing:before { + content: "\f168"; +} +.fa-xing-square:before { + content: "\f169"; +} +.fa-youtube-play:before { + content: "\f16a"; +} +.fa-dropbox:before { + content: "\f16b"; +} +.fa-stack-overflow:before { + content: "\f16c"; +} +.fa-instagram:before { + content: "\f16d"; +} +.fa-flickr:before { + content: "\f16e"; +} +.fa-adn:before { + content: "\f170"; +} +.fa-bitbucket:before { + content: "\f171"; +} +.fa-bitbucket-square:before { + content: "\f172"; +} +.fa-tumblr:before { + content: "\f173"; +} +.fa-tumblr-square:before { + content: "\f174"; +} +.fa-long-arrow-down:before { + content: "\f175"; +} +.fa-long-arrow-up:before { + content: "\f176"; +} +.fa-long-arrow-left:before { + content: "\f177"; +} +.fa-long-arrow-right:before { + content: "\f178"; +} +.fa-apple:before { + content: "\f179"; +} +.fa-windows:before { + content: "\f17a"; +} +.fa-android:before { + content: "\f17b"; +} +.fa-linux:before { + content: "\f17c"; +} +.fa-dribbble:before { + content: "\f17d"; +} +.fa-skype:before { + content: "\f17e"; +} +.fa-foursquare:before { + content: "\f180"; +} +.fa-trello:before { + content: "\f181"; +} +.fa-female:before { + content: "\f182"; +} +.fa-male:before { + content: "\f183"; +} +.fa-gittip:before, +.fa-gratipay:before { + content: "\f184"; +} +.fa-sun-o:before { + content: "\f185"; +} +.fa-moon-o:before { + content: "\f186"; +} +.fa-archive:before { + content: "\f187"; +} +.fa-bug:before { + content: "\f188"; +} +.fa-vk:before { + content: "\f189"; +} +.fa-weibo:before { + content: "\f18a"; +} +.fa-renren:before { + content: "\f18b"; +} +.fa-pagelines:before { + content: "\f18c"; +} +.fa-stack-exchange:before { + content: "\f18d"; +} +.fa-arrow-circle-o-right:before { + content: "\f18e"; +} +.fa-arrow-circle-o-left:before { + content: "\f190"; +} +.fa-toggle-left:before, +.fa-caret-square-o-left:before { + content: "\f191"; +} +.fa-dot-circle-o:before { + content: "\f192"; +} +.fa-wheelchair:before { + content: "\f193"; +} +.fa-vimeo-square:before { + content: "\f194"; +} +.fa-turkish-lira:before, +.fa-try:before { + content: "\f195"; +} +.fa-plus-square-o:before { + content: "\f196"; +} +.fa-space-shuttle:before { + content: "\f197"; +} +.fa-slack:before { + content: "\f198"; +} +.fa-envelope-square:before { + content: "\f199"; +} +.fa-wordpress:before { + content: "\f19a"; +} +.fa-openid:before { + content: "\f19b"; +} +.fa-institution:before, +.fa-bank:before, +.fa-university:before { + content: "\f19c"; +} +.fa-mortar-board:before, +.fa-graduation-cap:before { + content: "\f19d"; +} +.fa-yahoo:before { + content: "\f19e"; +} +.fa-google:before { + content: "\f1a0"; +} +.fa-reddit:before { + content: "\f1a1"; +} +.fa-reddit-square:before { + content: "\f1a2"; +} +.fa-stumbleupon-circle:before { + content: "\f1a3"; +} +.fa-stumbleupon:before { + content: "\f1a4"; +} +.fa-delicious:before { + content: "\f1a5"; +} +.fa-digg:before { + content: "\f1a6"; +} +.fa-pied-piper-pp:before { + content: "\f1a7"; +} +.fa-pied-piper-alt:before { + content: "\f1a8"; +} +.fa-drupal:before { + content: "\f1a9"; +} +.fa-joomla:before { + content: "\f1aa"; +} +.fa-language:before { + content: "\f1ab"; +} +.fa-fax:before { + content: "\f1ac"; +} +.fa-building:before { + content: "\f1ad"; +} +.fa-child:before { + content: "\f1ae"; +} +.fa-paw:before { + content: "\f1b0"; +} +.fa-spoon:before { + content: "\f1b1"; +} +.fa-cube:before { + content: "\f1b2"; +} +.fa-cubes:before { + content: "\f1b3"; +} +.fa-behance:before { + content: "\f1b4"; +} +.fa-behance-square:before { + content: "\f1b5"; +} +.fa-steam:before { + content: "\f1b6"; +} +.fa-steam-square:before { + content: "\f1b7"; +} +.fa-recycle:before { + content: "\f1b8"; +} +.fa-automobile:before, +.fa-car:before { + content: "\f1b9"; +} +.fa-cab:before, +.fa-taxi:before { + content: "\f1ba"; +} +.fa-tree:before { + content: "\f1bb"; +} +.fa-spotify:before { + content: "\f1bc"; +} +.fa-deviantart:before { + content: "\f1bd"; +} +.fa-soundcloud:before { + content: "\f1be"; +} +.fa-database:before { + content: "\f1c0"; +} +.fa-file-pdf-o:before { + content: "\f1c1"; +} +.fa-file-word-o:before { + content: "\f1c2"; +} +.fa-file-excel-o:before { + content: "\f1c3"; +} +.fa-file-powerpoint-o:before { + content: "\f1c4"; +} +.fa-file-photo-o:before, +.fa-file-picture-o:before, +.fa-file-image-o:before { + content: "\f1c5"; +} +.fa-file-zip-o:before, +.fa-file-archive-o:before { + content: "\f1c6"; +} +.fa-file-sound-o:before, +.fa-file-audio-o:before { + content: "\f1c7"; +} +.fa-file-movie-o:before, +.fa-file-video-o:before { + content: "\f1c8"; +} +.fa-file-code-o:before { + content: "\f1c9"; +} +.fa-vine:before { + content: "\f1ca"; +} +.fa-codepen:before { + content: "\f1cb"; +} +.fa-jsfiddle:before { + content: "\f1cc"; +} +.fa-life-bouy:before, +.fa-life-buoy:before, +.fa-life-saver:before, +.fa-support:before, +.fa-life-ring:before { + content: "\f1cd"; +} +.fa-circle-o-notch:before { + content: "\f1ce"; +} +.fa-ra:before, +.fa-resistance:before, +.fa-rebel:before { + content: "\f1d0"; +} +.fa-ge:before, +.fa-empire:before { + content: "\f1d1"; +} +.fa-git-square:before { + content: "\f1d2"; +} +.fa-git:before { + content: "\f1d3"; +} +.fa-y-combinator-square:before, +.fa-yc-square:before, +.fa-hacker-news:before { + content: "\f1d4"; +} +.fa-tencent-weibo:before { + content: "\f1d5"; +} +.fa-qq:before { + content: "\f1d6"; +} +.fa-wechat:before, +.fa-weixin:before { + content: "\f1d7"; +} +.fa-send:before, +.fa-paper-plane:before { + content: "\f1d8"; +} +.fa-send-o:before, +.fa-paper-plane-o:before { + content: "\f1d9"; +} +.fa-history:before { + content: "\f1da"; +} +.fa-circle-thin:before { + content: "\f1db"; +} +.fa-header:before { + content: "\f1dc"; +} +.fa-paragraph:before { + content: "\f1dd"; +} +.fa-sliders:before { + content: "\f1de"; +} +.fa-share-alt:before { + content: "\f1e0"; +} +.fa-share-alt-square:before { + content: "\f1e1"; +} +.fa-bomb:before { + content: "\f1e2"; +} +.fa-soccer-ball-o:before, +.fa-futbol-o:before { + content: "\f1e3"; +} +.fa-tty:before { + content: "\f1e4"; +} +.fa-binoculars:before { + content: "\f1e5"; +} +.fa-plug:before { + content: "\f1e6"; +} +.fa-slideshare:before { + content: "\f1e7"; +} +.fa-twitch:before { + content: "\f1e8"; +} +.fa-yelp:before { + content: "\f1e9"; +} +.fa-newspaper-o:before { + content: "\f1ea"; +} +.fa-wifi:before { + content: "\f1eb"; +} +.fa-calculator:before { + content: "\f1ec"; +} +.fa-paypal:before { + content: "\f1ed"; +} +.fa-google-wallet:before { + content: "\f1ee"; +} +.fa-cc-visa:before { + content: "\f1f0"; +} +.fa-cc-mastercard:before { + content: "\f1f1"; +} +.fa-cc-discover:before { + content: "\f1f2"; +} +.fa-cc-amex:before { + content: "\f1f3"; +} +.fa-cc-paypal:before { + content: "\f1f4"; +} +.fa-cc-stripe:before { + content: "\f1f5"; +} +.fa-bell-slash:before { + content: "\f1f6"; +} +.fa-bell-slash-o:before { + content: "\f1f7"; +} +.fa-trash:before { + content: "\f1f8"; +} +.fa-copyright:before { + content: "\f1f9"; +} +.fa-at:before { + content: "\f1fa"; +} +.fa-eyedropper:before { + content: "\f1fb"; +} +.fa-paint-brush:before { + content: "\f1fc"; +} +.fa-birthday-cake:before { + content: "\f1fd"; +} +.fa-area-chart:before { + content: "\f1fe"; +} +.fa-pie-chart:before { + content: "\f200"; +} +.fa-line-chart:before { + content: "\f201"; +} +.fa-lastfm:before { + content: "\f202"; +} +.fa-lastfm-square:before { + content: "\f203"; +} +.fa-toggle-off:before { + content: "\f204"; +} +.fa-toggle-on:before { + content: "\f205"; +} +.fa-bicycle:before { + content: "\f206"; +} +.fa-bus:before { + content: "\f207"; +} +.fa-ioxhost:before { + content: "\f208"; +} +.fa-angellist:before { + content: "\f209"; +} +.fa-cc:before { + content: "\f20a"; +} +.fa-shekel:before, +.fa-sheqel:before, +.fa-ils:before { + content: "\f20b"; +} +.fa-meanpath:before { + content: "\f20c"; +} +.fa-buysellads:before { + content: "\f20d"; +} +.fa-connectdevelop:before { + content: "\f20e"; +} +.fa-dashcube:before { + content: "\f210"; +} +.fa-forumbee:before { + content: "\f211"; +} +.fa-leanpub:before { + content: "\f212"; +} +.fa-sellsy:before { + content: "\f213"; +} +.fa-shirtsinbulk:before { + content: "\f214"; +} +.fa-simplybuilt:before { + content: "\f215"; +} +.fa-skyatlas:before { + content: "\f216"; +} +.fa-cart-plus:before { + content: "\f217"; +} +.fa-cart-arrow-down:before { + content: "\f218"; +} +.fa-diamond:before { + content: "\f219"; +} +.fa-ship:before { + content: "\f21a"; +} +.fa-user-secret:before { + content: "\f21b"; +} +.fa-motorcycle:before { + content: "\f21c"; +} +.fa-street-view:before { + content: "\f21d"; +} +.fa-heartbeat:before { + content: "\f21e"; +} +.fa-venus:before { + content: "\f221"; +} +.fa-mars:before { + content: "\f222"; +} +.fa-mercury:before { + content: "\f223"; +} +.fa-intersex:before, +.fa-transgender:before { + content: "\f224"; +} +.fa-transgender-alt:before { + content: "\f225"; +} +.fa-venus-double:before { + content: "\f226"; +} +.fa-mars-double:before { + content: "\f227"; +} +.fa-venus-mars:before { + content: "\f228"; +} +.fa-mars-stroke:before { + content: "\f229"; +} +.fa-mars-stroke-v:before { + content: "\f22a"; +} +.fa-mars-stroke-h:before { + content: "\f22b"; +} +.fa-neuter:before { + content: "\f22c"; +} +.fa-genderless:before { + content: "\f22d"; +} +.fa-facebook-official:before { + content: "\f230"; +} +.fa-pinterest-p:before { + content: "\f231"; +} +.fa-whatsapp:before { + content: "\f232"; +} +.fa-server:before { + content: "\f233"; +} +.fa-user-plus:before { + content: "\f234"; +} +.fa-user-times:before { + content: "\f235"; +} +.fa-hotel:before, +.fa-bed:before { + content: "\f236"; +} +.fa-viacoin:before { + content: "\f237"; +} +.fa-train:before { + content: "\f238"; +} +.fa-subway:before { + content: "\f239"; +} +.fa-medium:before { + content: "\f23a"; +} +.fa-yc:before, +.fa-y-combinator:before { + content: "\f23b"; +} +.fa-optin-monster:before { + content: "\f23c"; +} +.fa-opencart:before { + content: "\f23d"; +} +.fa-expeditedssl:before { + content: "\f23e"; +} +.fa-battery-4:before, +.fa-battery:before, +.fa-battery-full:before { + content: "\f240"; +} +.fa-battery-3:before, +.fa-battery-three-quarters:before { + content: "\f241"; +} +.fa-battery-2:before, +.fa-battery-half:before { + content: "\f242"; +} +.fa-battery-1:before, +.fa-battery-quarter:before { + content: "\f243"; +} +.fa-battery-0:before, +.fa-battery-empty:before { + content: "\f244"; +} +.fa-mouse-pointer:before { + content: "\f245"; +} +.fa-i-cursor:before { + content: "\f246"; +} +.fa-object-group:before { + content: "\f247"; +} +.fa-object-ungroup:before { + content: "\f248"; +} +.fa-sticky-note:before { + content: "\f249"; +} +.fa-sticky-note-o:before { + content: "\f24a"; +} +.fa-cc-jcb:before { + content: "\f24b"; +} +.fa-cc-diners-club:before { + content: "\f24c"; +} +.fa-clone:before { + content: "\f24d"; +} +.fa-balance-scale:before { + content: "\f24e"; +} +.fa-hourglass-o:before { + content: "\f250"; +} +.fa-hourglass-1:before, +.fa-hourglass-start:before { + content: "\f251"; +} +.fa-hourglass-2:before, +.fa-hourglass-half:before { + content: "\f252"; +} +.fa-hourglass-3:before, +.fa-hourglass-end:before { + content: "\f253"; +} +.fa-hourglass:before { + content: "\f254"; +} +.fa-hand-grab-o:before, +.fa-hand-rock-o:before { + content: "\f255"; +} +.fa-hand-stop-o:before, +.fa-hand-paper-o:before { + content: "\f256"; +} +.fa-hand-scissors-o:before { + content: "\f257"; +} +.fa-hand-lizard-o:before { + content: "\f258"; +} +.fa-hand-spock-o:before { + content: "\f259"; +} +.fa-hand-pointer-o:before { + content: "\f25a"; +} +.fa-hand-peace-o:before { + content: "\f25b"; +} +.fa-trademark:before { + content: "\f25c"; +} +.fa-registered:before { + content: "\f25d"; +} +.fa-creative-commons:before { + content: "\f25e"; +} +.fa-gg:before { + content: "\f260"; +} +.fa-gg-circle:before { + content: "\f261"; +} +.fa-tripadvisor:before { + content: "\f262"; +} +.fa-odnoklassniki:before { + content: "\f263"; +} +.fa-odnoklassniki-square:before { + content: "\f264"; +} +.fa-get-pocket:before { + content: "\f265"; +} +.fa-wikipedia-w:before { + content: "\f266"; +} +.fa-safari:before { + content: "\f267"; +} +.fa-chrome:before { + content: "\f268"; +} +.fa-firefox:before { + content: "\f269"; +} +.fa-opera:before { + content: "\f26a"; +} +.fa-internet-explorer:before { + content: "\f26b"; +} +.fa-tv:before, +.fa-television:before { + content: "\f26c"; +} +.fa-contao:before { + content: "\f26d"; +} +.fa-500px:before { + content: "\f26e"; +} +.fa-amazon:before { + content: "\f270"; +} +.fa-calendar-plus-o:before { + content: "\f271"; +} +.fa-calendar-minus-o:before { + content: "\f272"; +} +.fa-calendar-times-o:before { + content: "\f273"; +} +.fa-calendar-check-o:before { + content: "\f274"; +} +.fa-industry:before { + content: "\f275"; +} +.fa-map-pin:before { + content: "\f276"; +} +.fa-map-signs:before { + content: "\f277"; +} +.fa-map-o:before { + content: "\f278"; +} +.fa-map:before { + content: "\f279"; +} +.fa-commenting:before { + content: "\f27a"; +} +.fa-commenting-o:before { + content: "\f27b"; +} +.fa-houzz:before { + content: "\f27c"; +} +.fa-vimeo:before { + content: "\f27d"; +} +.fa-black-tie:before { + content: "\f27e"; +} +.fa-fonticons:before { + content: "\f280"; +} +.fa-reddit-alien:before { + content: "\f281"; +} +.fa-edge:before { + content: "\f282"; +} +.fa-credit-card-alt:before { + content: "\f283"; +} +.fa-codiepie:before { + content: "\f284"; +} +.fa-modx:before { + content: "\f285"; +} +.fa-fort-awesome:before { + content: "\f286"; +} +.fa-usb:before { + content: "\f287"; +} +.fa-product-hunt:before { + content: "\f288"; +} +.fa-mixcloud:before { + content: "\f289"; +} +.fa-scribd:before { + content: "\f28a"; +} +.fa-pause-circle:before { + content: "\f28b"; +} +.fa-pause-circle-o:before { + content: "\f28c"; +} +.fa-stop-circle:before { + content: "\f28d"; +} +.fa-stop-circle-o:before { + content: "\f28e"; +} +.fa-shopping-bag:before { + content: "\f290"; +} +.fa-shopping-basket:before { + content: "\f291"; +} +.fa-hashtag:before { + content: "\f292"; +} +.fa-bluetooth:before { + content: "\f293"; +} +.fa-bluetooth-b:before { + content: "\f294"; +} +.fa-percent:before { + content: "\f295"; +} +.fa-gitlab:before { + content: "\f296"; +} +.fa-wpbeginner:before { + content: "\f297"; +} +.fa-wpforms:before { + content: "\f298"; +} +.fa-envira:before { + content: "\f299"; +} +.fa-universal-access:before { + content: "\f29a"; +} +.fa-wheelchair-alt:before { + content: "\f29b"; +} +.fa-question-circle-o:before { + content: "\f29c"; +} +.fa-blind:before { + content: "\f29d"; +} +.fa-audio-description:before { + content: "\f29e"; +} +.fa-volume-control-phone:before { + content: "\f2a0"; +} +.fa-braille:before { + content: "\f2a1"; +} +.fa-assistive-listening-systems:before { + content: "\f2a2"; +} +.fa-asl-interpreting:before, +.fa-american-sign-language-interpreting:before { + content: "\f2a3"; +} +.fa-deafness:before, +.fa-hard-of-hearing:before, +.fa-deaf:before { + content: "\f2a4"; +} +.fa-glide:before { + content: "\f2a5"; +} +.fa-glide-g:before { + content: "\f2a6"; +} +.fa-signing:before, +.fa-sign-language:before { + content: "\f2a7"; +} +.fa-low-vision:before { + content: "\f2a8"; +} +.fa-viadeo:before { + content: "\f2a9"; +} +.fa-viadeo-square:before { + content: "\f2aa"; +} +.fa-snapchat:before { + content: "\f2ab"; +} +.fa-snapchat-ghost:before { + content: "\f2ac"; +} +.fa-snapchat-square:before { + content: "\f2ad"; +} +.fa-pied-piper:before { + content: "\f2ae"; +} +.fa-first-order:before { + content: "\f2b0"; +} +.fa-yoast:before { + content: "\f2b1"; +} +.fa-themeisle:before { + content: "\f2b2"; +} +.fa-google-plus-circle:before, +.fa-google-plus-official:before { + content: "\f2b3"; +} +.fa-fa:before, +.fa-font-awesome:before { + content: "\f2b4"; +} +.fa-handshake-o:before { + content: "\f2b5"; +} +.fa-envelope-open:before { + content: "\f2b6"; +} +.fa-envelope-open-o:before { + content: "\f2b7"; +} +.fa-linode:before { + content: "\f2b8"; +} +.fa-address-book:before { + content: "\f2b9"; +} +.fa-address-book-o:before { + content: "\f2ba"; +} +.fa-vcard:before, +.fa-address-card:before { + content: "\f2bb"; +} +.fa-vcard-o:before, +.fa-address-card-o:before { + content: "\f2bc"; +} +.fa-user-circle:before { + content: "\f2bd"; +} +.fa-user-circle-o:before { + content: "\f2be"; +} +.fa-user-o:before { + content: "\f2c0"; +} +.fa-id-badge:before { + content: "\f2c1"; +} +.fa-drivers-license:before, +.fa-id-card:before { + content: "\f2c2"; +} +.fa-drivers-license-o:before, +.fa-id-card-o:before { + content: "\f2c3"; +} +.fa-quora:before { + content: "\f2c4"; +} +.fa-free-code-camp:before { + content: "\f2c5"; +} +.fa-telegram:before { + content: "\f2c6"; +} +.fa-thermometer-4:before, +.fa-thermometer:before, +.fa-thermometer-full:before { + content: "\f2c7"; +} +.fa-thermometer-3:before, +.fa-thermometer-three-quarters:before { + content: "\f2c8"; +} +.fa-thermometer-2:before, +.fa-thermometer-half:before { + content: "\f2c9"; +} +.fa-thermometer-1:before, +.fa-thermometer-quarter:before { + content: "\f2ca"; +} +.fa-thermometer-0:before, +.fa-thermometer-empty:before { + content: "\f2cb"; +} +.fa-shower:before { + content: "\f2cc"; +} +.fa-bathtub:before, +.fa-s15:before, +.fa-bath:before { + content: "\f2cd"; +} +.fa-podcast:before { + content: "\f2ce"; +} +.fa-window-maximize:before { + content: "\f2d0"; +} +.fa-window-minimize:before { + content: "\f2d1"; +} +.fa-window-restore:before { + content: "\f2d2"; +} +.fa-times-rectangle:before, +.fa-window-close:before { + content: "\f2d3"; +} +.fa-times-rectangle-o:before, +.fa-window-close-o:before { + content: "\f2d4"; +} +.fa-bandcamp:before { + content: "\f2d5"; +} +.fa-grav:before { + content: "\f2d6"; +} +.fa-etsy:before { + content: "\f2d7"; +} +.fa-imdb:before { + content: "\f2d8"; +} +.fa-ravelry:before { + content: "\f2d9"; +} +.fa-eercast:before { + content: "\f2da"; +} +.fa-microchip:before { + content: "\f2db"; +} +.fa-snowflake-o:before { + content: "\f2dc"; +} +.fa-superpowers:before { + content: "\f2dd"; +} +.fa-wpexplorer:before { + content: "\f2de"; +} +.fa-meetup:before { + content: "\f2e0"; +} +.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; +} diff --git a/media/fonts/fontawesome-webfont.eot b/media/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000..e9f60ca Binary files /dev/null and b/media/fonts/fontawesome-webfont.eot differ diff --git a/media/fonts/fontawesome-webfont.svg b/media/fonts/fontawesome-webfont.svg new file mode 100644 index 0000000..855c845 --- /dev/null +++ b/media/fonts/fontawesome-webfont.svg @@ -0,0 +1,2671 @@ + + + + +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/fonts/fontawesome-webfont.ttf b/media/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000..35acda2 Binary files /dev/null and b/media/fonts/fontawesome-webfont.ttf differ diff --git a/media/fonts/fontawesome-webfont.woff b/media/fonts/fontawesome-webfont.woff new file mode 100644 index 0000000..400014a Binary files /dev/null and b/media/fonts/fontawesome-webfont.woff differ diff --git a/media/fonts/fontawesome-webfont.woff2 b/media/fonts/fontawesome-webfont.woff2 new file mode 100644 index 0000000..4d13fc6 Binary files /dev/null and b/media/fonts/fontawesome-webfont.woff2 differ diff --git a/media/fonts/shoujin.ttf b/media/fonts/shoujin.ttf new file mode 100644 index 0000000..dc9b760 Binary files /dev/null and b/media/fonts/shoujin.ttf differ diff --git a/media/hljs/highlight.js b/media/hljs/highlight.js new file mode 100644 index 0000000..ca0cc4c --- /dev/null +++ b/media/hljs/highlight.js @@ -0,0 +1,2 @@ +/*! highlight.js v9.18.0 | BSD3 License | git.io/hljslicense */ +!function(e){var n="object"==typeof window&&window||"object"==typeof self&&self;"undefined"==typeof exports||exports.nodeType?n&&(n.hljs=e({}),"function"==typeof define&&define.amd&&define([],function(){return n.hljs})):e(exports)}(function(a){var f=[],o=Object.keys,_={},g={},C=!0,n=/^(no-?highlight|plain|text)$/i,E=/\blang(?:uage)?-([\w-]+)\b/i,t=/((^(<[^>]+>|\t|)+|(?:\n)))/gm,r={case_insensitive:"cI",lexemes:"l",contains:"c",keywords:"k",subLanguage:"sL",className:"cN",begin:"b",beginKeywords:"bK",end:"e",endsWithParent:"eW",illegal:"i",excludeBegin:"eB",excludeEnd:"eE",returnBegin:"rB",returnEnd:"rE",variants:"v",IDENT_RE:"IR",UNDERSCORE_IDENT_RE:"UIR",NUMBER_RE:"NR",C_NUMBER_RE:"CNR",BINARY_NUMBER_RE:"BNR",RE_STARTERS_RE:"RSR",BACKSLASH_ESCAPE:"BE",APOS_STRING_MODE:"ASM",QUOTE_STRING_MODE:"QSM",PHRASAL_WORDS_MODE:"PWM",C_LINE_COMMENT_MODE:"CLCM",C_BLOCK_COMMENT_MODE:"CBCM",HASH_COMMENT_MODE:"HCM",NUMBER_MODE:"NM",C_NUMBER_MODE:"CNM",BINARY_NUMBER_MODE:"BNM",CSS_NUMBER_MODE:"CSSNM",REGEXP_MODE:"RM",TITLE_MODE:"TM",UNDERSCORE_TITLE_MODE:"UTM",COMMENT:"C",beginRe:"bR",endRe:"eR",illegalRe:"iR",lexemesRe:"lR",terminators:"t",terminator_end:"tE"},m="",O="Could not find the language '{}', did you forget to load/include a language module?",B={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0},c="of and for in not or if then".split(" ");function x(e){return e.replace(/&/g,"&").replace(//g,">")}function d(e){return e.nodeName.toLowerCase()}function R(e){return n.test(e)}function i(e){var n,t={},r=Array.prototype.slice.call(arguments,1);for(n in e)t[n]=e[n];return r.forEach(function(e){for(n in e)t[n]=e[n]}),t}function p(e){var a=[];return function e(n,t){for(var r=n.firstChild;r;r=r.nextSibling)3===r.nodeType?t+=r.nodeValue.length:1===r.nodeType&&(a.push({event:"start",offset:t,node:r}),t=e(r,t),d(r).match(/br|hr|img|input/)||a.push({event:"stop",offset:t,node:r}));return t}(e,0),a}function v(e,n,t){var r=0,a="",i=[];function o(){return e.length&&n.length?e[0].offset!==n[0].offset?e[0].offset"}function l(e){a+=""}function u(e){("start"===e.event?c:l)(e.node)}for(;e.length||n.length;){var s=o();if(a+=x(t.substring(r,s[0].offset)),r=s[0].offset,s===e){for(i.reverse().forEach(l);u(s.splice(0,1)[0]),(s=o())===e&&s.length&&s[0].offset===r;);i.reverse().forEach(c)}else"start"===s[0].event?i.push(s[0].node):i.pop(),u(s.splice(0,1)[0])}return a+x(t.substr(r))}function l(n){return n.v&&!n.cached_variants&&(n.cached_variants=n.v.map(function(e){return i(n,{v:null},e)})),n.cached_variants?n.cached_variants:function e(n){return!!n&&(n.eW||e(n.starts))}(n)?[i(n,{starts:n.starts?i(n.starts):null})]:Object.isFrozen(n)?[i(n)]:[n]}function u(e){if(r&&!e.langApiRestored){for(var n in e.langApiRestored=!0,r)e[n]&&(e[r[n]]=e[n]);(e.c||[]).concat(e.v||[]).forEach(u)}}function M(n,t){var i={};return"string"==typeof n?r("keyword",n):o(n).forEach(function(e){r(e,n[e])}),i;function r(a,e){t&&(e=e.toLowerCase()),e.split(" ").forEach(function(e){var n,t,r=e.split("|");i[r[0]]=[a,(n=r[0],(t=r[1])?Number(t):function(e){return-1!=c.indexOf(e.toLowerCase())}(n)?0:1)]})}}function S(r){function s(e){return e&&e.source||e}function f(e,n){return new RegExp(s(e),"m"+(r.cI?"i":"")+(n?"g":""))}function a(a){var i,e,o={},c=[],l={},t=1;function n(e,n){o[t]=e,c.push([e,n]),t+=new RegExp(n.toString()+"|").exec("").length-1+1}for(var r=0;r')+n+(t?"":m)}function o(){p+=(null!=d.sL?function(){var e="string"==typeof d.sL;if(e&&!_[d.sL])return x(v);var n=e?T(d.sL,v,!0,R[d.sL]):w(v,d.sL.length?d.sL:void 0);return 0")+'"');if("end"===n.type){var r=s(n);if(null!=r)return r}return v+=t,t.length}var g=D(n);if(!g)throw console.error(O.replace("{}",n)),new Error('Unknown language: "'+n+'"');S(g);var E,d=t||g,R={},p="";for(E=d;E!==g;E=E.parent)E.cN&&(p=c(E.cN,"",!0)+p);var v="",M=0;try{for(var b,h,N=0;d.t.lastIndex=N,b=d.t.exec(i);)h=r(i.substring(N,b.index),b),N=b.index+h;for(r(i.substr(N)),E=d;E.parent;E=E.parent)E.cN&&(p+=m);return{relevance:M,value:p,i:!1,language:n,top:d}}catch(e){if(e.message&&-1!==e.message.indexOf("Illegal"))return{i:!0,relevance:0,value:x(i)};if(C)return{relevance:0,value:x(i),language:n,top:d,errorRaised:e};throw e}}function w(t,e){e=e||B.languages||o(_);var r={relevance:0,value:x(t)},a=r;return e.filter(D).filter(L).forEach(function(e){var n=T(e,t,!1);n.language=e,n.relevance>a.relevance&&(a=n),n.relevance>r.relevance&&(a=r,r=n)}),a.language&&(r.second_best=a),r}function b(e){return B.tabReplace||B.useBR?e.replace(t,function(e,n){return B.useBR&&"\n"===e?"
":B.tabReplace?n.replace(/\t/g,B.tabReplace):""}):e}function s(e){var n,t,r,a,i,o,c,l,u,s,f=function(e){var n,t,r,a,i=e.className+" ";if(i+=e.parentNode?e.parentNode.className:"",t=E.exec(i)){var o=D(t[1]);return o||(console.warn(O.replace("{}",t[1])),console.warn("Falling back to no-highlight mode for this block.",e)),o?t[1]:"no-highlight"}for(n=0,r=(i=i.split(/\s+/)).length;n/g,"\n"):n=e,i=n.textContent,r=f?T(f,i,!0):w(i),(t=p(n)).length&&((a=document.createElement("div")).innerHTML=r.value,r.value=v(t,p(a),i)),r.value=b(r.value),e.innerHTML=r.value,e.className=(o=e.className,c=f,l=r.language,u=c?g[c]:l,s=[o.trim()],o.match(/\bhljs\b/)||s.push("hljs"),-1===o.indexOf(u)&&s.push(u),s.join(" ").trim()),e.result={language:r.language,re:r.relevance},r.second_best&&(e.second_best={language:r.second_best.language,re:r.second_best.relevance}))}function h(){if(!h.called){h.called=!0;var e=document.querySelectorAll("pre code");f.forEach.call(e,s)}}var N={disableAutodetect:!0};function D(e){return e=(e||"").toLowerCase(),_[e]||_[g[e]]}function L(e){var n=D(e);return n&&!n.disableAutodetect}return a.highlight=T,a.highlightAuto=w,a.fixMarkup=b,a.highlightBlock=s,a.configure=function(e){B=i(B,e)},a.initHighlighting=h,a.initHighlightingOnLoad=function(){window.addEventListener("DOMContentLoaded",h,!1),window.addEventListener("load",h,!1)},a.registerLanguage=function(n,e){var t;try{t=e(a)}catch(e){if(console.error("Language definition for '{}' could not be registered.".replace("{}",n)),!C)throw e;console.error(e),t=N}u(_[n]=t),t.rawDefinition=e.bind(null,a),t.aliases&&t.aliases.forEach(function(e){g[e]=n})},a.listLanguages=function(){return o(_)},a.getLanguage=D,a.requireLanguage=function(e){var n=D(e);if(n)return n;throw new Error("The '{}' language is required, but not loaded.".replace("{}",e))},a.autoDetection=L,a.inherit=i,a.debugMode=function(){C=!1},a.IR=a.IDENT_RE="[a-zA-Z]\\w*",a.UIR=a.UNDERSCORE_IDENT_RE="[a-zA-Z_]\\w*",a.NR=a.NUMBER_RE="\\b\\d+(\\.\\d+)?",a.CNR=a.C_NUMBER_RE="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",a.BNR=a.BINARY_NUMBER_RE="\\b(0b[01]+)",a.RSR=a.RE_STARTERS_RE="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",a.BE=a.BACKSLASH_ESCAPE={b:"\\\\[\\s\\S]",relevance:0},a.ASM=a.APOS_STRING_MODE={cN:"string",b:"'",e:"'",i:"\\n",c:[a.BE]},a.QSM=a.QUOTE_STRING_MODE={cN:"string",b:'"',e:'"',i:"\\n",c:[a.BE]},a.PWM=a.PHRASAL_WORDS_MODE={b:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},a.C=a.COMMENT=function(e,n,t){var r=a.inherit({cN:"comment",b:e,e:n,c:[]},t||{});return r.c.push(a.PWM),r.c.push({cN:"doctag",b:"(?:TODO|FIXME|NOTE|BUG|XXX):",relevance:0}),r},a.CLCM=a.C_LINE_COMMENT_MODE=a.C("//","$"),a.CBCM=a.C_BLOCK_COMMENT_MODE=a.C("/\\*","\\*/"),a.HCM=a.HASH_COMMENT_MODE=a.C("#","$"),a.NM=a.NUMBER_MODE={cN:"number",b:a.NR,relevance:0},a.CNM=a.C_NUMBER_MODE={cN:"number",b:a.CNR,relevance:0},a.BNM=a.BINARY_NUMBER_MODE={cN:"number",b:a.BNR,relevance:0},a.CSSNM=a.CSS_NUMBER_MODE={cN:"number",b:a.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)?",relevance:0},a.RM=a.REGEXP_MODE={cN:"regexp",b:/\//,e:/\/[gimuy]*/,i:/\n/,c:[a.BE,{b:/\[/,e:/\]/,relevance:0,c:[a.BE]}]},a.TM=a.TITLE_MODE={cN:"title",b:a.IR,relevance:0},a.UTM=a.UNDERSCORE_TITLE_MODE={cN:"title",b:a.UIR,relevance:0},a.METHOD_GUARD={b:"\\.\\s*"+a.UIR,relevance:0},[a.BE,a.ASM,a.QSM,a.PWM,a.C,a.CLCM,a.CBCM,a.HCM,a.NM,a.CNM,a.BNM,a.CSSNM,a.RM,a.TM,a.UTM,a.METHOD_GUARD].forEach(function(e){!function n(t){Object.freeze(t);var r="function"==typeof t;Object.getOwnPropertyNames(t).forEach(function(e){!t.hasOwnProperty(e)||null===t[e]||"object"!=typeof t[e]&&"function"!=typeof t[e]||r&&("caller"===e||"callee"===e||"arguments"===e)||Object.isFrozen(t[e])||n(t[e])});return t}(e)}),a});hljs.registerLanguage("scss",function(e){var t="@[a-z-]+",r={cN:"variable",b:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b"},i={cN:"number",b:"#[0-9A-Fa-f]+"};e.CSSNM,e.QSM,e.ASM,e.CBCM;return{cI:!0,i:"[=/|']",c:[e.CLCM,e.CBCM,{cN:"selector-id",b:"\\#[A-Za-z0-9_-]+",relevance:0},{cN:"selector-class",b:"\\.[A-Za-z0-9_-]+",relevance:0},{cN:"selector-attr",b:"\\[",e:"\\]",i:"$"},{cN:"selector-tag",b:"\\b(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|fieldset|figcaption|figure|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|samp|script|section|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)\\b",relevance:0},{cN:"selector-pseudo",b:":(visited|valid|root|right|required|read-write|read-only|out-range|optional|only-of-type|only-child|nth-of-type|nth-last-of-type|nth-last-child|nth-child|not|link|left|last-of-type|last-child|lang|invalid|indeterminate|in-range|hover|focus|first-of-type|first-line|first-letter|first-child|first|enabled|empty|disabled|default|checked|before|after|active)"},{cN:"selector-pseudo",b:"::(after|before|choices|first-letter|first-line|repeat-index|repeat-item|selection|value)"},r,{cN:"attribute",b:"\\b(src|z-index|word-wrap|word-spacing|word-break|width|widows|white-space|visibility|vertical-align|unicode-bidi|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform|top|text-underline-position|text-transform|text-shadow|text-rendering|text-overflow|text-indent|text-decoration-style|text-decoration-line|text-decoration-color|text-decoration|text-align-last|text-align|tab-size|table-layout|right|resize|quotes|position|pointer-events|perspective-origin|perspective|page-break-inside|page-break-before|page-break-after|padding-top|padding-right|padding-left|padding-bottom|padding|overflow-y|overflow-x|overflow-wrap|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|order|opacity|object-position|object-fit|normal|none|nav-up|nav-right|nav-left|nav-index|nav-down|min-width|min-height|max-width|max-height|mask|marks|margin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style-position|list-style-image|list-style|line-height|letter-spacing|left|justify-content|initial|inherit|ime-mode|image-orientation|image-resolution|image-rendering|icon|hyphens|height|font-weight|font-variant-ligatures|font-variant|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|float|flex-wrap|flex-shrink|flex-grow|flex-flow|flex-direction|flex-basis|flex|filter|empty-cells|display|direction|cursor|counter-reset|counter-increment|content|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|columns|color|clip-path|clip|clear|caption-side|break-inside|break-before|break-after|box-sizing|box-shadow|box-decoration-break|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-left-width|border-left-style|border-left-color|border-left|border-image-width|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-attachment|background-blend-mode|background|backface-visibility|auto|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|align-self|align-items|align-content)\\b",i:"[^\\s]"},{b:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{b:":",e:";",c:[r,i,e.CSSNM,e.QSM,e.ASM,{cN:"meta",b:"!important"}]},{b:"@(page|font-face)",l:t,k:"@page @font-face"},{b:"@",e:"[{;]",rB:!0,k:"and or not only",c:[{b:t,cN:"keyword"},r,e.QSM,e.ASM,i,e.CSSNM]}]}});hljs.registerLanguage("scala",function(e){var t={cN:"subst",v:[{b:"\\$[A-Za-z0-9_]+"},{b:"\\${",e:"}"}]},a={cN:"string",v:[{b:'"',e:'"',i:"\\n",c:[e.BE]},{b:'"""',e:'"""',relevance:10},{b:'[a-z]+"',e:'"',i:"\\n",c:[e.BE,t]},{cN:"string",b:'[a-z]+"""',e:'"""',c:[t],relevance:10}]},c={cN:"type",b:"\\b[A-Z][A-Za-z0-9_]*",relevance:0},r={cN:"title",b:/[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/,relevance:0},n={cN:"class",bK:"class object trait type",e:/[:={\[\n;]/,eE:!0,c:[{bK:"extends with",relevance:10},{b:/\[/,e:/\]/,eB:!0,eE:!0,relevance:0,c:[c]},{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,relevance:0,c:[c]},r]},l={cN:"function",bK:"def",e:/[:={\[(\n;]/,eE:!0,c:[r]};return{k:{literal:"true false null",keyword:"type yield lazy override def with val var sealed abstract private trait object if forSome for while throw finally protected extends import final return else break new catch super class case package default try this match continue throws implicit"},c:[e.CLCM,e.CBCM,a,{cN:"symbol",b:"'\\w[\\w\\d_]*(?!')"},c,l,n,e.CNM,{cN:"meta",b:"@[A-Za-z]+"}]}});hljs.registerLanguage("cpp",function(e){function t(e){return"(?:"+e+")?"}var r="decltype\\(auto\\)",a="[a-zA-Z_]\\w*::",i=(t(a),t("<.*?>"),{cN:"keyword",b:"\\b[a-z\\d_]*_t\\b"}),c={cN:"string",v:[{b:'(u8?|U|L)?"',e:'"',i:"\\n",c:[e.BE]},{b:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",e:"'",i:"."},{b:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\((?:.|\n)*?\)\1"/}]},s={cN:"number",v:[{b:"\\b(0b[01']+)"},{b:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{b:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},n={cN:"meta",b:/#\s*[a-z]+\b/,e:/$/,k:{"meta-keyword":"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},c:[{b:/\\\n/,relevance:0},e.inherit(c,{cN:"meta-string"}),{cN:"meta-string",b:/<.*?>/,e:/$/,i:"\\n"},e.CLCM,e.CBCM]},o={cN:"title",b:t(a)+e.IR,relevance:0},l=t(a)+e.IR+"\\s*\\(",u={keyword:"int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const 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 asm case typeid wchar_tshort reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignas alignof constexpr consteval constinit decltype concept co_await co_return co_yield requires noexcept static_assert thread_local restrict final override atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq",built_in:"std string wstring 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 terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future 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 _Bool complex _Complex imaginary _Imaginary",literal:"true false nullptr NULL"},p=[i,e.CLCM,e.CBCM,s,c],m={v:[{b:/=/,e:/;/},{b:/\(/,e:/\)/},{bK:"new throw return else",e:/;/}],k:u,c:p.concat([{b:/\(/,e:/\)/,k:u,c:p.concat(["self"]),relevance:0}]),relevance:0},d={cN:"function",b:"((decltype\\(auto\\)|(?:[a-zA-Z_]\\w*::)?[a-zA-Z_]\\w*(?:<.*?>)?)[\\*&\\s]+)+"+l,rB:!0,e:/[{;=]/,eE:!0,k:u,i:/[^\w\s\*&:<>]/,c:[{b:r,k:u,relevance:0},{b:l,rB:!0,c:[o],relevance:0},{cN:"params",b:/\(/,e:/\)/,k:u,relevance:0,c:[e.CLCM,e.CBCM,c,s,i,{b:/\(/,e:/\)/,k:u,relevance:0,c:["self",e.CLCM,e.CBCM,c,s,i]}]},i,e.CLCM,e.CBCM,n]};return{aliases:["c","cc","h","c++","h++","hpp","hh","hxx","cxx"],k:u,i:"",k:u,c:["self",i]},{b:e.IR+"::",k:u},{cN:"class",bK:"class struct",e:/[{;:]/,c:[{b://,c:["self"]},e.TM]}]),exports:{preprocessor:n,strings:c,k:u}}});hljs.registerLanguage("json",function(e){var i={literal:"true false null"},n=[e.CLCM,e.CBCM],c=[e.QSM,e.CNM],r={e:",",eW:!0,eE:!0,c:c,k:i},t={b:"{",e:"}",c:[{cN:"attr",b:/"/,e:/"/,c:[e.BE],i:"\\n"},e.inherit(r,{b:/:/})].concat(n),i:"\\S"},a={b:"\\[",e:"\\]",c:[e.inherit(r)],i:"\\S"};return c.push(t,a),n.forEach(function(e){c.push(e)}),{c:c,k:i,i:"\\S"}});hljs.registerLanguage("nginx",function(e){var r={cN:"variable",v:[{b:/\$\d+/},{b:/\$\{/,e:/}/},{b:"[\\$\\@]"+e.UIR}]},b={eW:!0,l:"[a-z/_]+",k:{literal:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},relevance:0,i:"=>",c:[e.HCM,{cN:"string",c:[e.BE,r],v:[{b:/"/,e:/"/},{b:/'/,e:/'/}]},{b:"([a-z]+):/",e:"\\s",eW:!0,eE:!0,c:[r]},{cN:"regexp",c:[e.BE,r],v:[{b:"\\s\\^",e:"\\s|{|;",rE:!0},{b:"~\\*?\\s+",e:"\\s|{|;",rE:!0},{b:"\\*(\\.[a-z\\-]+)+"},{b:"([a-z\\-]+\\.)+\\*"}]},{cN:"number",b:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{cN:"number",b:"\\b\\d+[kKmMgGdshdwy]*\\b",relevance:0},r]};return{aliases:["nginxconf"],c:[e.HCM,{b:e.UIR+"\\s+{",rB:!0,e:"{",c:[{cN:"section",b:e.UIR}],relevance:0},{b:e.UIR+"\\s",e:";|{",rB:!0,c:[{cN:"attribute",b:e.UIR,starts:b}],relevance:0}],i:"[^\\s\\}]"}});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{]/,relevance:0}]},c=[e.BE,r,n],a=[n,e.HCM,e.C("^\\=\\w","\\=cut",{eW:!0}),s,{cN:"string",c:c,v:[{b:"q[qwxr]?\\s*\\(",e:"\\)",relevance:5},{b:"q[qwxr]?\\s*\\[",e:"\\]",relevance:5},{b:"q[qwxr]?\\s*\\{",e:"\\}",relevance:5},{b:"q[qwxr]?\\s*\\|",e:"\\|",relevance:5},{b:"q[qwxr]?\\s*\\<",e:"\\>",relevance:5},{b:"qw\\s+q",e:"q",relevance:5},{b:"'",e:"'",c:[e.BE]},{b:'"',e:'"'},{b:"`",e:"`",c:[e.BE]},{b:"{\\w+}",c:[],relevance:0},{b:"-?\\w+\\s*\\=\\>",c:[],relevance:0}]},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{b:"(\\/\\/|"+e.RSR+"|\\b(split|return|print|reverse|grep)\\b)\\s*",k:"split return print reverse grep",relevance:0,c:[e.HCM,{cN:"regexp",b:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",relevance:10},{cN:"regexp",b:"(m|qr)?/",e:"/[a-z]*",c:[e.BE],relevance:0}]},{cN:"function",bK:"sub",e:"(\\s*\\(.*?\\))?[;{]",eE:!0,relevance:5,c:[e.TM]},{b:"-\\w\\b",relevance:0},{b:"^__DATA__$",e:"^__END__$",sL:"mojolicious",c:[{b:"^@@.*",e:"$",cN:"comment"}]}];return r.c=a,{aliases:["pl","pm"],l:/[\w\.]+/,k:t,c:s.c=a}});hljs.registerLanguage("ini",function(e){var b={cN:"number",relevance:0,v:[{b:/([\+\-]+)?[\d]+_[\d_]+/},{b:e.NR}]},a=e.C();a.v=[{b:/;/,e:/$/},{b:/#/,e:/$/}];var c={cN:"variable",v:[{b:/\$[\w\d"][\w\d_]*/},{b:/\$\{(.*?)}/}]},r={cN:"literal",b:/\bon|off|true|false|yes|no\b/},n={cN:"string",c:[e.BE],v:[{b:"'''",e:"'''",relevance:10},{b:'"""',e:'"""',relevance:10},{b:'"',e:'"'},{b:"'",e:"'"}]};return{aliases:["toml"],cI:!0,i:/\S/,c:[a,{cN:"section",b:/\[+/,e:/\]+/},{b:/^[a-z0-9\[\]_\.-]+(?=\s*=\s*)/,cN:"attr",starts:{e:/$/,c:[a,{b:/\[/,e:/\]/,c:[a,r,c,n,b,"self"],relevance:0},r,c,n,b]}}]}});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 yield import export from as default await 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},i=[e.BNM,e.inherit(e.CNM,{starts:{e:"(\\s*/)?",relevance: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]*",relevance:0},{b:/\/(?![ *])(\\\/|.)*?\/[gim]*(?=\W)/}]},{b:"@"+n},{sL:"javascript",eB:!0,eE:!0,v:[{b:"```",e:"```"},{b:"`",e:"`"}]}];r.c=i;var s=e.inherit(e.TM,{b:n}),t="(\\(.*\\))?\\s*\\B[-=]>",a={cN:"params",b:"\\([^\\(]",rB:!0,c:[{b:/\(/,e:/\)/,k:c,c:["self"].concat(i)}]};return{aliases:["coffee","cson","iced"],k:c,i:/\/\*/,c:i.concat([e.C("###","###"),e.HCM,{cN:"function",b:"^\\s*"+n+"\\s*=\\s*"+t,e:"[-=]>",rB:!0,c:[s,a]},{b:/[:\(,=]\s*/,relevance:0,c:[{cN:"function",b:t,e:"[-=]>",rB:!0,c:[a]}]},{cN:"class",bK:"class",e:"$",i:/[:="\[\]]/,c:[{bK:"extends",eW:!0,i:/[:="\[\]]/,c:[s]},s]},{b:n+":",e:":",rB:!0,rE:!0,relevance:0}])}});hljs.registerLanguage("apache",function(e){var r={cN:"number",b:"[\\$%]\\d+"};return{aliases:["apacheconf"],cI:!0,c:[e.HCM,{cN:"section",b:""},{cN:"attribute",b:/\w+/,relevance:0,k:{nomarkup:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{e:/$/,relevance:0,k:{literal:"on off all"},c:[{cN:"meta",b:"\\s\\[",e:"\\]$"},{cN:"variable",b:"[\\$%]\\{",e:"\\}",c:["self",r]},r,e.QSM]}}],i:/\S/}});hljs.registerLanguage("typescript",function(e){var r="[A-Za-z$_][0-9A-Za-z$_]*",t={keyword:"in 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 class public private protected get set super static implements enum export import declare type namespace abstract as from extends async await",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 any number boolean string void Promise"},n={cN:"meta",b:"@"+r},a={b:"\\(",e:/\)/,k:t,c:["self",e.QSM,e.ASM,e.NM]},c={cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,k:t,c:[e.CLCM,e.CBCM,n,a]},s={cN:"number",v:[{b:"\\b(0[bB][01]+)n?"},{b:"\\b(0[oO][0-7]+)n?"},{b:e.CNR+"n?"}],relevance:0},o={cN:"subst",b:"\\$\\{",e:"\\}",k:t,c:[]},i={b:"html`",e:"",starts:{e:"`",rE:!1,c:[e.BE,o],sL:"xml"}},l={b:"css`",e:"",starts:{e:"`",rE:!1,c:[e.BE,o],sL:"css"}},b={cN:"string",b:"`",e:"`",c:[e.BE,o]};return o.c=[e.ASM,e.QSM,i,l,b,s,e.RM],{aliases:["ts"],k:t,c:[{cN:"meta",b:/^\s*['"]use strict['"]/},e.ASM,e.QSM,i,l,b,e.CLCM,e.CBCM,s,{b:"("+e.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[e.CLCM,e.CBCM,e.RM,{cN:"function",b:"(\\(.*?\\)|"+e.IR+")\\s*=>",rB:!0,e:"\\s*=>",c:[{cN:"params",v:[{b:e.IR},{b:/\(\s*\)/},{b:/\(/,e:/\)/,eB:!0,eE:!0,k:t,c:["self",e.CLCM,e.CBCM]}]}]}],relevance:0},{cN:"function",bK:"function",e:/[\{;]/,eE:!0,k:t,c:["self",e.inherit(e.TM,{b:r}),c],i:/%/,relevance:0},{bK:"constructor",e:/[\{;]/,eE:!0,c:["self",c]},{b:/module\./,k:{built_in:"module"},relevance:0},{bK:"module",e:/\{/,eE:!0},{bK:"interface",e:/\{/,eE:!0,k:"interface extends"},{b:/\$[(.]/},{b:"\\."+e.IR,relevance:0},n,a]}});hljs.registerLanguage("php",function(e){var c={b:"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*"},i={cN:"meta",b:/<\?(php)?|\?>/},t={cN:"string",c:[e.BE,i],v:[{b:'b"',e:'"'},{b:"b'",e:"'"},e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},a={v:[e.BNM,e.CNM]};return{aliases:["php","php3","php4","php5","php6","php7"],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.HCM,e.C("//","$",{c:[i]}),e.C("/\\*","\\*/",{c:[{cN:"doctag",b:"@[A-Za-z]+"}]}),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:/\}/}]}]},i,{cN:"keyword",b:/\$this\b/},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,t,a]}]},{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:"=>"},t,a]}});hljs.registerLanguage("diff",function(e){return{aliases:["patch"],c:[{cN:"meta",relevance:10,v:[{b:/^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/},{b:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{b:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{cN:"comment",v:[{b:/Index: /,e:/$/},{b:/={3,}/,e:/$/},{b:/^\-{3}/,e:/$/},{b:/^\*{3} /,e:/$/},{b:/^\+{3}/,e:/$/},{b:/^\*{15}$/}]},{cN:"addition",b:"^\\+",e:"$"},{cN:"deletion",b:"^\\-",e:"$"},{cN:"addition",b:"^\\!",e:"$"}]}});hljs.registerLanguage("bash",function(e){var t={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)}/}]},a={cN:"string",b:/"/,e:/"/,c:[e.BE,t,{cN:"variable",b:/\$\(/,e:/\)/,c:[e.BE]}]};return{aliases:["sh","zsh"],l:/\b-?[a-z\._]+\b/,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*$/,relevance:10},{cN:"function",b:/\w[\w\d_]*\s*\(\s*\)\s*\{/,rB:!0,c:[e.inherit(e.TM,{b:/\w[\w\d_]*/})],relevance:0},e.HCM,a,{cN:"",b:/\\"/},{cN:"string",b:/'/,e:/'/},t]}});hljs.registerLanguage("less",function(e){function r(e){return{cN:"string",b:"~?"+e+".*?"+e}}function t(e,r,t){return{cN:e,b:r,relevance:t}}var a="[\\w-]+",c="("+a+"|@{"+a+"})",s=[],n=[],b={b:"\\(",e:"\\)",c:n,relevance:0};n.push(e.CLCM,e.CBCM,r("'"),r('"'),e.CSSNM,{b:"(url|data-uri)\\(",starts:{cN:"string",e:"[\\)\\n]",eE:!0}},t("number","#[0-9A-Fa-f]+\\b"),b,t("variable","@@?"+a,10),t("variable","@{"+a+"}"),t("built_in","~?`[^`]*?`"),{cN:"attribute",b:a+"\\s*:",e:":",rB:!0,eE:!0},{cN:"meta",b:"!important"});var i=n.concat({b:"{",e:"}",c:s}),l={bK:"when",eW:!0,c:[{bK:"and not"}].concat(n)},o={b:c+"\\s*:",rB:!0,e:"[;}]",relevance:0,c:[{cN:"attribute",b:c,e:":",eE:!0,starts:{eW:!0,i:"[<=$]",relevance:0,c:n}}]},u={cN:"keyword",b:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{e:"[;{}]",rE:!0,c:n,relevance:0}},v={cN:"variable",v:[{b:"@"+a+"\\s*:",relevance:15},{b:"@"+a}],starts:{e:"[;}]",rE:!0,c:i}},C={v:[{b:"[\\.#:&\\[>]",e:"[;{}]"},{b:c,e:"{"}],rB:!0,rE:!0,i:"[<='$\"]",relevance:0,c:[e.CLCM,e.CBCM,l,t("keyword","all\\b"),t("variable","@{"+a+"}"),t("selector-tag",c+"%?",0),t("selector-id","#"+c),t("selector-class","\\."+c,0),t("selector-tag","&",0),{cN:"selector-attr",b:"\\[",e:"\\]"},{cN:"selector-pseudo",b:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{b:"\\(",e:"\\)",c:i},{b:"!important"}]};return s.push(e.CLCM,e.CBCM,u,v,o,C),{cI:!0,i:"[=>'/<($\"]",c:s}});hljs.registerLanguage("swift",function(e){var i={keyword:"#available #colorLiteral #column #else #elseif #endif #file #fileLiteral #function #if #imageLiteral #line #selector #sourceLocation _ __COLUMN__ __FILE__ __FUNCTION__ __LINE__ Any as as! as? associatedtype associativity break case catch class continue convenience default defer deinit didSet do dynamic dynamicType else enum extension fallthrough false fileprivate final for func get guard if import in indirect infix init inout internal is lazy left let mutating nil none nonmutating open operator optional override postfix precedence prefix private protocol Protocol public repeat required rethrows return right self Self set static struct subscript super switch throw throws true try try! try? Type typealias unowned var weak where while willSet",literal:"true false nil",built_in:"abs advance alignof alignofValue anyGenerator assert assertionFailure bridgeFromObjectiveC bridgeFromObjectiveCUnconditional bridgeToObjectiveC bridgeToObjectiveCUnconditional c contains count countElements countLeadingZeros debugPrint debugPrintln distance dropFirst dropLast dump encodeBitsAsWords enumerate equal fatalError filter find getBridgedObjectiveCType getVaList indices insertionSort isBridgedToObjectiveC isBridgedVerbatimToObjectiveC isUniquelyReferenced isUniquelyReferencedNonObjC join lazy lexicographicalCompare map max maxElement min minElement numericCast overlaps partition posix precondition preconditionFailure print println quickSort readLine reduce reflect reinterpretCast reverse roundUpToAlignment sizeof sizeofValue sort split startsWith stride strideof strideofValue swap toString transcode underestimateCount unsafeAddressOf unsafeBitCast unsafeDowncast unsafeUnwrap unsafeReflect withExtendedLifetime withObjectAtPlusZero withUnsafePointer withUnsafePointerToObject withUnsafeMutablePointer withUnsafeMutablePointers withUnsafePointer withUnsafePointers withVaList zip"},t=e.C("/\\*","\\*/",{c:["self"]}),n={cN:"subst",b:/\\\(/,e:"\\)",k:i,c:[]},r={cN:"string",c:[e.BE,n],v:[{b:/"""/,e:/"""/},{b:/"/,e:/"/}]},a={cN:"number",b:"\\b([\\d_]+(\\.[\\deE_]+)?|0x[a-fA-F0-9_]+(\\.[a-fA-F0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b",relevance:0};return n.c=[a],{k:i,c:[r,e.CLCM,t,{cN:"type",b:"\\b[A-Z][\\wÀ-ʸ']*[!?]"},{cN:"type",b:"\\b[A-Z][\\wÀ-ʸ']*",relevance:0},a,{cN:"function",bK:"func",e:"{",eE:!0,c:[e.inherit(e.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{b://},{cN:"params",b:/\(/,e:/\)/,endsParent:!0,k:i,c:["self",a,r,e.CBCM,{b:":"}],i:/["']/}],i:/\[|%/},{cN:"class",bK:"struct protocol class extension enum",k:i,e:"\\{",eE:!0,c:[e.inherit(e.TM,{b:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/})]},{cN:"meta",b:"(@discardableResult|@warn_unused_result|@exported|@lazy|@noescape|@NSCopying|@NSManaged|@objc|@objcMembers|@convention|@required|@noreturn|@IBAction|@IBDesignable|@IBInspectable|@IBOutlet|@infix|@prefix|@postfix|@autoclosure|@testable|@available|@nonobjc|@NSApplicationMain|@UIApplicationMain|@dynamicMemberLookup|@propertyWrapper)"},{bK:"import",e:/$/,c:[e.CLCM,t]}]}});hljs.registerLanguage("makefile",function(e){var i={cN:"variable",v:[{b:"\\$\\("+e.UIR+"\\)",c:[e.BE]},{b:/\$[@%`]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],cI:!0,c:[{cN:"meta",b:"",relevance:10,c:[s,l,t,a,{b:"\\[",e:"\\]",c:[{cN:"meta",b:"",c:[s,a,l,t]}]}]},e.C("\x3c!--","--\x3e",{relevance:10}),{b:"<\\!\\[CDATA\\[",e:"\\]\\]>",relevance:10},c,{cN:"meta",b:/<\?xml/,e:/\?>/,relevance:10},{b:/<\?(php)?/,e:/\?>/,sL:"php",c:[{b:"/\\*",e:"\\*/",skip:!0},{b:'b"',e:'"',skip:!0},{b:"b'",e:"'",skip:!0},e.inherit(e.ASM,{i:null,cN:null,c:null,skip:!0}),e.inherit(e.QSM,{i:null,cN:null,c:null,skip:!0})]},{cN:"tag",b:")",e:">",k:{name:"style"},c:[r],starts:{e:"",rE:!0,sL:["css","xml"]}},{cN:"tag",b:")",e:">",k:{name:"script"},c:[r],starts:{e:"<\/script>",rE:!0,sL:["actionscript","javascript","handlebars","xml"]}},{cN:"tag",b:"",c:[{cN:"name",b:/[^\/><\s]+/,relevance:0},r]}]}});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",relevance:0},{cN:"bullet",b:"^\\s*([*+-]|(\\d+\\.))\\s+"},{cN:"strong",b:"[*_]{2}.+?[*_]{2}"},{cN:"emphasis",v:[{b:"\\*.+?\\*"},{b:"_.+?_",relevance:0}]},{cN:"quote",b:"^>\\s+",e:"$"},{cN:"code",v:[{b:"^```\\w*\\s*$",e:"^```[ ]*$"},{b:"`.+?`"},{b:"^( {4}|\\t)",e:"$",relevance:0}]},{b:"^[-\\*]{3,}",e:"$"},{b:"\\[.+?\\][\\(\\[].*?[\\)\\]]",rB:!0,c:[{cN:"string",b:"\\[",e:"\\]",eB:!0,rE:!0,relevance:0},{cN:"link",b:"\\]\\(",e:"\\)",eB:!0,eE:!0},{cN:"symbol",b:"\\]\\[",e:"\\]",eB:!0,eE:!0}],relevance:10},{b:/^\[[^\n]+\]:/,rB:!0,c:[{cN:"symbol",b:/\[/,e:/\]/,eB:!0,eE:!0},{cN:"link",b:/:\s*/,e:/$/,eB:!0}]}]}});hljs.registerLanguage("kotlin",function(e){var t={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual trait volatile transient native default",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},a={cN:"symbol",b:e.UIR+"@"},n={cN:"subst",b:"\\${",e:"}",c:[e.CNM]},c={cN:"variable",b:"\\$"+e.UIR},r={cN:"string",v:[{b:'"""',e:'"""(?=[^"])',c:[c,n]},{b:"'",e:"'",i:/\n/,c:[e.BE]},{b:'"',e:'"',i:/\n/,c:[e.BE,c,n]}]};n.c.push(r);var i={cN:"meta",b:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UIR+")?"},l={cN:"meta",b:"@"+e.UIR,c:[{b:/\(/,e:/\)/,c:[e.inherit(r,{cN:"meta-string"})]}]},s={cN:"number",b:"\\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]?",relevance:0},b=e.C("/\\*","\\*/",{c:[e.CBCM]}),o={v:[{cN:"type",b:e.UIR},{b:/\(/,e:/\)/,c:[]}]},d=o;return d.v[1].c=[o],o.v[1].c=[d],{aliases:["kt"],k:t,c:[e.C("/\\*\\*","\\*/",{relevance:0,c:[{cN:"doctag",b:"@[A-Za-z]+"}]}),e.CLCM,b,{cN:"keyword",b:/\b(break|continue|return|this)\b/,starts:{c:[{cN:"symbol",b:/@\w+/}]}},a,i,l,{cN:"function",bK:"fun",e:"[(]|$",rB:!0,eE:!0,k:t,i:/fun\s+(<.*>)?[^\s\(]+(\s+[^\s\(]+)\s*=/,relevance:5,c:[{b:e.UIR+"\\s*\\(",rB:!0,relevance:0,c:[e.UTM]},{cN:"type",b://,k:"reified",relevance:0},{cN:"params",b:/\(/,e:/\)/,endsParent:!0,k:t,relevance:0,c:[{b:/:/,e:/[=,\/]/,eW:!0,c:[o,e.CLCM,b],relevance:0},e.CLCM,b,i,l,r,e.CNM]},b]},{cN:"class",bK:"class interface trait",e:/[:\{(]|$/,eE:!0,i:"extends implements",c:[{bK:"public protected internal private constructor"},e.UTM,{cN:"type",b://,eB:!0,eE:!0,relevance:0},{cN:"type",b:/[,:]\s*/,e:/[<\(,]|$/,eB:!0,rE:!0},i,l]},r,{cN:"meta",b:"^#!/usr/bin/env",e:"$",i:"\n"},s]}});hljs.registerLanguage("ruby",function(e){var c="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",b={keyword:"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",literal:"true false nil"},r={cN:"doctag",b:"@[A-Za-z]+"},a={b:"#<",e:">"},n=[e.C("#","$",{c:[r]}),e.C("^\\=begin","^\\=end",{c:[r],relevance:10}),e.C("^__END__","\\n$")],s={cN:"subst",b:"#\\{",e:"}",k:b},t={cN:"string",c:[e.BE,s],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/},{b:/<<[-~]?'?(\w+)(?:.|\n)*?\n\s*\1\b/,rB:!0,c:[{b:/<<[-~]?'?/},{b:/\w+/,endSameAsBegin:!0,c:[e.BE,s]}]}]},i={cN:"params",b:"\\(",e:"\\)",endsParent:!0,k:b},l=[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(n)},{cN:"function",bK:"def",e:"$|;",c:[e.inherit(e.TM,{b:c}),i].concat(n)},{b:e.IR+"::"},{cN:"symbol",b:e.UIR+"(\\!|\\?)?:",relevance:0},{cN:"symbol",b:":(?!\\s)",c:[t,{b:c}],relevance:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{cN:"params",b:/\|/,e:/\|/,k:b},{b:"("+e.RSR+"|unless)\\s*",k:"unless",c:[a,{cN:"regexp",c:[e.BE,s],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(n),relevance:0}].concat(n);s.c=l;var d=[{b:/^\s*=>/,starts:{e:"$",c:i.c=l}},{cN:"meta",b:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+>|(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>)",starts:{e:"$",c:l}}];return{aliases:["rb","gemspec","podspec","thor","irb"],k:b,i:/\/\*/,c:n.concat(d).concat(l)}});hljs.registerLanguage("shell",function(s){return{aliases:["console"],c:[{cN:"meta",b:"^\\s{0,3}[/\\w\\d\\[\\]()@-]*[>%$#]",starts:{e:"$",sL:"bash"}}]}});hljs.registerLanguage("yaml",function(e){var b="true false yes no null",a={cN:"string",relevance:0,v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:/\S+/}],c:[e.BE,{cN:"template-variable",v:[{b:"{{",e:"}}"},{b:"%{",e:"}"}]}]};return{cI:!0,aliases:["yml","YAML","yaml"],c:[{cN:"attr",v:[{b:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{b:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{b:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{cN:"meta",b:"^---s*$",relevance:10},{cN:"string",b:"[\\|>]([0-9]?[+-])?[ ]*\\n( *)[\\S ]+\\n(\\2[\\S ]+\\n?)*"},{b:"<%[%=-]?",e:"[%-]?%>",sL:"ruby",eB:!0,eE:!0,relevance:0},{cN:"type",b:"!"+e.UIR},{cN:"type",b:"!!"+e.UIR},{cN:"meta",b:"&"+e.UIR+"$"},{cN:"meta",b:"\\*"+e.UIR+"$"},{cN:"bullet",b:"\\-(?=[ ]|$)",relevance:0},e.HCM,{bK:b,k:{literal:b}},{cN:"number",b:e.CNR+"\\b"},a]}});hljs.registerLanguage("vim",function(e){return{l:/[!#@\w]+/,k:{keyword:"N|0 P|0 X|0 a|0 ab abc abo al am an|0 ar arga argd arge argdo argg argl argu as au aug aun b|0 bN ba bad bd be bel bf bl bm bn bo bp br brea breaka breakd breakl bro bufdo buffers bun bw c|0 cN cNf ca cabc caddb cad caddf cal cat cb cc ccl cd ce cex cf cfir cgetb cgete cg changes chd che checkt cl cla clo cm cmapc cme cn cnew cnf cno cnorea cnoreme co col colo com comc comp con conf cope cp cpf cq cr cs cst cu cuna cunme cw delm deb debugg delc delf dif diffg diffo diffp diffpu diffs diffthis dig di dl dell dj dli do doautoa dp dr ds dsp e|0 ea ec echoe echoh echom echon el elsei em en endfo endf endt endw ene ex exe exi exu f|0 files filet fin fina fini fir fix fo foldc foldd folddoc foldo for fu go gr grepa gu gv ha helpf helpg helpt hi hid his ia iabc if ij il im imapc ime ino inorea inoreme int is isp iu iuna iunme j|0 ju k|0 keepa kee keepj lN lNf l|0 lad laddb laddf la lan lat lb lc lch lcl lcs le lefta let lex lf lfir lgetb lgete lg lgr lgrepa lh ll lla lli lmak lm lmapc lne lnew lnf ln loadk lo loc lockv lol lope lp lpf lr ls lt lu lua luad luaf lv lvimgrepa lw m|0 ma mak map mapc marks mat me menut mes mk mks mksp mkv mkvie mod mz mzf nbc nb nbs new nm nmapc nme nn nnoreme noa no noh norea noreme norm nu nun nunme ol o|0 om omapc ome on ono onoreme opt ou ounme ow p|0 profd prof pro promptr pc ped pe perld po popu pp pre prev ps pt ptN ptf ptj ptl ptn ptp ptr pts pu pw py3 python3 py3d py3f py pyd pyf quita qa rec red redi redr redraws reg res ret retu rew ri rightb rub rubyd rubyf rund ru rv sN san sa sal sav sb sbN sba sbf sbl sbm sbn sbp sbr scrip scripte scs se setf setg setl sf sfir sh sim sig sil sl sla sm smap smapc sme sn sni sno snor snoreme sor so spelld spe spelli spellr spellu spellw sp spr sre st sta startg startr star stopi stj sts sun sunm sunme sus sv sw sy synti sync tN tabN tabc tabdo tabe tabf tabfir tabl tabm tabnew tabn tabo tabp tabr tabs tab ta tags tc tcld tclf te tf th tj tl tm tn to tp tr try ts tu u|0 undoj undol una unh unl unlo unm unme uns up ve verb vert vim vimgrepa vi viu vie vm vmapc vme vne vn vnoreme vs vu vunme windo w|0 wN wa wh wi winc winp wn wp wq wqa ws wu wv x|0 xa xmapc xm xme xn xnoreme xu xunme y|0 z|0 ~ Next Print append abbreviate abclear aboveleft all amenu anoremenu args argadd argdelete argedit argglobal arglocal argument ascii autocmd augroup aunmenu buffer bNext ball badd bdelete behave belowright bfirst blast bmodified bnext botright bprevious brewind break breakadd breakdel breaklist browse bunload bwipeout change cNext cNfile cabbrev cabclear caddbuffer caddexpr caddfile call catch cbuffer cclose center cexpr cfile cfirst cgetbuffer cgetexpr cgetfile chdir checkpath checktime clist clast close cmap cmapclear cmenu cnext cnewer cnfile cnoremap cnoreabbrev cnoremenu copy colder colorscheme command comclear compiler continue confirm copen cprevious cpfile cquit crewind cscope cstag cunmap cunabbrev cunmenu cwindow delete delmarks debug debuggreedy delcommand delfunction diffupdate diffget diffoff diffpatch diffput diffsplit digraphs display deletel djump dlist doautocmd doautoall deletep drop dsearch dsplit edit earlier echo echoerr echohl echomsg else elseif emenu endif endfor endfunction endtry endwhile enew execute exit exusage file filetype find finally finish first fixdel fold foldclose folddoopen folddoclosed foldopen function global goto grep grepadd gui gvim hardcopy help helpfind helpgrep helptags highlight hide history insert iabbrev iabclear ijump ilist imap imapclear imenu inoremap inoreabbrev inoremenu intro isearch isplit iunmap iunabbrev iunmenu join jumps keepalt keepmarks keepjumps lNext lNfile list laddexpr laddbuffer laddfile last language later lbuffer lcd lchdir lclose lcscope left leftabove lexpr lfile lfirst lgetbuffer lgetexpr lgetfile lgrep lgrepadd lhelpgrep llast llist lmake lmap lmapclear lnext lnewer lnfile lnoremap loadkeymap loadview lockmarks lockvar lolder lopen lprevious lpfile lrewind ltag lunmap luado luafile lvimgrep lvimgrepadd lwindow move mark make mapclear match menu menutranslate messages mkexrc mksession mkspell mkvimrc mkview mode mzscheme mzfile nbclose nbkey nbsart next nmap nmapclear nmenu nnoremap nnoremenu noautocmd noremap nohlsearch noreabbrev noremenu normal number nunmap nunmenu oldfiles open omap omapclear omenu only onoremap onoremenu options ounmap ounmenu ownsyntax print profdel profile promptfind promptrepl pclose pedit perl perldo pop popup ppop preserve previous psearch ptag ptNext ptfirst ptjump ptlast ptnext ptprevious ptrewind ptselect put pwd py3do py3file python pydo pyfile quit quitall qall read recover redo redir redraw redrawstatus registers resize retab return rewind right rightbelow ruby rubydo rubyfile rundo runtime rviminfo substitute sNext sandbox sargument sall saveas sbuffer sbNext sball sbfirst sblast sbmodified sbnext sbprevious sbrewind scriptnames scriptencoding scscope set setfiletype setglobal setlocal sfind sfirst shell simalt sign silent sleep slast smagic smapclear smenu snext sniff snomagic snoremap snoremenu sort source spelldump spellgood spellinfo spellrepall spellundo spellwrong split sprevious srewind stop stag startgreplace startreplace startinsert stopinsert stjump stselect sunhide sunmap sunmenu suspend sview swapname syntax syntime syncbind tNext tabNext tabclose tabedit tabfind tabfirst tablast tabmove tabnext tabonly tabprevious tabrewind tag tcl tcldo tclfile tearoff tfirst throw tjump tlast tmenu tnext topleft tprevious trewind tselect tunmenu undo undojoin undolist unabbreviate unhide unlet unlockvar unmap unmenu unsilent update vglobal version verbose vertical vimgrep vimgrepadd visual viusage view vmap vmapclear vmenu vnew vnoremap vnoremenu vsplit vunmap vunmenu write wNext wall while winsize wincmd winpos wnext wprevious wqall wsverb wundo wviminfo xit xall xmapclear xmap xmenu xnoremap xnoremenu xunmap xunmenu yank",built_in:"synIDtrans atan2 range matcharg did_filetype asin feedkeys xor argv complete_check add getwinposx getqflist getwinposy screencol clearmatches empty extend getcmdpos mzeval garbagecollect setreg ceil sqrt diff_hlID inputsecret get getfperm getpid filewritable shiftwidth max sinh isdirectory synID system inputrestore winline atan visualmode inputlist tabpagewinnr round getregtype mapcheck hasmapto histdel argidx findfile sha256 exists toupper getcmdline taglist string getmatches bufnr strftime winwidth bufexists strtrans tabpagebuflist setcmdpos remote_read printf setloclist getpos getline bufwinnr float2nr len getcmdtype diff_filler luaeval resolve libcallnr foldclosedend reverse filter has_key bufname str2float strlen setline getcharmod setbufvar index searchpos shellescape undofile foldclosed setqflist buflisted strchars str2nr virtcol floor remove undotree remote_expr winheight gettabwinvar reltime cursor tabpagenr finddir localtime acos getloclist search tanh matchend rename gettabvar strdisplaywidth type abs py3eval setwinvar tolower wildmenumode log10 spellsuggest bufloaded synconcealed nextnonblank server2client complete settabwinvar executable input wincol setmatches getftype hlID inputsave searchpair or screenrow line settabvar histadd deepcopy strpart remote_peek and eval getftime submatch screenchar winsaveview matchadd mkdir screenattr getfontname libcall reltimestr getfsize winnr invert pow getbufline byte2line soundfold repeat fnameescape tagfiles sin strwidth spellbadword trunc maparg log lispindent hostname setpos globpath remote_foreground getchar synIDattr fnamemodify cscope_connection stridx winbufnr indent min complete_add nr2char searchpairpos inputdialog values matchlist items hlexists strridx browsedir expand fmod pathshorten line2byte argc count getwinvar glob foldtextresult getreg foreground cosh matchdelete has char2nr simplify histget searchdecl iconv winrestcmd pumvisible writefile foldlevel haslocaldir keys cos matchstr foldtext histnr tan tempname getcwd byteidx getbufvar islocked escape eventhandler remote_send serverlist winrestview synstack pyeval prevnonblank readfile cindent filereadable changenr exp"},i:/;/,c:[e.NM,{cN:"string",b:"'",e:"'",i:"\\n"},{cN:"string",b:/"(\\"|\n\\|[^"\n])*"/},e.C('"',"$"),{cN:"variable",b:/[bwtglsav]:[\w\d_]*/},{cN:"function",bK:"function function!",e:"$",relevance:0,c:[e.TM,{cN:"params",b:"\\(",e:"\\)"}]},{cN:"symbol",b:/<[\w-]+>/}]}});hljs.registerLanguage("java",function(e){var a="false synchronized int abstract float private char boolean var 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 module requires exports do",t={cN:"number",b:"\\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]?",relevance:0};return{aliases:["jsp"],k:a,i:/<\/|#/,c:[e.C("/\\*\\*","\\*/",{relevance:0,c:[{b:/\w+@/,relevance: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",relevance:0},{cN:"function",b:"([À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(<[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(\\s*,\\s*[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*)*>)?\\s+)+"+e.UIR+"\\s*\\(",rB:!0,e:/[{;=]/,eE:!0,k:a,c:[{b:e.UIR+"\\s*\\(",rB:!0,relevance:0,c:[e.UTM]},{cN:"params",b:/\(/,e:/\)/,k:a,relevance:0,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]},t,{cN:"meta",b:"@[A-Za-z]+"}]}});hljs.registerLanguage("plaintext",function(e){return{disableAutodetect:!0}});hljs.registerLanguage("objectivec",function(e){var t=/[a-zA-Z@][a-zA-Z0-9_]*/,i="@interface @class @protocol @implementation";return{aliases:["mm","objc","obj-c"],k:{keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required @encode @package @import @defs @compatibility_alias __bridge __bridge_transfer __bridge_retained __bridge_retain __covariant __contravariant __kindof _Nonnull _Nullable _Null_unspecified __FUNCTION__ __PRETTY_FUNCTION__ __attribute__ getter setter retain unsafe_unretained nonnull nullable null_unspecified null_resettable class instancetype NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"},l:t,i:"/,e:/$/,i:"\\n"},e.CLCM,e.CBCM]},{cN:"class",b:"("+i.split(" ").join("|")+")\\b",e:"({|$)",eE:!0,k:i,l:t,c:[e.UTM]},{b:"\\."+e.UIR,relevance:0}]}});hljs.registerLanguage("go",function(e){var n={keyword:"break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune",literal:"true false iota nil",built_in:"append cap close complex copy imag len make new panic print println real recover delete"};return{aliases:["golang"],k:n,i:""}]}});hljs.registerLanguage("http",function(e){var t="HTTP/[0-9\\.]+";return{aliases:["https"],i:"\\S",c:[{b:"^"+t,e:"$",c:[{cN:"number",b:"\\b\\d{3}\\b"}]},{b:"^[A-Z]+ (.*?) "+t+"$",rB:!0,e:"$",c:[{cN:"string",b:" ",e:" ",eB:!0,eE:!0},{b:t},{cN:"keyword",b:"[A-Z]+"}]},{cN:"attribute",b:"^\\w",e:": ",eE:!0,i:"\\n|\\s|=",starts:{e:"$",relevance:0}},{b:"\\n\\n",starts:{sL:[],eW:!0}}]}});hljs.registerLanguage("properties",function(e){var r="[ \\t\\f]*",t="("+r+"[:=]"+r+"|[ \\t\\f]+)",n="([^\\\\\\W:= \\t\\f\\n]|\\\\.)+",a="([^\\\\:= \\t\\f\\n]|\\\\.)+",c={e:t,relevance:0,starts:{cN:"string",e:/$/,relevance:0,c:[{b:"\\\\\\n"}]}};return{cI:!0,i:/\S/,c:[e.C("^\\s*[!#]","$"),{b:n+t,rB:!0,c:[{cN:"attr",b:n,endsParent:!0,relevance:0}],starts:c},{b:a+t,rB:!0,relevance:0,c:[{cN:"meta",b:a,endsParent:!0,relevance:0}],starts:c},{cN:"attr",relevance:0,b:a+r+"$"}]}});hljs.registerLanguage("powershell",function(e){var t={keyword:"if else foreach return do while until elseif begin for trap data dynamicparam end break throw param continue finally in switch exit filter try process catch hidden static parameter"},n={b:"`[\\s\\S]",relevance:0},c={cN:"variable",v:[{b:/\$\B/},{cN:"keyword",b:/\$this/},{b:/\$[\w\d][\w\d_:]*/}]},i={cN:"string",v:[{b:/"/,e:/"/},{b:/@"/,e:/^"@/}],c:[n,c,{cN:"variable",b:/\$[A-z]/,e:/[^A-z]/}]},a={cN:"string",v:[{b:/'/,e:/'/},{b:/@'/,e:/^'@/}]},r=e.inherit(e.C(null,null),{v:[{b:/#/,e:/$/},{b:/<#/,e:/#>/}],c:[{cN:"doctag",v:[{b:/\.(synopsis|description|example|inputs|outputs|notes|link|component|role|functionality)/},{b:/\.(parameter|forwardhelptargetname|forwardhelpcategory|remotehelprunspace|externalhelp)\s+\S+/}]}]}),o={cN:"built_in",v:[{b:"(".concat("Add|Clear|Close|Copy|Enter|Exit|Find|Format|Get|Hide|Join|Lock|Move|New|Open|Optimize|Pop|Push|Redo|Remove|Rename|Reset|Resize|Search|Select|Set|Show|Skip|Split|Step|Switch|Undo|Unlock|Watch|Backup|Checkpoint|Compare|Compress|Convert|ConvertFrom|ConvertTo|Dismount|Edit|Expand|Export|Group|Import|Initialize|Limit|Merge|New|Out|Publish|Restore|Save|Sync|Unpublish|Update|Approve|Assert|Complete|Confirm|Deny|Disable|Enable|Install|Invoke|Register|Request|Restart|Resume|Start|Stop|Submit|Suspend|Uninstall|Unregister|Wait|Debug|Measure|Ping|Repair|Resolve|Test|Trace|Connect|Disconnect|Read|Receive|Send|Write|Block|Grant|Protect|Revoke|Unblock|Unprotect|Use|ForEach|Sort|Tee|Where",")+(-)[\\w\\d]+")}]},l={cN:"class",bK:"class enum",e:/\s*[{]/,eE:!0,relevance:0,c:[e.TM]},s={cN:"function",b:/function\s+/,e:/\s*\{|$/,eE:!0,rB:!0,relevance:0,c:[{b:"function",relevance:0,cN:"keyword"},{cN:"title",b:/\w[\w\d]*((-)[\w\d]+)*/,relevance:0},{b:/\(/,e:/\)/,cN:"params",relevance:0,c:[c]}]},p={b:/using\s/,e:/$/,rB:!0,c:[i,a,{cN:"keyword",b:/(using|assembly|command|module|namespace|type)/}]},b={v:[{cN:"operator",b:"(".concat("-and|-as|-band|-bnot|-bor|-bxor|-casesensitive|-ccontains|-ceq|-cge|-cgt|-cle|-clike|-clt|-cmatch|-cne|-cnotcontains|-cnotlike|-cnotmatch|-contains|-creplace|-csplit|-eq|-exact|-f|-file|-ge|-gt|-icontains|-ieq|-ige|-igt|-ile|-ilike|-ilt|-imatch|-in|-ine|-inotcontains|-inotlike|-inotmatch|-ireplace|-is|-isnot|-isplit|-join|-le|-like|-lt|-match|-ne|-not|-notcontains|-notin|-notlike|-notmatch|-or|-regex|-replace|-shl|-shr|-split|-wildcard|-xor",")\\b")},{cN:"literal",b:/(-)[\w\d]+/,relevance:0}]},d={cN:"function",b:/\[.*\]\s*[\w]+[ ]??\(/,e:/$/,rB:!0,relevance:0,c:[{cN:"keyword",b:"(".concat(t.keyword.toString().replace(/\s/g,"|"),")\\b"),endsParent:!0,relevance:0},e.inherit(e.TM,{endsParent:!0})]},u=[d,r,n,e.NM,i,a,o,c,{cN:"literal",b:/\$(null|true|false)\b/},{cN:"selector-tag",b:/\@\B/,relevance:0}],m={b:/\[/,e:/\]/,eB:!0,eE:!0,relevance:0,c:[].concat("self",u,{b:"("+["string","char","byte","int","long","bool","decimal","single","double","DateTime","xml","array","hashtable","void"].join("|")+")",cN:"built_in",relevance:0},{cN:"type",b:/[\.\w\d]+/,relevance:0})};return d.c.unshift(m),{aliases:["ps","ps1"],l:/-?[A-z\.\-]+/,cI:!0,k:t,c:u.concat(l,s,p,b,m)}});hljs.registerLanguage("python",function(e){var r={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",built_in:"Ellipsis NotImplemented",literal:"False None True"},b={cN:"meta",b:/^(>>>|\.\.\.) /},c={cN:"subst",b:/\{/,e:/\}/,k:r,i:/#/},a={b:/\{\{/,relevance:0},l={cN:"string",c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,c:[e.BE,b],relevance:10},{b:/(u|b)?r?"""/,e:/"""/,c:[e.BE,b],relevance:10},{b:/(fr|rf|f)'''/,e:/'''/,c:[e.BE,b,a,c]},{b:/(fr|rf|f)"""/,e:/"""/,c:[e.BE,b,a,c]},{b:/(u|r|ur)'/,e:/'/,relevance:10},{b:/(u|r|ur)"/,e:/"/,relevance:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)"/,e:/"/},{b:/(fr|rf|f)'/,e:/'/,c:[e.BE,a,c]},{b:/(fr|rf|f)"/,e:/"/,c:[e.BE,a,c]},e.ASM,e.QSM]},n={cN:"number",relevance:0,v:[{b:e.BNR+"[lLjJ]?"},{b:"\\b(0o[0-7]+)[lLjJ]?"},{b:e.CNR+"[lLjJ]?"}]},i={cN:"params",b:/\(/,e:/\)/,c:["self",b,n,l,e.HCM]};return c.c=[l,n,b],{aliases:["py","gyp","ipython"],k:r,i:/(<\/|->|\?)|=>/,c:[b,n,{bK:"if",relevance:0},l,e.HCM,{v:[{cN:"function",bK:"def"},{cN:"class",bK:"class"}],e:/:/,i:/[${=;\n,]/,c:[e.UTM,i,{b:/->/,eW:!0,k:"None"}]},{cN:"meta",b:/^[\t ]*@/,e:/$/},{b:/\b(print|exec)\(/}]}});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 comment values with",e:/;/,eW:!0,l:/[\w\.]+/,k:{keyword:"as 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 all allocate allow alter always analyze ancillary and anti 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 bucket buffer_cache buffer_pool build bulk by byte byteordermark bytes 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 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 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 explode export export_set extended extent external external_1 external_2 externally extract 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 foreign form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function 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 hours http 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 keep keep_duplicates key keys kill language large last last_day last_insert_id last_value lateral 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 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 minutes minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex 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 notnull 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 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 seconds section securefile security seed segment select self semi 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 table tables tablespace tablesample 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 unnest 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 window 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 unknown",built_in:"array bigint binary bit blob bool boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text time timestamp tinyint varchar varchar2 varying void"},c:[{cN:"string",b:"'",e:"'",c:[{b:"''"}]},{cN:"string",b:'"',e:'"',c:[{b:'""'}]},{cN:"string",b:"`",e:"`"},e.CNM,e.CBCM,t,e.HCM]},e.CBCM,t,e.HCM]}});hljs.registerLanguage("cs",function(e){var a={keyword:"abstract as base bool break byte case catch char checked const continue decimal default delegate do double enum event explicit extern finally fixed float for foreach goto if implicit in int interface internal is lock long object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this try typeof uint ulong unchecked unsafe ushort using virtual void volatile while add alias ascending async await by descending dynamic equals from get global group into join let nameof on orderby partial remove select set value var when where yield",literal:"null false true"},i={cN:"number",v:[{b:"\\b(0b[01']+)"},{b:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{b:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},c={cN:"string",b:'@"',e:'"',c:[{b:'""'}]},r=e.inherit(c,{i:/\n/}),n={cN:"subst",b:"{",e:"}",k:a},t=e.inherit(n,{i:/\n/}),s={cN:"string",b:/\$"/,e:'"',i:/\n/,c:[{b:"{{"},{b:"}}"},e.BE,t]},l={cN:"string",b:/\$@"/,e:'"',c:[{b:"{{"},{b:"}}"},{b:'""'},n]},b=e.inherit(l,{i:/\n/,c:[{b:"{{"},{b:"}}"},{b:'""'},t]});n.c=[l,s,c,e.ASM,e.QSM,i,e.CBCM],t.c=[b,s,r,e.ASM,e.QSM,i,e.inherit(e.CBCM,{i:/\n/})];var o={v:[l,s,c,e.ASM,e.QSM]},d=e.IR+"(<"+e.IR+"(\\s*,\\s*"+e.IR+")*>)?(\\[\\])?";return{aliases:["csharp","c#"],k:a,i:/::/,c:[e.C("///","$",{rB:!0,c:[{cN:"doctag",v:[{b:"///",relevance:0},{b:"\x3c!--|--\x3e"},{b:""}]}]}),e.CLCM,e.CBCM,{cN:"meta",b:"#",e:"$",k:{"meta-keyword":"if else elif endif define undef warning error line region endregion pragma checksum"}},o,i,{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]},{cN:"meta",b:"^\\s*\\[",eB:!0,e:"\\]",eE:!0,c:[{cN:"meta-string",b:/"/,e:/"/}]},{bK:"new return throw await else",relevance:0},{cN:"function",b:"("+d+"\\s+)+"+e.IR+"\\s*\\(",rB:!0,e:/\s*[{;=]/,eE:!0,k:a,c:[{b:e.IR+"\\s*\\(",rB:!0,c:[e.TM],relevance:0},{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,k:a,relevance:0,c:[o,i,e.CBCM]},e.CLCM,e.CBCM]}]}});hljs.registerLanguage("css",function(e){var c={b:/(?:[A-Z\_\.\-]+|--[a-zA-Z0-9_-]+)\s*:/,rB:!0,e:";",eW:!0,c:[{cN:"attribute",b:/\S/,e:":",eE:!0,starts:{eW:!0,eE:!0,c:[{b:/[\w-]+\(/,rB:!0,c:[{cN:"built_in",b:/[\w-]+/},{b:/\(/,e:/\)/,c:[e.ASM,e.QSM,e.CSSNM]}]},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:"$",c:[e.ASM,e.QSM]},{cN:"selector-pseudo",b:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{b:"@(page|font-face)",l:"@[a-z-]+",k:"@page @font-face"},{b:"@",e:"[{;]",i:/:/,rB:!0,c:[{cN:"keyword",b:/@\-?\w[\w]*(\-\w+)*/},{b:/\s/,eW:!0,eE:!0,relevance:0,k:"and or not only",c:[{b:/[a-z-]+:/,cN:"attribute"},e.ASM,e.QSM,e.CSSNM]}]},{cN:"selector-tag",b:"[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},{b:"{",e:"}",i:/\S/,c:[e.CBCM,c]}]}});hljs.registerLanguage("javascript",function(e){var r="<>",a="",t={b:/<[A-Za-z0-9\\._:-]+/,e:/\/[A-Za-z0-9\\._:-]+>|\/>/},c="[A-Za-z$_][0-9A-Za-z$_]*",n={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 static 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"},s={cN:"number",v:[{b:"\\b(0[bB][01]+)n?"},{b:"\\b(0[oO][0-7]+)n?"},{b:e.CNR+"n?"}],relevance:0},o={cN:"subst",b:"\\$\\{",e:"\\}",k:n,c:[]},i={b:"html`",e:"",starts:{e:"`",rE:!1,c:[e.BE,o],sL:"xml"}},b={b:"css`",e:"",starts:{e:"`",rE:!1,c:[e.BE,o],sL:"css"}},l={cN:"string",b:"`",e:"`",c:[e.BE,o]};o.c=[e.ASM,e.QSM,i,b,l,s,e.RM];var u=o.c.concat([e.CBCM,e.CLCM]);return{aliases:["js","jsx","mjs","cjs"],k:n,c:[{cN:"meta",relevance:10,b:/^\s*['"]use (strict|asm)['"]/},{cN:"meta",b:/^#!/,e:/$/},e.ASM,e.QSM,i,b,l,e.CLCM,e.C("/\\*\\*","\\*/",{relevance:0,c:[{cN:"doctag",b:"@[A-Za-z]+",c:[{cN:"type",b:"\\{",e:"\\}",relevance:0},{cN:"variable",b:c+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{b:/(?=[^\n])\s/,relevance:0}]}]}),e.CBCM,s,{b:/[{,\n]\s*/,relevance:0,c:[{b:c+"\\s*:",rB:!0,relevance:0,c:[{cN:"attr",b:c,relevance:0}]}]},{b:"("+e.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[e.CLCM,e.CBCM,e.RM,{cN:"function",b:"(\\(.*?\\)|"+c+")\\s*=>",rB:!0,e:"\\s*=>",c:[{cN:"params",v:[{b:c},{b:/\(\s*\)/},{b:/\(/,e:/\)/,eB:!0,eE:!0,k:n,c:u}]}]},{cN:"",b:/\s/,e:/\s*/,skip:!0},{v:[{b:r,e:a},{b:t.b,e:t.e}],sL:"xml",c:[{b:t.b,e:t.e,skip:!0,c:["self"]}]}],relevance:0},{cN:"function",bK:"function",e:/\{/,eE:!0,c:[e.inherit(e.TM,{b:c}),{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,c:u}],i:/\[|%/},{b:/\$[(.]/},e.METHOD_GUARD,{cN:"class",bK:"class",e:/[{;=]/,eE:!0,i:/[:"\[\]]/,c:[{bK:"extends"},e.UTM]},{bK:"constructor get set",e:/\{/,eE:!0}],i:/#(?!!)/}}); \ No newline at end of file diff --git a/media/hljs/styles/a11y-dark.css b/media/hljs/styles/a11y-dark.css new file mode 100644 index 0000000..b93b742 --- /dev/null +++ b/media/hljs/styles/a11y-dark.css @@ -0,0 +1,99 @@ +/* a11y-dark theme */ +/* Based on the Tomorrow Night Eighties theme: https://github.com/isagalaev/highlight.js/blob/master/src/styles/tomorrow-night-eighties.css */ +/* @author: ericwbailey */ + +/* Comment */ +.hljs-comment, +.hljs-quote { + color: #d4d0ab; +} + +/* Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion { + color: #ffa07a; +} + +/* Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link { + color: #f5ab35; +} + +/* Yellow */ +.hljs-attribute { + color: #ffd700; +} + +/* Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #abe338; +} + +/* Blue */ +.hljs-title, +.hljs-section { + color: #00e0e0; +} + +/* Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #dcc6e0; +} + +.hljs { + display: block; + overflow-x: auto; + background: #2b2b2b; + color: #f8f8f2; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +@media screen and (-ms-high-contrast: active) { + .hljs-addition, + .hljs-attribute, + .hljs-built_in, + .hljs-builtin-name, + .hljs-bullet, + .hljs-comment, + .hljs-link, + .hljs-literal, + .hljs-meta, + .hljs-number, + .hljs-params, + .hljs-string, + .hljs-symbol, + .hljs-type, + .hljs-quote { + color: highlight; + } + + .hljs-keyword, + .hljs-selector-tag { + font-weight: bold; + } +} diff --git a/media/hljs/styles/a11y-light.css b/media/hljs/styles/a11y-light.css new file mode 100644 index 0000000..f1bf8f3 --- /dev/null +++ b/media/hljs/styles/a11y-light.css @@ -0,0 +1,99 @@ +/* a11y-light theme */ +/* Based on the Tomorrow Night Eighties theme: https://github.com/isagalaev/highlight.js/blob/master/src/styles/tomorrow-night-eighties.css */ +/* @author: ericwbailey */ + +/* Comment */ +.hljs-comment, +.hljs-quote { + color: #696969; +} + +/* Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion { + color: #d91e18; +} + +/* Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link { + color: #aa5d00; +} + +/* Yellow */ +.hljs-attribute { + color: #aa5d00; +} + +/* Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #008000; +} + +/* Blue */ +.hljs-title, +.hljs-section { + color: #007faa; +} + +/* Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #7928a1; +} + +.hljs { + display: block; + overflow-x: auto; + background: #fefefe; + color: #545454; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +@media screen and (-ms-high-contrast: active) { + .hljs-addition, + .hljs-attribute, + .hljs-built_in, + .hljs-builtin-name, + .hljs-bullet, + .hljs-comment, + .hljs-link, + .hljs-literal, + .hljs-meta, + .hljs-number, + .hljs-params, + .hljs-string, + .hljs-symbol, + .hljs-type, + .hljs-quote { + color: highlight; + } + + .hljs-keyword, + .hljs-selector-tag { + font-weight: bold; + } +} diff --git a/media/hljs/styles/agate.css b/media/hljs/styles/agate.css new file mode 100644 index 0000000..5d7a3e8 --- /dev/null +++ b/media/hljs/styles/agate.css @@ -0,0 +1,108 @@ +/*! + * Agate by Taufik Nurrohman + * --------------------------------------------------------------- + * + * #ade5fc + * #a2fca2 + * #c6b4f0 + * #d36363 + * #fcc28c + * #fc9b9b + * #ffa + * #fff + * #333 + * #62c8f3 + * #888 + * + */ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #333; + color: white; +} + +.hljs-name, +.hljs-strong { + font-weight: bold; +} + +.hljs-code, +.hljs-emphasis { + font-style: italic; +} + +.hljs-tag { + color: #62c8f3; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-selector-id, +.hljs-selector-class { + color: #ade5fc; +} + +.hljs-string, +.hljs-bullet { + color: #a2fca2; +} + +.hljs-type, +.hljs-title, +.hljs-section, +.hljs-attribute, +.hljs-quote, +.hljs-built_in, +.hljs-builtin-name { + color: #ffa; +} + +.hljs-number, +.hljs-symbol, +.hljs-bullet { + color: #d36363; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal { + color: #fcc28c; +} + +.hljs-comment, +.hljs-deletion, +.hljs-code { + color: #888; +} + +.hljs-regexp, +.hljs-link { + color: #c6b4f0; +} + +.hljs-meta { + color: #fc9b9b; +} + +.hljs-deletion { + background-color: #fc9b9b; + color: #333; +} + +.hljs-addition { + background-color: #a2fca2; + color: #333; +} + +.hljs a { + color: inherit; +} + +.hljs a:focus, +.hljs a:hover { + color: inherit; + text-decoration: underline; +} diff --git a/media/hljs/styles/an-old-hope.css b/media/hljs/styles/an-old-hope.css new file mode 100644 index 0000000..a6d56f4 --- /dev/null +++ b/media/hljs/styles/an-old-hope.css @@ -0,0 +1,89 @@ +/* + +An Old Hope – Star Wars Syntax (c) Gustavo Costa +Original theme - Ocean Dark Theme – by https://github.com/gavsiu +Based on Jesse Leite's Atom syntax theme 'An Old Hope' – https://github.com/JesseLeite/an-old-hope-syntax-atom + +*/ + +/* Death Star Comment */ +.hljs-comment, +.hljs-quote +{ + color: #B6B18B; +} + +/* Darth Vader */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion +{ + color: #EB3C54; +} + +/* Threepio */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link +{ + color: #E7CE56; +} + +/* Luke Skywalker */ +.hljs-attribute +{ + color: #EE7C2B; +} + +/* Obi Wan Kenobi */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition +{ + color: #4FB4D7; +} + +/* Yoda */ +.hljs-title, +.hljs-section +{ + color: #78BB65; +} + +/* Mace Windu */ +.hljs-keyword, +.hljs-selector-tag +{ + color: #B45EA4; +} + +/* Millenium Falcon */ +.hljs +{ + display: block; + overflow-x: auto; + background: #1C1D21; + color: #c0c5ce; + padding: 0.5em; +} + +.hljs-emphasis +{ + font-style: italic; +} + +.hljs-strong +{ + font-weight: bold; +} diff --git a/media/hljs/styles/androidstudio.css b/media/hljs/styles/androidstudio.css new file mode 100644 index 0000000..bc8e473 --- /dev/null +++ b/media/hljs/styles/androidstudio.css @@ -0,0 +1,66 @@ +/* +Date: 24 Fev 2015 +Author: Pedro Oliveira +*/ + +.hljs { + color: #a9b7c6; + background: #282b2e; + display: block; + overflow-x: auto; + padding: 0.5em; +} + +.hljs-number, +.hljs-literal, +.hljs-symbol, +.hljs-bullet { + color: #6897BB; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-deletion { + color: #cc7832; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-link { + color: #629755; +} + +.hljs-comment, +.hljs-quote { + color: #808080; +} + +.hljs-meta { + color: #bbb529; +} + +.hljs-string, +.hljs-attribute, +.hljs-addition { + color: #6A8759; +} + +.hljs-section, +.hljs-title, +.hljs-type { + color: #ffc66d; +} + +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #e8bf6a; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/arduino-light.css b/media/hljs/styles/arduino-light.css new file mode 100644 index 0000000..e6039c3 --- /dev/null +++ b/media/hljs/styles/arduino-light.css @@ -0,0 +1,87 @@ +/* + +Arduino® Light Theme - Stefania Mellai + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #FFFFFF; +} + +.hljs, +.hljs-subst { + color: #434f54; +} + +.hljs-keyword, +.hljs-attribute, +.hljs-selector-tag, +.hljs-doctag, +.hljs-name { + color: #00979D; +} + +.hljs-built_in, +.hljs-literal, +.hljs-bullet, +.hljs-code, +.hljs-addition { + color: #D35400; +} + +.hljs-regexp, +.hljs-symbol, +.hljs-variable, +.hljs-template-variable, +.hljs-link, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #00979D; +} + +.hljs-type, +.hljs-string, +.hljs-selector-id, +.hljs-selector-class, +.hljs-quote, +.hljs-template-tag, +.hljs-deletion { + color: #005C5F; +} + +.hljs-title, +.hljs-section { + color: #880000; + font-weight: bold; +} + +.hljs-comment { + color: rgba(149,165,166,.8); +} + +.hljs-meta-keyword { + color: #728E00; +} + +.hljs-meta { + color: #434f54; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-function { + color: #728E00; +} + +.hljs-number { + color: #8A7B52; +} diff --git a/media/hljs/styles/arta.css b/media/hljs/styles/arta.css new file mode 100644 index 0000000..75ef3a9 --- /dev/null +++ b/media/hljs/styles/arta.css @@ -0,0 +1,73 @@ +/* +Date: 17.V.2011 +Author: pumbur +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #222; +} + +.hljs, +.hljs-subst { + color: #aaa; +} + +.hljs-section { + color: #fff; +} + +.hljs-comment, +.hljs-quote, +.hljs-meta { + color: #444; +} + +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-regexp { + color: #ffcc33; +} + +.hljs-number, +.hljs-addition { + color: #00cc66; +} + +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-template-variable, +.hljs-attribute, +.hljs-link { + color: #32aaee; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #6644aa; +} + +.hljs-title, +.hljs-variable, +.hljs-deletion, +.hljs-template-tag { + color: #bb1166; +} + +.hljs-section, +.hljs-doctag, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/media/hljs/styles/ascetic.css b/media/hljs/styles/ascetic.css new file mode 100644 index 0000000..48397e8 --- /dev/null +++ b/media/hljs/styles/ascetic.css @@ -0,0 +1,45 @@ +/* + +Original style from softwaremaniacs.org (c) Ivan Sagalaev + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: white; + color: black; +} + +.hljs-string, +.hljs-variable, +.hljs-template-variable, +.hljs-symbol, +.hljs-bullet, +.hljs-section, +.hljs-addition, +.hljs-attribute, +.hljs-link { + color: #888; +} + +.hljs-comment, +.hljs-quote, +.hljs-meta, +.hljs-deletion { + color: #ccc; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-section, +.hljs-name, +.hljs-type, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/media/hljs/styles/atelier-cave-dark.css b/media/hljs/styles/atelier-cave-dark.css new file mode 100644 index 0000000..65428f3 --- /dev/null +++ b/media/hljs/styles/atelier-cave-dark.css @@ -0,0 +1,83 @@ +/* Base16 Atelier Cave Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/cave) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Cave Comment */ +.hljs-comment, +.hljs-quote { + color: #7e7887; +} + +/* Atelier-Cave Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-regexp, +.hljs-link, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #be4678; +} + +/* Atelier-Cave Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #aa573c; +} + +/* Atelier-Cave Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #2a9292; +} + +/* Atelier-Cave Blue */ +.hljs-title, +.hljs-section { + color: #576ddb; +} + +/* Atelier-Cave Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #955ae7; +} + +.hljs-deletion, +.hljs-addition { + color: #19171c; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #be4678; +} + +.hljs-addition { + background-color: #2a9292; +} + +.hljs { + display: block; + overflow-x: auto; + background: #19171c; + color: #8b8792; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/atelier-cave-light.css b/media/hljs/styles/atelier-cave-light.css new file mode 100644 index 0000000..b419f9f --- /dev/null +++ b/media/hljs/styles/atelier-cave-light.css @@ -0,0 +1,85 @@ +/* Base16 Atelier Cave Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/cave) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Cave Comment */ +.hljs-comment, +.hljs-quote { + color: #655f6d; +} + +/* Atelier-Cave Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #be4678; +} + +/* Atelier-Cave Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #aa573c; +} + +/* Atelier-Cave Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #2a9292; +} + +/* Atelier-Cave Blue */ +.hljs-title, +.hljs-section { + color: #576ddb; +} + +/* Atelier-Cave Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #955ae7; +} + +.hljs-deletion, +.hljs-addition { + color: #19171c; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #be4678; +} + +.hljs-addition { + background-color: #2a9292; +} + +.hljs { + display: block; + overflow-x: auto; + background: #efecf4; + color: #585260; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/atelier-dune-dark.css b/media/hljs/styles/atelier-dune-dark.css new file mode 100644 index 0000000..1684f52 --- /dev/null +++ b/media/hljs/styles/atelier-dune-dark.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Dune Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Dune Comment */ +.hljs-comment, +.hljs-quote { + color: #999580; +} + +/* Atelier-Dune Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #d73737; +} + +/* Atelier-Dune Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #b65611; +} + +/* Atelier-Dune Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #60ac39; +} + +/* Atelier-Dune Blue */ +.hljs-title, +.hljs-section { + color: #6684e1; +} + +/* Atelier-Dune Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #b854d4; +} + +.hljs { + display: block; + overflow-x: auto; + background: #20201d; + color: #a6a28c; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/atelier-dune-light.css b/media/hljs/styles/atelier-dune-light.css new file mode 100644 index 0000000..547719d --- /dev/null +++ b/media/hljs/styles/atelier-dune-light.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Dune Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Dune Comment */ +.hljs-comment, +.hljs-quote { + color: #7d7a68; +} + +/* Atelier-Dune Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #d73737; +} + +/* Atelier-Dune Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #b65611; +} + +/* Atelier-Dune Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #60ac39; +} + +/* Atelier-Dune Blue */ +.hljs-title, +.hljs-section { + color: #6684e1; +} + +/* Atelier-Dune Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #b854d4; +} + +.hljs { + display: block; + overflow-x: auto; + background: #fefbec; + color: #6e6b5e; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/atelier-estuary-dark.css b/media/hljs/styles/atelier-estuary-dark.css new file mode 100644 index 0000000..a5e5071 --- /dev/null +++ b/media/hljs/styles/atelier-estuary-dark.css @@ -0,0 +1,84 @@ +/* Base16 Atelier Estuary Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/estuary) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Estuary Comment */ +.hljs-comment, +.hljs-quote { + color: #878573; +} + +/* Atelier-Estuary Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #ba6236; +} + +/* Atelier-Estuary Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #ae7313; +} + +/* Atelier-Estuary Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #7d9726; +} + +/* Atelier-Estuary Blue */ +.hljs-title, +.hljs-section { + color: #36a166; +} + +/* Atelier-Estuary Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #5f9182; +} + +.hljs-deletion, +.hljs-addition { + color: #22221b; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #ba6236; +} + +.hljs-addition { + background-color: #7d9726; +} + +.hljs { + display: block; + overflow-x: auto; + background: #22221b; + color: #929181; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/atelier-estuary-light.css b/media/hljs/styles/atelier-estuary-light.css new file mode 100644 index 0000000..1daee5d --- /dev/null +++ b/media/hljs/styles/atelier-estuary-light.css @@ -0,0 +1,84 @@ +/* Base16 Atelier Estuary Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/estuary) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Estuary Comment */ +.hljs-comment, +.hljs-quote { + color: #6c6b5a; +} + +/* Atelier-Estuary Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #ba6236; +} + +/* Atelier-Estuary Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #ae7313; +} + +/* Atelier-Estuary Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #7d9726; +} + +/* Atelier-Estuary Blue */ +.hljs-title, +.hljs-section { + color: #36a166; +} + +/* Atelier-Estuary Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #5f9182; +} + +.hljs-deletion, +.hljs-addition { + color: #22221b; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #ba6236; +} + +.hljs-addition { + background-color: #7d9726; +} + +.hljs { + display: block; + overflow-x: auto; + background: #f4f3ec; + color: #5f5e4e; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/atelier-forest-dark.css b/media/hljs/styles/atelier-forest-dark.css new file mode 100644 index 0000000..0ef4fae --- /dev/null +++ b/media/hljs/styles/atelier-forest-dark.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Forest Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Forest Comment */ +.hljs-comment, +.hljs-quote { + color: #9c9491; +} + +/* Atelier-Forest Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #f22c40; +} + +/* Atelier-Forest Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #df5320; +} + +/* Atelier-Forest Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #7b9726; +} + +/* Atelier-Forest Blue */ +.hljs-title, +.hljs-section { + color: #407ee7; +} + +/* Atelier-Forest Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #6666ea; +} + +.hljs { + display: block; + overflow-x: auto; + background: #1b1918; + color: #a8a19f; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/atelier-forest-light.css b/media/hljs/styles/atelier-forest-light.css new file mode 100644 index 0000000..bbedde1 --- /dev/null +++ b/media/hljs/styles/atelier-forest-light.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Forest Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Forest Comment */ +.hljs-comment, +.hljs-quote { + color: #766e6b; +} + +/* Atelier-Forest Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #f22c40; +} + +/* Atelier-Forest Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #df5320; +} + +/* Atelier-Forest Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #7b9726; +} + +/* Atelier-Forest Blue */ +.hljs-title, +.hljs-section { + color: #407ee7; +} + +/* Atelier-Forest Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #6666ea; +} + +.hljs { + display: block; + overflow-x: auto; + background: #f1efee; + color: #68615e; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/atelier-heath-dark.css b/media/hljs/styles/atelier-heath-dark.css new file mode 100644 index 0000000..fe01ff7 --- /dev/null +++ b/media/hljs/styles/atelier-heath-dark.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Heath Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Heath Comment */ +.hljs-comment, +.hljs-quote { + color: #9e8f9e; +} + +/* Atelier-Heath Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #ca402b; +} + +/* Atelier-Heath Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #a65926; +} + +/* Atelier-Heath Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #918b3b; +} + +/* Atelier-Heath Blue */ +.hljs-title, +.hljs-section { + color: #516aec; +} + +/* Atelier-Heath Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #7b59c0; +} + +.hljs { + display: block; + overflow-x: auto; + background: #1b181b; + color: #ab9bab; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/atelier-heath-light.css b/media/hljs/styles/atelier-heath-light.css new file mode 100644 index 0000000..ee43786 --- /dev/null +++ b/media/hljs/styles/atelier-heath-light.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Heath Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Heath Comment */ +.hljs-comment, +.hljs-quote { + color: #776977; +} + +/* Atelier-Heath Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #ca402b; +} + +/* Atelier-Heath Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #a65926; +} + +/* Atelier-Heath Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #918b3b; +} + +/* Atelier-Heath Blue */ +.hljs-title, +.hljs-section { + color: #516aec; +} + +/* Atelier-Heath Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #7b59c0; +} + +.hljs { + display: block; + overflow-x: auto; + background: #f7f3f7; + color: #695d69; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/atelier-lakeside-dark.css b/media/hljs/styles/atelier-lakeside-dark.css new file mode 100644 index 0000000..a937d3b --- /dev/null +++ b/media/hljs/styles/atelier-lakeside-dark.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Lakeside Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Lakeside Comment */ +.hljs-comment, +.hljs-quote { + color: #7195a8; +} + +/* Atelier-Lakeside Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #d22d72; +} + +/* Atelier-Lakeside Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #935c25; +} + +/* Atelier-Lakeside Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #568c3b; +} + +/* Atelier-Lakeside Blue */ +.hljs-title, +.hljs-section { + color: #257fad; +} + +/* Atelier-Lakeside Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #6b6bb8; +} + +.hljs { + display: block; + overflow-x: auto; + background: #161b1d; + color: #7ea2b4; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/atelier-lakeside-light.css b/media/hljs/styles/atelier-lakeside-light.css new file mode 100644 index 0000000..6c7e8f9 --- /dev/null +++ b/media/hljs/styles/atelier-lakeside-light.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Lakeside Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Lakeside Comment */ +.hljs-comment, +.hljs-quote { + color: #5a7b8c; +} + +/* Atelier-Lakeside Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #d22d72; +} + +/* Atelier-Lakeside Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #935c25; +} + +/* Atelier-Lakeside Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #568c3b; +} + +/* Atelier-Lakeside Blue */ +.hljs-title, +.hljs-section { + color: #257fad; +} + +/* Atelier-Lakeside Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #6b6bb8; +} + +.hljs { + display: block; + overflow-x: auto; + background: #ebf8ff; + color: #516d7b; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/atelier-plateau-dark.css b/media/hljs/styles/atelier-plateau-dark.css new file mode 100644 index 0000000..3bb0526 --- /dev/null +++ b/media/hljs/styles/atelier-plateau-dark.css @@ -0,0 +1,84 @@ +/* Base16 Atelier Plateau Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/plateau) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Plateau Comment */ +.hljs-comment, +.hljs-quote { + color: #7e7777; +} + +/* Atelier-Plateau Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #ca4949; +} + +/* Atelier-Plateau Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #b45a3c; +} + +/* Atelier-Plateau Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #4b8b8b; +} + +/* Atelier-Plateau Blue */ +.hljs-title, +.hljs-section { + color: #7272ca; +} + +/* Atelier-Plateau Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #8464c4; +} + +.hljs-deletion, +.hljs-addition { + color: #1b1818; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #ca4949; +} + +.hljs-addition { + background-color: #4b8b8b; +} + +.hljs { + display: block; + overflow-x: auto; + background: #1b1818; + color: #8a8585; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/atelier-plateau-light.css b/media/hljs/styles/atelier-plateau-light.css new file mode 100644 index 0000000..5f0222b --- /dev/null +++ b/media/hljs/styles/atelier-plateau-light.css @@ -0,0 +1,84 @@ +/* Base16 Atelier Plateau Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/plateau) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Plateau Comment */ +.hljs-comment, +.hljs-quote { + color: #655d5d; +} + +/* Atelier-Plateau Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #ca4949; +} + +/* Atelier-Plateau Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #b45a3c; +} + +/* Atelier-Plateau Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #4b8b8b; +} + +/* Atelier-Plateau Blue */ +.hljs-title, +.hljs-section { + color: #7272ca; +} + +/* Atelier-Plateau Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #8464c4; +} + +.hljs-deletion, +.hljs-addition { + color: #1b1818; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #ca4949; +} + +.hljs-addition { + background-color: #4b8b8b; +} + +.hljs { + display: block; + overflow-x: auto; + background: #f4ecec; + color: #585050; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/atelier-savanna-dark.css b/media/hljs/styles/atelier-savanna-dark.css new file mode 100644 index 0000000..38f8314 --- /dev/null +++ b/media/hljs/styles/atelier-savanna-dark.css @@ -0,0 +1,84 @@ +/* Base16 Atelier Savanna Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/savanna) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Savanna Comment */ +.hljs-comment, +.hljs-quote { + color: #78877d; +} + +/* Atelier-Savanna Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #b16139; +} + +/* Atelier-Savanna Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #9f713c; +} + +/* Atelier-Savanna Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #489963; +} + +/* Atelier-Savanna Blue */ +.hljs-title, +.hljs-section { + color: #478c90; +} + +/* Atelier-Savanna Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #55859b; +} + +.hljs-deletion, +.hljs-addition { + color: #171c19; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #b16139; +} + +.hljs-addition { + background-color: #489963; +} + +.hljs { + display: block; + overflow-x: auto; + background: #171c19; + color: #87928a; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/atelier-savanna-light.css b/media/hljs/styles/atelier-savanna-light.css new file mode 100644 index 0000000..1ccd7c6 --- /dev/null +++ b/media/hljs/styles/atelier-savanna-light.css @@ -0,0 +1,84 @@ +/* Base16 Atelier Savanna Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/savanna) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Savanna Comment */ +.hljs-comment, +.hljs-quote { + color: #5f6d64; +} + +/* Atelier-Savanna Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #b16139; +} + +/* Atelier-Savanna Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #9f713c; +} + +/* Atelier-Savanna Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #489963; +} + +/* Atelier-Savanna Blue */ +.hljs-title, +.hljs-section { + color: #478c90; +} + +/* Atelier-Savanna Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #55859b; +} + +.hljs-deletion, +.hljs-addition { + color: #171c19; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #b16139; +} + +.hljs-addition { + background-color: #489963; +} + +.hljs { + display: block; + overflow-x: auto; + background: #ecf4ee; + color: #526057; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/atelier-seaside-dark.css b/media/hljs/styles/atelier-seaside-dark.css new file mode 100644 index 0000000..df29949 --- /dev/null +++ b/media/hljs/styles/atelier-seaside-dark.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Seaside Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Seaside Comment */ +.hljs-comment, +.hljs-quote { + color: #809980; +} + +/* Atelier-Seaside Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #e6193c; +} + +/* Atelier-Seaside Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #87711d; +} + +/* Atelier-Seaside Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #29a329; +} + +/* Atelier-Seaside Blue */ +.hljs-title, +.hljs-section { + color: #3d62f5; +} + +/* Atelier-Seaside Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #ad2bee; +} + +.hljs { + display: block; + overflow-x: auto; + background: #131513; + color: #8ca68c; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/atelier-seaside-light.css b/media/hljs/styles/atelier-seaside-light.css new file mode 100644 index 0000000..9d960f2 --- /dev/null +++ b/media/hljs/styles/atelier-seaside-light.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Seaside Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Seaside Comment */ +.hljs-comment, +.hljs-quote { + color: #687d68; +} + +/* Atelier-Seaside Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #e6193c; +} + +/* Atelier-Seaside Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #87711d; +} + +/* Atelier-Seaside Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #29a329; +} + +/* Atelier-Seaside Blue */ +.hljs-title, +.hljs-section { + color: #3d62f5; +} + +/* Atelier-Seaside Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #ad2bee; +} + +.hljs { + display: block; + overflow-x: auto; + background: #f4fbf4; + color: #5e6e5e; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/atelier-sulphurpool-dark.css b/media/hljs/styles/atelier-sulphurpool-dark.css new file mode 100644 index 0000000..c2ab793 --- /dev/null +++ b/media/hljs/styles/atelier-sulphurpool-dark.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Sulphurpool Dark - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Sulphurpool Comment */ +.hljs-comment, +.hljs-quote { + color: #898ea4; +} + +/* Atelier-Sulphurpool Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #c94922; +} + +/* Atelier-Sulphurpool Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #c76b29; +} + +/* Atelier-Sulphurpool Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #ac9739; +} + +/* Atelier-Sulphurpool Blue */ +.hljs-title, +.hljs-section { + color: #3d8fd1; +} + +/* Atelier-Sulphurpool Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #6679cc; +} + +.hljs { + display: block; + overflow-x: auto; + background: #202746; + color: #979db4; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/atelier-sulphurpool-light.css b/media/hljs/styles/atelier-sulphurpool-light.css new file mode 100644 index 0000000..96c47d0 --- /dev/null +++ b/media/hljs/styles/atelier-sulphurpool-light.css @@ -0,0 +1,69 @@ +/* Base16 Atelier Sulphurpool Light - Theme */ +/* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) */ +/* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ + +/* Atelier-Sulphurpool Comment */ +.hljs-comment, +.hljs-quote { + color: #6b7394; +} + +/* Atelier-Sulphurpool Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #c94922; +} + +/* Atelier-Sulphurpool Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #c76b29; +} + +/* Atelier-Sulphurpool Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #ac9739; +} + +/* Atelier-Sulphurpool Blue */ +.hljs-title, +.hljs-section { + color: #3d8fd1; +} + +/* Atelier-Sulphurpool Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #6679cc; +} + +.hljs { + display: block; + overflow-x: auto; + background: #f5f7ff; + color: #5e6687; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/atom-one-dark-reasonable.css b/media/hljs/styles/atom-one-dark-reasonable.css new file mode 100644 index 0000000..0a43fe2 --- /dev/null +++ b/media/hljs/styles/atom-one-dark-reasonable.css @@ -0,0 +1,75 @@ +/* + +Atom One Dark With support for ReasonML by Gidi Morris, based off work by Daniel Gamage + +Original One Dark Syntax theme from https://github.com/atom/one-dark-syntax + +*/ +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #abb2bf; + background: #282c34; +} +.hljs-keyword, .hljs-operator { + color: #F92672; +} +.hljs-pattern-match { + color: #F92672; +} +.hljs-pattern-match .hljs-constructor { + color: #61aeee; +} +.hljs-function { + color: #61aeee; +} +.hljs-function .hljs-params { + color: #A6E22E; +} +.hljs-function .hljs-params .hljs-typing { + color: #FD971F; +} +.hljs-module-access .hljs-module { + color: #7e57c2; +} +.hljs-constructor { + color: #e2b93d; +} +.hljs-constructor .hljs-string { + color: #9CCC65; +} +.hljs-comment, .hljs-quote { + color: #b18eb1; + font-style: italic; +} +.hljs-doctag, .hljs-formula { + color: #c678dd; +} +.hljs-section, .hljs-name, .hljs-selector-tag, .hljs-deletion, .hljs-subst { + color: #e06c75; +} +.hljs-literal { + color: #56b6c2; +} +.hljs-string, .hljs-regexp, .hljs-addition, .hljs-attribute, .hljs-meta-string { + color: #98c379; +} +.hljs-built_in, .hljs-class .hljs-title { + color: #e6c07b; +} +.hljs-attr, .hljs-variable, .hljs-template-variable, .hljs-type, .hljs-selector-class, .hljs-selector-attr, .hljs-selector-pseudo, .hljs-number { + color: #d19a66; +} +.hljs-symbol, .hljs-bullet, .hljs-link, .hljs-meta, .hljs-selector-id, .hljs-title { + color: #61aeee; +} +.hljs-emphasis { + font-style: italic; +} +.hljs-strong { + font-weight: bold; +} +.hljs-link { + text-decoration: underline; +} diff --git a/media/hljs/styles/atom-one-dark.css b/media/hljs/styles/atom-one-dark.css new file mode 100644 index 0000000..1616aaf --- /dev/null +++ b/media/hljs/styles/atom-one-dark.css @@ -0,0 +1,96 @@ +/* + +Atom One Dark by Daniel Gamage +Original One Dark Syntax theme from https://github.com/atom/one-dark-syntax + +base: #282c34 +mono-1: #abb2bf +mono-2: #818896 +mono-3: #5c6370 +hue-1: #56b6c2 +hue-2: #61aeee +hue-3: #c678dd +hue-4: #98c379 +hue-5: #e06c75 +hue-5-2: #be5046 +hue-6: #d19a66 +hue-6-2: #e6c07b + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #abb2bf; + background: #282c34; +} + +.hljs-comment, +.hljs-quote { + color: #5c6370; + font-style: italic; +} + +.hljs-doctag, +.hljs-keyword, +.hljs-formula { + color: #c678dd; +} + +.hljs-section, +.hljs-name, +.hljs-selector-tag, +.hljs-deletion, +.hljs-subst { + color: #e06c75; +} + +.hljs-literal { + color: #56b6c2; +} + +.hljs-string, +.hljs-regexp, +.hljs-addition, +.hljs-attribute, +.hljs-meta-string { + color: #98c379; +} + +.hljs-built_in, +.hljs-class .hljs-title { + color: #e6c07b; +} + +.hljs-attr, +.hljs-variable, +.hljs-template-variable, +.hljs-type, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-number { + color: #d19a66; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-link, +.hljs-meta, +.hljs-selector-id, +.hljs-title { + color: #61aeee; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-link { + text-decoration: underline; +} diff --git a/media/hljs/styles/atom-one-light.css b/media/hljs/styles/atom-one-light.css new file mode 100644 index 0000000..d5bd1d2 --- /dev/null +++ b/media/hljs/styles/atom-one-light.css @@ -0,0 +1,96 @@ +/* + +Atom One Light by Daniel Gamage +Original One Light Syntax theme from https://github.com/atom/one-light-syntax + +base: #fafafa +mono-1: #383a42 +mono-2: #686b77 +mono-3: #a0a1a7 +hue-1: #0184bb +hue-2: #4078f2 +hue-3: #a626a4 +hue-4: #50a14f +hue-5: #e45649 +hue-5-2: #c91243 +hue-6: #986801 +hue-6-2: #c18401 + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #383a42; + background: #fafafa; +} + +.hljs-comment, +.hljs-quote { + color: #a0a1a7; + font-style: italic; +} + +.hljs-doctag, +.hljs-keyword, +.hljs-formula { + color: #a626a4; +} + +.hljs-section, +.hljs-name, +.hljs-selector-tag, +.hljs-deletion, +.hljs-subst { + color: #e45649; +} + +.hljs-literal { + color: #0184bb; +} + +.hljs-string, +.hljs-regexp, +.hljs-addition, +.hljs-attribute, +.hljs-meta-string { + color: #50a14f; +} + +.hljs-built_in, +.hljs-class .hljs-title { + color: #c18401; +} + +.hljs-attr, +.hljs-variable, +.hljs-template-variable, +.hljs-type, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-number { + color: #986801; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-link, +.hljs-meta, +.hljs-selector-id, +.hljs-title { + color: #4078f2; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-link { + text-decoration: underline; +} diff --git a/media/hljs/styles/brown-paper.css b/media/hljs/styles/brown-paper.css new file mode 100644 index 0000000..f0197b9 --- /dev/null +++ b/media/hljs/styles/brown-paper.css @@ -0,0 +1,64 @@ +/* + +Brown Paper style from goldblog.com.ua (c) Zaripov Yura + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background:#b7a68e url(./brown-papersq.png); +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal { + color:#005599; + font-weight:bold; +} + +.hljs, +.hljs-subst { + color: #363c69; +} + +.hljs-string, +.hljs-title, +.hljs-section, +.hljs-type, +.hljs-attribute, +.hljs-symbol, +.hljs-bullet, +.hljs-built_in, +.hljs-addition, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable, +.hljs-link, +.hljs-name { + color: #2c009f; +} + +.hljs-comment, +.hljs-quote, +.hljs-meta, +.hljs-deletion { + color: #802022; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-doctag, +.hljs-title, +.hljs-section, +.hljs-type, +.hljs-name, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/media/hljs/styles/codepen-embed.css b/media/hljs/styles/codepen-embed.css new file mode 100644 index 0000000..195c4a0 --- /dev/null +++ b/media/hljs/styles/codepen-embed.css @@ -0,0 +1,60 @@ +/* + codepen.io Embed Theme + Author: Justin Perry + Original theme - https://github.com/chriskempson/tomorrow-theme +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #222; + color: #fff; +} + +.hljs-comment, +.hljs-quote { + color: #777; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-regexp, +.hljs-meta, +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-params, +.hljs-symbol, +.hljs-bullet, +.hljs-link, +.hljs-deletion { + color: #ab875d; +} + +.hljs-section, +.hljs-title, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-type, +.hljs-attribute { + color: #9b869b; +} + +.hljs-string, +.hljs-keyword, +.hljs-selector-tag, +.hljs-addition { + color: #8f9c6c; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/color-brewer.css b/media/hljs/styles/color-brewer.css new file mode 100644 index 0000000..7934d98 --- /dev/null +++ b/media/hljs/styles/color-brewer.css @@ -0,0 +1,71 @@ +/* + +Colorbrewer theme +Original: https://github.com/mbostock/colorbrewer-theme (c) Mike Bostock +Ported by Fabrício Tavares de Oliveira + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #fff; +} + +.hljs, +.hljs-subst { + color: #000; +} + +.hljs-string, +.hljs-meta, +.hljs-symbol, +.hljs-template-tag, +.hljs-template-variable, +.hljs-addition { + color: #756bb1; +} + +.hljs-comment, +.hljs-quote { + color: #636363; +} + +.hljs-number, +.hljs-regexp, +.hljs-literal, +.hljs-bullet, +.hljs-link { + color: #31a354; +} + +.hljs-deletion, +.hljs-variable { + color: #88f; +} + + + +.hljs-keyword, +.hljs-selector-tag, +.hljs-title, +.hljs-section, +.hljs-built_in, +.hljs-doctag, +.hljs-type, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-strong { + color: #3182bd; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-attribute { + color: #e6550d; +} diff --git a/media/hljs/styles/darcula.css b/media/hljs/styles/darcula.css new file mode 100644 index 0000000..4c734f1 --- /dev/null +++ b/media/hljs/styles/darcula.css @@ -0,0 +1,74 @@ +/* + +Darcula color scheme from the JetBrains family of IDEs + +*/ + + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #2b2b2b; + color: #bababa; +} + +.hljs-strong, +.hljs-emphasis { + color: #a8a8a2; +} + +.hljs-bullet, +.hljs-quote, +.hljs-link, +.hljs-number, +.hljs-regexp, +.hljs-literal { + color: #6896ba; +} + +.hljs-code, +.hljs-selector-class { + color: #a6e22e; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-section, +.hljs-attribute, +.hljs-name, +.hljs-variable { + color: #cb7832; +} + +.hljs-params { + color: #b9b9b9; +} + +.hljs-string { + color: #6a8759; +} + +.hljs-subst, +.hljs-type, +.hljs-built_in, +.hljs-builtin-name, +.hljs-symbol, +.hljs-selector-id, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-template-tag, +.hljs-template-variable, +.hljs-addition { + color: #e0c46c; +} + +.hljs-comment, +.hljs-deletion, +.hljs-meta { + color: #7f7f7f; +} diff --git a/media/hljs/styles/dark.css b/media/hljs/styles/dark.css new file mode 100644 index 0000000..b4724f5 --- /dev/null +++ b/media/hljs/styles/dark.css @@ -0,0 +1,63 @@ +/* + +Dark style from softwaremaniacs.org (c) Ivan Sagalaev + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #444; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-section, +.hljs-link { + color: white; +} + +.hljs, +.hljs-subst { + color: #ddd; +} + +.hljs-string, +.hljs-title, +.hljs-name, +.hljs-type, +.hljs-attribute, +.hljs-symbol, +.hljs-bullet, +.hljs-built_in, +.hljs-addition, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable { + color: #d88; +} + +.hljs-comment, +.hljs-quote, +.hljs-deletion, +.hljs-meta { + color: #777; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-title, +.hljs-section, +.hljs-doctag, +.hljs-type, +.hljs-name, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/media/hljs/styles/darkula.css b/media/hljs/styles/darkula.css new file mode 100644 index 0000000..f4646c3 --- /dev/null +++ b/media/hljs/styles/darkula.css @@ -0,0 +1,6 @@ +/* + Deprecated due to a typo in the name and left here for compatibility purpose only. + Please use darcula.css instead. +*/ + +@import url('darcula.css'); diff --git a/media/hljs/styles/default.css b/media/hljs/styles/default.css new file mode 100644 index 0000000..f1bfade --- /dev/null +++ b/media/hljs/styles/default.css @@ -0,0 +1,99 @@ +/* + +Original highlight.js style (c) Ivan Sagalaev + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #F0F0F0; +} + + +/* Base color: saturation 0; */ + +.hljs, +.hljs-subst { + color: #444; +} + +.hljs-comment { + color: #888888; +} + +.hljs-keyword, +.hljs-attribute, +.hljs-selector-tag, +.hljs-meta-keyword, +.hljs-doctag, +.hljs-name { + font-weight: bold; +} + + +/* User color: hue: 0 */ + +.hljs-type, +.hljs-string, +.hljs-number, +.hljs-selector-id, +.hljs-selector-class, +.hljs-quote, +.hljs-template-tag, +.hljs-deletion { + color: #880000; +} + +.hljs-title, +.hljs-section { + color: #880000; + font-weight: bold; +} + +.hljs-regexp, +.hljs-symbol, +.hljs-variable, +.hljs-template-variable, +.hljs-link, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #BC6060; +} + + +/* Language color: hue: 90; */ + +.hljs-literal { + color: #78A960; +} + +.hljs-built_in, +.hljs-bullet, +.hljs-code, +.hljs-addition { + color: #397300; +} + + +/* Meta color: hue: 200 */ + +.hljs-meta { + color: #1f7199; +} + +.hljs-meta-string { + color: #4d99bf; +} + + +/* Misc effects */ + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/docco.css b/media/hljs/styles/docco.css new file mode 100644 index 0000000..db366be --- /dev/null +++ b/media/hljs/styles/docco.css @@ -0,0 +1,97 @@ +/* +Docco style used in http://jashkenas.github.com/docco/ converted by Simon Madine (@thingsinjars) +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #000; + background: #f8f8ff; +} + +.hljs-comment, +.hljs-quote { + color: #408080; + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-subst { + color: #954121; +} + +.hljs-number { + color: #40a070; +} + +.hljs-string, +.hljs-doctag { + color: #219161; +} + +.hljs-selector-id, +.hljs-selector-class, +.hljs-section, +.hljs-type { + color: #19469d; +} + +.hljs-params { + color: #00f; +} + +.hljs-title { + color: #458; + font-weight: bold; +} + +.hljs-tag, +.hljs-name, +.hljs-attribute { + color: #000080; + font-weight: normal; +} + +.hljs-variable, +.hljs-template-variable { + color: #008080; +} + +.hljs-regexp, +.hljs-link { + color: #b68; +} + +.hljs-symbol, +.hljs-bullet { + color: #990073; +} + +.hljs-built_in, +.hljs-builtin-name { + color: #0086b3; +} + +.hljs-meta { + color: #999; + font-weight: bold; +} + +.hljs-deletion { + background: #fdd; +} + +.hljs-addition { + background: #dfd; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/dracula.css b/media/hljs/styles/dracula.css new file mode 100644 index 0000000..d591db6 --- /dev/null +++ b/media/hljs/styles/dracula.css @@ -0,0 +1,76 @@ +/* + +Dracula Theme v1.2.0 + +https://github.com/zenorocha/dracula-theme + +Copyright 2015, All rights reserved + +Code licensed under the MIT license +http://zenorocha.mit-license.org + +@author Éverton Ribeiro +@author Zeno Rocha + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #282a36; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-section, +.hljs-link { + color: #8be9fd; +} + +.hljs-function .hljs-keyword { + color: #ff79c6; +} + +.hljs, +.hljs-subst { + color: #f8f8f2; +} + +.hljs-string, +.hljs-title, +.hljs-name, +.hljs-type, +.hljs-attribute, +.hljs-symbol, +.hljs-bullet, +.hljs-addition, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable { + color: #f1fa8c; +} + +.hljs-comment, +.hljs-quote, +.hljs-deletion, +.hljs-meta { + color: #6272a4; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-title, +.hljs-section, +.hljs-doctag, +.hljs-type, +.hljs-name, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/media/hljs/styles/far.css b/media/hljs/styles/far.css new file mode 100644 index 0000000..2b3f87b --- /dev/null +++ b/media/hljs/styles/far.css @@ -0,0 +1,71 @@ +/* + +FAR Style (c) MajestiC + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #000080; +} + +.hljs, +.hljs-subst { + color: #0ff; +} + +.hljs-string, +.hljs-attribute, +.hljs-symbol, +.hljs-bullet, +.hljs-built_in, +.hljs-builtin-name, +.hljs-template-tag, +.hljs-template-variable, +.hljs-addition { + color: #ff0; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-section, +.hljs-type, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-variable { + color: #fff; +} + +.hljs-comment, +.hljs-quote, +.hljs-doctag, +.hljs-deletion { + color: #888; +} + +.hljs-number, +.hljs-regexp, +.hljs-literal, +.hljs-link { + color: #0f0; +} + +.hljs-meta { + color: #008080; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-title, +.hljs-section, +.hljs-name, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/media/hljs/styles/foundation.css b/media/hljs/styles/foundation.css new file mode 100644 index 0000000..67c6e10 --- /dev/null +++ b/media/hljs/styles/foundation.css @@ -0,0 +1,89 @@ +/* +Description: Foundation 4 docs style for highlight.js +Author: Dan Allen +Website: http://foundation.zurb.com/docs/ +Version: 1.0 +Date: 2013-04-02 +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #eee; + color: black; +} + +.hljs-link, +.hljs-emphasis, +.hljs-attribute, +.hljs-addition { + color: #070; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong, +.hljs-string, +.hljs-deletion { + color: #d14; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-quote, +.hljs-comment { + color: #998; + font-style: italic; +} + +.hljs-section, +.hljs-title { + color: #900; +} + +.hljs-class .hljs-title, +.hljs-type { + color: #458; +} + +.hljs-variable, +.hljs-template-variable { + color: #336699; +} + +.hljs-bullet { + color: #997700; +} + +.hljs-meta { + color: #3344bb; +} + +.hljs-code, +.hljs-number, +.hljs-literal, +.hljs-keyword, +.hljs-selector-tag { + color: #099; +} + +.hljs-regexp { + background-color: #fff0ff; + color: #880088; +} + +.hljs-symbol { + color: #990073; +} + +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #007700; +} diff --git a/media/hljs/styles/github-gist.css b/media/hljs/styles/github-gist.css new file mode 100644 index 0000000..18240c8 --- /dev/null +++ b/media/hljs/styles/github-gist.css @@ -0,0 +1,79 @@ +/** + * GitHub Gist Theme + * Author : Anthony Attard - https://github.com/AnthonyAttard + * Author : Louis Barranqueiro - https://github.com/LouisBarranqueiro + */ + +.hljs { + display: block; + background: white; + padding: 0.5em; + color: #333333; + overflow-x: auto; +} + +.hljs-comment, +.hljs-meta { + color: #969896; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-strong, +.hljs-emphasis, +.hljs-quote { + color: #df5000; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-type { + color: #d73a49; +} + +.hljs-literal, +.hljs-symbol, +.hljs-bullet, +.hljs-attribute { + color: #0086b3; +} + +.hljs-section, +.hljs-name { + color: #63a35c; +} + +.hljs-tag { + color: #333333; +} + +.hljs-title, +.hljs-attr, +.hljs-selector-id, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #6f42c1; +} + +.hljs-addition { + color: #55a532; + background-color: #eaffea; +} + +.hljs-deletion { + color: #bd2c00; + background-color: #ffecec; +} + +.hljs-link { + text-decoration: underline; +} + +.hljs-number { + color: #005cc5; +} + +.hljs-string { + color: #032f62; +} diff --git a/media/hljs/styles/github.css b/media/hljs/styles/github.css new file mode 100644 index 0000000..791932b --- /dev/null +++ b/media/hljs/styles/github.css @@ -0,0 +1,99 @@ +/* + +github.com style (c) Vasily Polovnyov + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #333; + background: #f8f8f8; +} + +.hljs-comment, +.hljs-quote { + color: #998; + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-subst { + color: #333; + font-weight: bold; +} + +.hljs-number, +.hljs-literal, +.hljs-variable, +.hljs-template-variable, +.hljs-tag .hljs-attr { + color: #008080; +} + +.hljs-string, +.hljs-doctag { + color: #d14; +} + +.hljs-title, +.hljs-section, +.hljs-selector-id { + color: #900; + font-weight: bold; +} + +.hljs-subst { + font-weight: normal; +} + +.hljs-type, +.hljs-class .hljs-title { + color: #458; + font-weight: bold; +} + +.hljs-tag, +.hljs-name, +.hljs-attribute { + color: #000080; + font-weight: normal; +} + +.hljs-regexp, +.hljs-link { + color: #009926; +} + +.hljs-symbol, +.hljs-bullet { + color: #990073; +} + +.hljs-built_in, +.hljs-builtin-name { + color: #0086b3; +} + +.hljs-meta { + color: #999; + font-weight: bold; +} + +.hljs-deletion { + background: #fdd; +} + +.hljs-addition { + background: #dfd; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/gml.css b/media/hljs/styles/gml.css new file mode 100644 index 0000000..7fff0b8 --- /dev/null +++ b/media/hljs/styles/gml.css @@ -0,0 +1,78 @@ +/* + +GML Theme - Meseta + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #222222; + color: #C0C0C0; +} + +.hljs-keyword { + color: #FFB871; + font-weight: bold; +} + +.hljs-built_in { + color: #FFB871; +} + +.hljs-literal { + color: #FF8080; +} + +.hljs-symbol { + color: #58E55A; +} + +.hljs-comment { + color: #5B995B; +} + +.hljs-string { + color: #FFFF00; +} + +.hljs-number { + color: #FF8080; +} + +.hljs-attribute, +.hljs-selector-tag, +.hljs-doctag, +.hljs-name, +.hljs-bullet, +.hljs-code, +.hljs-addition, +.hljs-regexp, +.hljs-variable, +.hljs-template-variable, +.hljs-link, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-type, +.hljs-selector-id, +.hljs-selector-class, +.hljs-quote, +.hljs-template-tag, +.hljs-deletion, +.hljs-title, +.hljs-section, +.hljs-function, +.hljs-meta-keyword, +.hljs-meta, +.hljs-subst { + color: #C0C0C0; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/googlecode.css b/media/hljs/styles/googlecode.css new file mode 100644 index 0000000..884ad63 --- /dev/null +++ b/media/hljs/styles/googlecode.css @@ -0,0 +1,89 @@ +/* + +Google Code style (c) Aahan Krish + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: white; + color: black; +} + +.hljs-comment, +.hljs-quote { + color: #800; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-section, +.hljs-title, +.hljs-name { + color: #008; +} + +.hljs-variable, +.hljs-template-variable { + color: #660; +} + +.hljs-string, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-regexp { + color: #080; +} + +.hljs-literal, +.hljs-symbol, +.hljs-bullet, +.hljs-meta, +.hljs-number, +.hljs-link { + color: #066; +} + +.hljs-title, +.hljs-doctag, +.hljs-type, +.hljs-attr, +.hljs-built_in, +.hljs-builtin-name, +.hljs-params { + color: #606; +} + +.hljs-attribute, +.hljs-subst { + color: #000; +} + +.hljs-formula { + background-color: #eee; + font-style: italic; +} + +.hljs-selector-id, +.hljs-selector-class { + color: #9B703F +} + +.hljs-addition { + background-color: #baeeba; +} + +.hljs-deletion { + background-color: #ffc8bd; +} + +.hljs-doctag, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/media/hljs/styles/gradient-dark.css b/media/hljs/styles/gradient-dark.css new file mode 100644 index 0000000..ca6d001 --- /dev/null +++ b/media/hljs/styles/gradient-dark.css @@ -0,0 +1,122 @@ +/* + +Gradient Dark (c) Samia Ali + +*/ + +.hljs +{ +display: block; +overflow-x: auto; +padding: 0.5em; +background: rgb(80,31,122); +background: linear-gradient(166deg, rgba(80,31,122,1) 0%, rgba(40,32,179,1) 80%); +color:#e7e4eb; +} + +.hljs-subtr{ + color:#e7e4eb; +} + +.hljs-doctag, +.hljs-meta, +.hljs-comment, +.hljs-quote +{ + color:#af8dd9; +} + +.hljs-selector-tag, +.hljs-selector-id, +.hljs-template-tag, +.hljs-regexp, +.hljs-attr, +.hljs-tag +{ + color:#AEFBFF; +} + +.hljs-params, +.hljs-selector-class, +.hljs-bullet + +{ + color:#F19FFF; + +} + +.hljs-keyword, +.hljs-section, +.hljs-meta-keyword, +.hljs-symbol, +.hljs-type + +{ + + color:#17fc95; +} + +.hljs-addition, +.hljs-number, +.hljs-link +{ + color:#C5FE00; +} + + +.hljs-string +{ + color: #38c0ff; +} + + +.hljs-attribute, +.hljs-addition +{ + color:#E7FF9F; +} + +.hljs-variable, +.hljs-template-variable + +{ + color:#E447FF; +} + +.hljs-builtin-name, +.hljs-built_in, +.hljs-formula, +.hljs-name, +.hljs-title, +.hljs-class, +.hljs-function +{ + color: #FFC800; + +} + +.hljs-selector-pseudo, +.hljs-deletion, +.hljs-literal +{ + color:#FF9E44; + +} + +.hljs-emphasis, +.hljs-quote +{ + font-style:italic; +} + +.hljs-params, +.hljs-selector-class, +.hljs-strong, +.hljs-selector-tag, +.hljs-selector-id, +.hljs-template-tag, +.hljs-section, +.hljs-keyword +{ + font-weight:bold; +} diff --git a/media/hljs/styles/grayscale.css b/media/hljs/styles/grayscale.css new file mode 100644 index 0000000..5376f34 --- /dev/null +++ b/media/hljs/styles/grayscale.css @@ -0,0 +1,101 @@ +/* + +grayscale style (c) MY Sun + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #333; + background: #fff; +} + +.hljs-comment, +.hljs-quote { + color: #777; + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-subst { + color: #333; + font-weight: bold; +} + +.hljs-number, +.hljs-literal { + color: #777; +} + +.hljs-string, +.hljs-doctag, +.hljs-formula { + color: #333; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAJ0lEQVQIW2O8e/fufwYGBgZBQUEQxcCIIfDu3Tuwivfv30NUoAsAALHpFMMLqZlPAAAAAElFTkSuQmCC) repeat; +} + +.hljs-title, +.hljs-section, +.hljs-selector-id { + color: #000; + font-weight: bold; +} + +.hljs-subst { + font-weight: normal; +} + +.hljs-class .hljs-title, +.hljs-type, +.hljs-name { + color: #333; + font-weight: bold; +} + +.hljs-tag { + color: #333; +} + +.hljs-regexp { + color: #333; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAAPUlEQVQYV2NkQAN37979r6yszIgujiIAU4RNMVwhuiQ6H6wQl3XI4oy4FMHcCJPHcDS6J2A2EqUQpJhohQDexSef15DBCwAAAABJRU5ErkJggg==) repeat; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-link { + color: #000; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAKElEQVQIW2NkQAO7d+/+z4gsBhJwdXVlhAvCBECKwIIwAbhKZBUwBQA6hBpm5efZsgAAAABJRU5ErkJggg==) repeat; +} + +.hljs-built_in, +.hljs-builtin-name { + color: #000; + text-decoration: underline; +} + +.hljs-meta { + color: #999; + font-weight: bold; +} + +.hljs-deletion { + color: #fff; + background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAADCAYAAABS3WWCAAAAE0lEQVQIW2MMDQ39zzhz5kwIAQAyxweWgUHd1AAAAABJRU5ErkJggg==) repeat; +} + +.hljs-addition { + color: #000; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAALUlEQVQYV2N89+7dfwYk8P79ewZBQUFkIQZGOiu6e/cuiptQHAPl0NtNxAQBAM97Oejj3Dg7AAAAAElFTkSuQmCC) repeat; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/gruvbox-dark.css b/media/hljs/styles/gruvbox-dark.css new file mode 100644 index 0000000..f563811 --- /dev/null +++ b/media/hljs/styles/gruvbox-dark.css @@ -0,0 +1,108 @@ +/* + +Gruvbox style (dark) (c) Pavel Pertsev (original style at https://github.com/morhetz/gruvbox) + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #282828; +} + +.hljs, +.hljs-subst { + color: #ebdbb2; +} + +/* Gruvbox Red */ +.hljs-deletion, +.hljs-formula, +.hljs-keyword, +.hljs-link, +.hljs-selector-tag { + color: #fb4934; +} + +/* Gruvbox Blue */ +.hljs-built_in, +.hljs-emphasis, +.hljs-name, +.hljs-quote, +.hljs-strong, +.hljs-title, +.hljs-variable { + color: #83a598; +} + +/* Gruvbox Yellow */ +.hljs-attr, +.hljs-params, +.hljs-template-tag, +.hljs-type { + color: #fabd2f; +} + +/* Gruvbox Purple */ +.hljs-builtin-name, +.hljs-doctag, +.hljs-literal, +.hljs-number { + color: #8f3f71; +} + +/* Gruvbox Orange */ +.hljs-code, +.hljs-meta, +.hljs-regexp, +.hljs-selector-id, +.hljs-template-variable { + color: #fe8019; +} + +/* Gruvbox Green */ +.hljs-addition, +.hljs-meta-string, +.hljs-section, +.hljs-selector-attr, +.hljs-selector-class, +.hljs-string, +.hljs-symbol { + color: #b8bb26; +} + +/* Gruvbox Aqua */ +.hljs-attribute, +.hljs-bullet, +.hljs-class, +.hljs-function, +.hljs-function .hljs-keyword, +.hljs-meta-keyword, +.hljs-selector-pseudo, +.hljs-tag { + color: #8ec07c; +} + +/* Gruvbox Gray */ +.hljs-comment { + color: #928374; +} + +/* Gruvbox Purple */ +.hljs-link_label, +.hljs-literal, +.hljs-number { + color: #d3869b; +} + +.hljs-comment, +.hljs-emphasis { + font-style: italic; +} + +.hljs-section, +.hljs-strong, +.hljs-tag { + font-weight: bold; +} diff --git a/media/hljs/styles/gruvbox-light.css b/media/hljs/styles/gruvbox-light.css new file mode 100644 index 0000000..ff45468 --- /dev/null +++ b/media/hljs/styles/gruvbox-light.css @@ -0,0 +1,108 @@ +/* + +Gruvbox style (light) (c) Pavel Pertsev (original style at https://github.com/morhetz/gruvbox) + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #fbf1c7; +} + +.hljs, +.hljs-subst { + color: #3c3836; +} + +/* Gruvbox Red */ +.hljs-deletion, +.hljs-formula, +.hljs-keyword, +.hljs-link, +.hljs-selector-tag { + color: #9d0006; +} + +/* Gruvbox Blue */ +.hljs-built_in, +.hljs-emphasis, +.hljs-name, +.hljs-quote, +.hljs-strong, +.hljs-title, +.hljs-variable { + color: #076678; +} + +/* Gruvbox Yellow */ +.hljs-attr, +.hljs-params, +.hljs-template-tag, +.hljs-type { + color: #b57614; +} + +/* Gruvbox Purple */ +.hljs-builtin-name, +.hljs-doctag, +.hljs-literal, +.hljs-number { + color: #8f3f71; +} + +/* Gruvbox Orange */ +.hljs-code, +.hljs-meta, +.hljs-regexp, +.hljs-selector-id, +.hljs-template-variable { + color: #af3a03; +} + +/* Gruvbox Green */ +.hljs-addition, +.hljs-meta-string, +.hljs-section, +.hljs-selector-attr, +.hljs-selector-class, +.hljs-string, +.hljs-symbol { + color: #79740e; +} + +/* Gruvbox Aqua */ +.hljs-attribute, +.hljs-bullet, +.hljs-class, +.hljs-function, +.hljs-function .hljs-keyword, +.hljs-meta-keyword, +.hljs-selector-pseudo, +.hljs-tag { + color: #427b58; +} + +/* Gruvbox Gray */ +.hljs-comment { + color: #928374; +} + +/* Gruvbox Purple */ +.hljs-link_label, +.hljs-literal, +.hljs-number { + color: #8f3f71; +} + +.hljs-comment, +.hljs-emphasis { + font-style: italic; +} + +.hljs-section, +.hljs-strong, +.hljs-tag { + font-weight: bold; +} diff --git a/media/hljs/styles/hopscotch.css b/media/hljs/styles/hopscotch.css new file mode 100644 index 0000000..5934601 --- /dev/null +++ b/media/hljs/styles/hopscotch.css @@ -0,0 +1,84 @@ +/* + * Hopscotch + * by Jan T. Sott + * https://github.com/idleberg/Hopscotch + * + * This work is licensed under the Creative Commons CC0 1.0 Universal License + */ + +/* Comment */ +.hljs-comment, +.hljs-quote { + color: #989498; +} + +/* Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-link, +.hljs-deletion { + color: #dd464c; +} + +/* Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #fd8b19; +} + +/* Yellow */ +.hljs-class .hljs-title { + color: #fdcc59; +} + +/* Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #8fc13e; +} + +/* Aqua */ +.hljs-meta { + color: #149b93; +} + +/* Blue */ +.hljs-function, +.hljs-section, +.hljs-title { + color: #1290bf; +} + +/* Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #c85e7c; +} + +.hljs { + display: block; + overflow-x: auto; + background: #322931; + color: #b9b5b8; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/hybrid.css b/media/hljs/styles/hybrid.css new file mode 100644 index 0000000..29735a1 --- /dev/null +++ b/media/hljs/styles/hybrid.css @@ -0,0 +1,102 @@ +/* + +vim-hybrid theme by w0ng (https://github.com/w0ng/vim-hybrid) + +*/ + +/*background color*/ +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #1d1f21; +} + +/*selection color*/ +.hljs::selection, +.hljs span::selection { + background: #373b41; +} + +.hljs::-moz-selection, +.hljs span::-moz-selection { + background: #373b41; +} + +/*foreground color*/ +.hljs { + color: #c5c8c6; +} + +/*color: fg_yellow*/ +.hljs-title, +.hljs-name { + color: #f0c674; +} + +/*color: fg_comment*/ +.hljs-comment, +.hljs-meta, +.hljs-meta .hljs-keyword { + color: #707880; +} + +/*color: fg_red*/ +.hljs-number, +.hljs-symbol, +.hljs-literal, +.hljs-deletion, +.hljs-link { + color: #cc6666 +} + +/*color: fg_green*/ +.hljs-string, +.hljs-doctag, +.hljs-addition, +.hljs-regexp, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #b5bd68; +} + +/*color: fg_purple*/ +.hljs-attribute, +.hljs-code, +.hljs-selector-id { + color: #b294bb; +} + +/*color: fg_blue*/ +.hljs-keyword, +.hljs-selector-tag, +.hljs-bullet, +.hljs-tag { + color: #81a2be; +} + +/*color: fg_aqua*/ +.hljs-subst, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable { + color: #8abeb7; +} + +/*color: fg_orange*/ +.hljs-type, +.hljs-built_in, +.hljs-builtin-name, +.hljs-quote, +.hljs-section, +.hljs-selector-class { + color: #de935f; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/idea.css b/media/hljs/styles/idea.css new file mode 100644 index 0000000..3bf1892 --- /dev/null +++ b/media/hljs/styles/idea.css @@ -0,0 +1,97 @@ +/* + +Intellij Idea-like styling (c) Vasily Polovnyov + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #000; + background: #fff; +} + +.hljs-subst, +.hljs-title { + font-weight: normal; + color: #000; +} + +.hljs-comment, +.hljs-quote { + color: #808080; + font-style: italic; +} + +.hljs-meta { + color: #808000; +} + +.hljs-tag { + background: #efefef; +} + +.hljs-section, +.hljs-name, +.hljs-literal, +.hljs-keyword, +.hljs-selector-tag, +.hljs-type, +.hljs-selector-id, +.hljs-selector-class { + font-weight: bold; + color: #000080; +} + +.hljs-attribute, +.hljs-number, +.hljs-regexp, +.hljs-link { + font-weight: bold; + color: #0000ff; +} + +.hljs-number, +.hljs-regexp, +.hljs-link { + font-weight: normal; +} + +.hljs-string { + color: #008000; + font-weight: bold; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-formula { + color: #000; + background: #d0eded; + font-style: italic; +} + +.hljs-doctag { + text-decoration: underline; +} + +.hljs-variable, +.hljs-template-variable { + color: #660e7a; +} + +.hljs-addition { + background: #baeeba; +} + +.hljs-deletion { + background: #ffc8bd; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/ir-black.css b/media/hljs/styles/ir-black.css new file mode 100644 index 0000000..bd4c755 --- /dev/null +++ b/media/hljs/styles/ir-black.css @@ -0,0 +1,73 @@ +/* + IR_Black style (c) Vasily Mikhailitchenko +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #000; + color: #f8f8f8; +} + +.hljs-comment, +.hljs-quote, +.hljs-meta { + color: #7c7c7c; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-tag, +.hljs-name { + color: #96cbfe; +} + +.hljs-attribute, +.hljs-selector-id { + color: #ffffb6; +} + +.hljs-string, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-addition { + color: #a8ff60; +} + +.hljs-subst { + color: #daefa3; +} + +.hljs-regexp, +.hljs-link { + color: #e9c062; +} + +.hljs-title, +.hljs-section, +.hljs-type, +.hljs-doctag { + color: #ffffb6; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-variable, +.hljs-template-variable, +.hljs-literal { + color: #c6c5fe; +} + +.hljs-number, +.hljs-deletion { + color:#ff73fd; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/isbl-editor-dark.css b/media/hljs/styles/isbl-editor-dark.css new file mode 100644 index 0000000..2f1d95d --- /dev/null +++ b/media/hljs/styles/isbl-editor-dark.css @@ -0,0 +1,112 @@ +/* + +ISBL Editor style dark color scheme (c) Dmitriy Tarasov + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #404040; + color: #f0f0f0; +} + +/* Base color: saturation 0; */ + +.hljs, +.hljs-subst { + color: #f0f0f0; +} + +.hljs-comment { + color: #b5b5b5; + font-style: italic; +} + +.hljs-keyword, +.hljs-attribute, +.hljs-selector-tag, +.hljs-meta-keyword, +.hljs-doctag, +.hljs-name { + color: #f0f0f0; + font-weight: bold; +} + + +/* User color: hue: 0 */ + +.hljs-string { + color: #97bf0d; +} + +.hljs-type, +.hljs-number, +.hljs-selector-id, +.hljs-selector-class, +.hljs-quote, +.hljs-template-tag, +.hljs-deletion { + color: #f0f0f0; +} + +.hljs-title, +.hljs-section { + color: #df471e; +} + +.hljs-title>.hljs-built_in { + color: #81bce9; + font-weight: normal; +} + +.hljs-regexp, +.hljs-symbol, +.hljs-variable, +.hljs-template-variable, +.hljs-link, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #e2c696; +} + +/* Language color: hue: 90; */ + +.hljs-built_in, +.hljs-literal { + color: #97bf0d; + font-weight: bold; +} + +.hljs-bullet, +.hljs-code, +.hljs-addition { + color: #397300; +} + +.hljs-class { + color: #ce9d4d; + font-weight: bold; +} + +/* Meta color: hue: 200 */ + +.hljs-meta { + color: #1f7199; +} + +.hljs-meta-string { + color: #4d99bf; +} + + +/* Misc effects */ + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/isbl-editor-light.css b/media/hljs/styles/isbl-editor-light.css new file mode 100644 index 0000000..5dee9ca --- /dev/null +++ b/media/hljs/styles/isbl-editor-light.css @@ -0,0 +1,111 @@ +/* + +ISBL Editor style light color schemec (c) Dmitriy Tarasov + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: white; + color: black; +} + +/* Base color: saturation 0; */ + +.hljs-subst { + color: black; +} + +.hljs-comment { + color: #555555; + font-style: italic; +} + +.hljs-keyword, +.hljs-attribute, +.hljs-selector-tag, +.hljs-meta-keyword, +.hljs-doctag, +.hljs-name { + color: #000000; + font-weight: bold; +} + + +/* User color: hue: 0 */ + +.hljs-string { + color: #000080; +} + +.hljs-type, +.hljs-number, +.hljs-selector-id, +.hljs-selector-class, +.hljs-quote, +.hljs-template-tag, +.hljs-deletion { + color: #000000; +} + +.hljs-title, +.hljs-section { + color: #fb2c00; +} + +.hljs-title>.hljs-built_in { + color: #008080; + font-weight: normal; +} + +.hljs-regexp, +.hljs-symbol, +.hljs-variable, +.hljs-template-variable, +.hljs-link, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #5e1700; +} + +/* Language color: hue: 90; */ + +.hljs-built_in, +.hljs-literal { + color: #000080; + font-weight: bold; +} + +.hljs-bullet, +.hljs-code, +.hljs-addition { + color: #397300; +} + +.hljs-class { + color: #6f1C00; + font-weight: bold; +} + +/* Meta color: hue: 200 */ + +.hljs-meta { + color: #1f7199; +} + +.hljs-meta-string { + color: #4d99bf; +} + + +/* Misc effects */ + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/kimbie.dark.css b/media/hljs/styles/kimbie.dark.css new file mode 100644 index 0000000..d139cb5 --- /dev/null +++ b/media/hljs/styles/kimbie.dark.css @@ -0,0 +1,74 @@ +/* + Name: Kimbie (dark) + Author: Jan T. Sott + License: Creative Commons Attribution-ShareAlike 4.0 Unported License + URL: https://github.com/idleberg/Kimbie-highlight.js +*/ + +/* Kimbie Comment */ +.hljs-comment, +.hljs-quote { + color: #d6baad; +} + +/* Kimbie Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-meta { + color: #dc3958; +} + +/* Kimbie Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-deletion, +.hljs-link { + color: #f79a32; +} + +/* Kimbie Yellow */ +.hljs-title, +.hljs-section, +.hljs-attribute { + color: #f06431; +} + +/* Kimbie Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #889b4a; +} + +/* Kimbie Purple */ +.hljs-keyword, +.hljs-selector-tag, +.hljs-function { + color: #98676a; +} + +.hljs { + display: block; + overflow-x: auto; + background: #221a0f; + color: #d3af86; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/kimbie.light.css b/media/hljs/styles/kimbie.light.css new file mode 100644 index 0000000..04ff6ed --- /dev/null +++ b/media/hljs/styles/kimbie.light.css @@ -0,0 +1,74 @@ +/* + Name: Kimbie (light) + Author: Jan T. Sott + License: Creative Commons Attribution-ShareAlike 4.0 Unported License + URL: https://github.com/idleberg/Kimbie-highlight.js +*/ + +/* Kimbie Comment */ +.hljs-comment, +.hljs-quote { + color: #a57a4c; +} + +/* Kimbie Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-meta { + color: #dc3958; +} + +/* Kimbie Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-deletion, +.hljs-link { + color: #f79a32; +} + +/* Kimbie Yellow */ +.hljs-title, +.hljs-section, +.hljs-attribute { + color: #f06431; +} + +/* Kimbie Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #889b4a; +} + +/* Kimbie Purple */ +.hljs-keyword, +.hljs-selector-tag, +.hljs-function { + color: #98676a; +} + +.hljs { + display: block; + overflow-x: auto; + background: #fbebd4; + color: #84613d; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/lightfair.css b/media/hljs/styles/lightfair.css new file mode 100644 index 0000000..b5c45e8 --- /dev/null +++ b/media/hljs/styles/lightfair.css @@ -0,0 +1,88 @@ +/* + +Lightfair style (c) Tristian Kelly + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + /* TODO: background? */ +} + +.hljs-name { + color:#01a3a3; +} + +.hljs-tag,.hljs-meta { + color:#778899; +} + +.hljs, +.hljs-subst { + color: #444 +} + +.hljs-comment { + color: #888888 +} + +.hljs-keyword, +.hljs-attribute, +.hljs-selector-tag, +.hljs-meta-keyword, +.hljs-doctag, +.hljs-name { + font-weight: bold +} + +.hljs-type, +.hljs-string, +.hljs-number, +.hljs-selector-id, +.hljs-selector-class, +.hljs-quote, +.hljs-template-tag, +.hljs-deletion { + color: #4286f4 +} + +.hljs-title, +.hljs-section { + color: #4286f4; + font-weight: bold +} + +.hljs-regexp, +.hljs-symbol, +.hljs-variable, +.hljs-template-variable, +.hljs-link, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #BC6060 +} + +.hljs-literal { + color: #62bcbc +} + +.hljs-built_in, +.hljs-bullet, +.hljs-code, +.hljs-addition { + color: #25c6c6 +} + +.hljs-meta-string { + color: #4d99bf +} + +.hljs-emphasis { + font-style: italic +} + +.hljs-strong { + font-weight: bold +} diff --git a/media/hljs/styles/magula.css b/media/hljs/styles/magula.css new file mode 100644 index 0000000..b8003bf --- /dev/null +++ b/media/hljs/styles/magula.css @@ -0,0 +1,70 @@ +/* +Description: Magula style for highligh.js +Author: Ruslan Keba +Website: http://rukeba.com/ +Version: 1.0 +Date: 2009-01-03 +Music: Aphex Twin / Xtal +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background-color: #f4f4f4; + color: black; +} + +.hljs-subst { + color: black; +} + +.hljs-string, +.hljs-title, +.hljs-symbol, +.hljs-bullet, +.hljs-attribute, +.hljs-addition, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable { + color: #050; +} + +.hljs-comment, +.hljs-quote { + color: #777; +} + +.hljs-number, +.hljs-regexp, +.hljs-literal, +.hljs-type, +.hljs-link { + color: #800; +} + +.hljs-deletion, +.hljs-meta { + color: #00e; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-doctag, +.hljs-title, +.hljs-section, +.hljs-built_in, +.hljs-tag, +.hljs-name { + font-weight: bold; + color: navy; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/mono-blue.css b/media/hljs/styles/mono-blue.css new file mode 100644 index 0000000..24a35a3 --- /dev/null +++ b/media/hljs/styles/mono-blue.css @@ -0,0 +1,56 @@ +/* + Five-color theme from a single blue hue. +*/ +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #eaeef3; + color: #00193a; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-title, +.hljs-section, +.hljs-doctag, +.hljs-name, +.hljs-strong { + font-weight: bold; +} + +.hljs-comment { + color: #738191; +} + +.hljs-string, +.hljs-title, +.hljs-section, +.hljs-built_in, +.hljs-literal, +.hljs-type, +.hljs-addition, +.hljs-tag, +.hljs-quote, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #0048ab; +} + +.hljs-meta, +.hljs-subst, +.hljs-symbol, +.hljs-regexp, +.hljs-attribute, +.hljs-deletion, +.hljs-variable, +.hljs-template-variable, +.hljs-link, +.hljs-bullet { + color: #4c81c9; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/media/hljs/styles/monokai-sublime.css b/media/hljs/styles/monokai-sublime.css new file mode 100644 index 0000000..2864170 --- /dev/null +++ b/media/hljs/styles/monokai-sublime.css @@ -0,0 +1,83 @@ +/* + +Monokai Sublime style. Derived from Monokai by noformnocontent http://nn.mit-license.org/ + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #23241f; +} + +.hljs, +.hljs-tag, +.hljs-subst { + color: #f8f8f2; +} + +.hljs-strong, +.hljs-emphasis { + color: #a8a8a2; +} + +.hljs-bullet, +.hljs-quote, +.hljs-number, +.hljs-regexp, +.hljs-literal, +.hljs-link { + color: #ae81ff; +} + +.hljs-code, +.hljs-title, +.hljs-section, +.hljs-selector-class { + color: #a6e22e; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-name, +.hljs-attr { + color: #f92672; +} + +.hljs-symbol, +.hljs-attribute { + color: #66d9ef; +} + +.hljs-params, +.hljs-class .hljs-title { + color: #f8f8f2; +} + +.hljs-string, +.hljs-type, +.hljs-built_in, +.hljs-builtin-name, +.hljs-selector-id, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-addition, +.hljs-variable, +.hljs-template-variable { + color: #e6db74; +} + +.hljs-comment, +.hljs-deletion, +.hljs-meta { + color: #75715e; +} diff --git a/media/hljs/styles/monokai.css b/media/hljs/styles/monokai.css new file mode 100644 index 0000000..af24834 --- /dev/null +++ b/media/hljs/styles/monokai.css @@ -0,0 +1,71 @@ +/* +Monokai style - ported by Luigi Maselli - http://grigio.org +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #272822; + color: #ddd; +} + +.hljs-tag, +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-strong, +.hljs-name { + color: #f92672; +} + +.hljs-code { + color: #66d9ef; +} + +.hljs-class .hljs-title { + color: white; +} + +.hljs-attribute, +.hljs-symbol, +.hljs-regexp, +.hljs-link { + color: #bf79db; +} + +.hljs-string, +.hljs-bullet, +.hljs-subst, +.hljs-title, +.hljs-section, +.hljs-emphasis, +.hljs-type, +.hljs-built_in, +.hljs-builtin-name, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-addition, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable { + color: #a6e22e; +} + +.hljs-comment, +.hljs-quote, +.hljs-deletion, +.hljs-meta { + color: #75715e; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-doctag, +.hljs-title, +.hljs-section, +.hljs-type, +.hljs-selector-id { + font-weight: bold; +} diff --git a/media/hljs/styles/night-owl.css b/media/hljs/styles/night-owl.css new file mode 100644 index 0000000..45f45cd --- /dev/null +++ b/media/hljs/styles/night-owl.css @@ -0,0 +1,182 @@ +/* + +Night Owl for highlight.js (c) Carl Baxter + +An adaptation of Sarah Drasner's Night Owl VS Code Theme +https://github.com/sdras/night-owl-vscode-theme + +Copyright (c) 2018 Sarah Drasner + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #011627; + color: #d6deeb; +} + +/* General Purpose */ +.hljs-keyword { + color: #c792ea; + font-style: italic; +} +.hljs-built_in { + color: #addb67; + font-style: italic; +} +.hljs-type { + color: #82aaff; +} +.hljs-literal { + color: #ff5874; +} +.hljs-number { + color: #F78C6C; +} +.hljs-regexp { + color: #5ca7e4; +} +.hljs-string { + color: #ecc48d; +} +.hljs-subst { + color: #d3423e; +} +.hljs-symbol { + color: #82aaff; +} +.hljs-class { + color: #ffcb8b; +} +.hljs-function { + color: #82AAFF; +} +.hljs-title { + color: #DCDCAA; + font-style: italic; +} +.hljs-params { + color: #7fdbca; +} + +/* Meta */ +.hljs-comment { + color: #637777; + font-style: italic; +} +.hljs-doctag { + color: #7fdbca; +} +.hljs-meta { + color: #82aaff; +} +.hljs-meta-keyword { + color: #82aaff; +} +.hljs-meta-string { + color: #ecc48d; +} + +/* Tags, attributes, config */ +.hljs-section { + color: #82b1ff; +} +.hljs-tag, +.hljs-name, +.hljs-builtin-name { + color: #7fdbca; +} +.hljs-attr { + color: #7fdbca; +} +.hljs-attribute { + color: #80cbc4; +} +.hljs-variable { + color: #addb67; +} + +/* Markup */ +.hljs-bullet { + color: #d9f5dd; +} +.hljs-code { + color: #80CBC4; +} +.hljs-emphasis { + color: #c792ea; + font-style: italic; +} +.hljs-strong { + color: #addb67; + font-weight: bold; +} +.hljs-formula { + color: #c792ea; +} +.hljs-link { + color: #ff869a; +} +.hljs-quote { + color: #697098; + font-style: italic; +} + +/* CSS */ +.hljs-selector-tag { + color: #ff6363; +} + +.hljs-selector-id { + color: #fad430; +} + +.hljs-selector-class { + color: #addb67; + font-style: italic; +} + +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #c792ea; + font-style: italic; +} + +/* Templates */ +.hljs-template-tag { + color: #c792ea; +} +.hljs-template-variable { + color: #addb67; +} + +/* diff */ +.hljs-addition { + color: #addb67ff; + font-style: italic; +} + +.hljs-deletion { + color: #EF535090; + font-style: italic; +} diff --git a/media/hljs/styles/nord.css b/media/hljs/styles/nord.css new file mode 100644 index 0000000..4240384 --- /dev/null +++ b/media/hljs/styles/nord.css @@ -0,0 +1,309 @@ +/* + * Copyright (c) 2017-present Arctic Ice Studio + * Copyright (c) 2017-present Sven Greb + * + * Project: Nord highlight.js + * Version: 0.1.0 + * Repository: https://github.com/arcticicestudio/nord-highlightjs + * License: MIT + * References: + * https://github.com/arcticicestudio/nord + */ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #2E3440; +} + +.hljs, +.hljs-subst { + color: #D8DEE9; +} + +.hljs-selector-tag { + color: #81A1C1; +} + +.hljs-selector-id { + color: #8FBCBB; + font-weight: bold; +} + +.hljs-selector-class { + color: #8FBCBB; +} + +.hljs-selector-attr { + color: #8FBCBB; +} + +.hljs-selector-pseudo { + color: #88C0D0; +} + +.hljs-addition { + background-color: rgba(163, 190, 140, 0.5); +} + +.hljs-deletion { + background-color: rgba(191, 97, 106, 0.5); +} + +.hljs-built_in, +.hljs-type { + color: #8FBCBB; +} + +.hljs-class { + color: #8FBCBB; +} + +.hljs-function { + color: #88C0D0; +} + +.hljs-function > .hljs-title { + color: #88C0D0; +} + +.hljs-keyword, +.hljs-literal, +.hljs-symbol { + color: #81A1C1; +} + +.hljs-number { + color: #B48EAD; +} + +.hljs-regexp { + color: #EBCB8B; +} + +.hljs-string { + color: #A3BE8C; +} + +.hljs-title { + color: #8FBCBB; +} + +.hljs-params { + color: #D8DEE9; +} + +.hljs-bullet { + color: #81A1C1; +} + +.hljs-code { + color: #8FBCBB; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-formula { + color: #8FBCBB; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-link:hover { + text-decoration: underline; +} + +.hljs-quote { + color: #4C566A; +} + +.hljs-comment { + color: #4C566A; +} + +.hljs-doctag { + color: #8FBCBB; +} + +.hljs-meta, +.hljs-meta-keyword { + color: #5E81AC; +} + +.hljs-meta-string { + color: #A3BE8C; +} + +.hljs-attr { + color: #8FBCBB; +} + +.hljs-attribute { + color: #D8DEE9; +} + +.hljs-builtin-name { + color: #81A1C1; +} + +.hljs-name { + color: #81A1C1; +} + +.hljs-section { + color: #88C0D0; +} + +.hljs-tag { + color: #81A1C1; +} + +.hljs-variable { + color: #D8DEE9; +} + +.hljs-template-variable { + color: #D8DEE9; +} + +.hljs-template-tag { + color: #5E81AC; +} + +.abnf .hljs-attribute { + color: #88C0D0; +} + +.abnf .hljs-symbol { + color: #EBCB8B; +} + +.apache .hljs-attribute { + color: #88C0D0; +} + +.apache .hljs-section { + color: #81A1C1; +} + +.arduino .hljs-built_in { + color: #88C0D0; +} + +.aspectj .hljs-meta { + color: #D08770; +} + +.aspectj > .hljs-title { + color: #88C0D0; +} + +.bnf .hljs-attribute { + color: #8FBCBB; +} + +.clojure .hljs-name { + color: #88C0D0; +} + +.clojure .hljs-symbol { + color: #EBCB8B; +} + +.coq .hljs-built_in { + color: #88C0D0; +} + +.cpp .hljs-meta-string { + color: #8FBCBB; +} + +.css .hljs-built_in { + color: #88C0D0; +} + +.css .hljs-keyword { + color: #D08770; +} + +.diff .hljs-meta { + color: #8FBCBB; +} + +.ebnf .hljs-attribute { + color: #8FBCBB; +} + +.glsl .hljs-built_in { + color: #88C0D0; +} + +.groovy .hljs-meta:not(:first-child) { + color: #D08770; +} + +.haxe .hljs-meta { + color: #D08770; +} + +.java .hljs-meta { + color: #D08770; +} + +.ldif .hljs-attribute { + color: #8FBCBB; +} + +.lisp .hljs-name { + color: #88C0D0; +} + +.lua .hljs-built_in { + color: #88C0D0; +} + +.moonscript .hljs-built_in { + color: #88C0D0; +} + +.nginx .hljs-attribute { + color: #88C0D0; +} + +.nginx .hljs-section { + color: #5E81AC; +} + +.pf .hljs-built_in { + color: #88C0D0; +} + +.processing .hljs-built_in { + color: #88C0D0; +} + +.scss .hljs-keyword { + color: #81A1C1; +} + +.stylus .hljs-keyword { + color: #81A1C1; +} + +.swift .hljs-meta { + color: #D08770; +} + +.vim .hljs-built_in { + color: #88C0D0; + font-style: italic; +} + +.yaml .hljs-meta { + color: #D08770; +} diff --git a/media/hljs/styles/obsidian.css b/media/hljs/styles/obsidian.css new file mode 100644 index 0000000..356630f --- /dev/null +++ b/media/hljs/styles/obsidian.css @@ -0,0 +1,88 @@ +/** + * Obsidian style + * ported by Alexander Marenin (http://github.com/ioncreature) + */ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #282b2e; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-selector-id { + color: #93c763; +} + +.hljs-number { + color: #ffcd22; +} + +.hljs { + color: #e0e2e4; +} + +.hljs-attribute { + color: #668bb0; +} + +.hljs-code, +.hljs-class .hljs-title, +.hljs-section { + color: white; +} + +.hljs-regexp, +.hljs-link { + color: #d39745; +} + +.hljs-meta { + color: #557182; +} + +.hljs-tag, +.hljs-name, +.hljs-bullet, +.hljs-subst, +.hljs-emphasis, +.hljs-type, +.hljs-built_in, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-addition, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable { + color: #8cbbad; +} + +.hljs-string, +.hljs-symbol { + color: #ec7600; +} + +.hljs-comment, +.hljs-quote, +.hljs-deletion { + color: #818e96; +} + +.hljs-selector-class { + color: #A082BD +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-doctag, +.hljs-title, +.hljs-section, +.hljs-type, +.hljs-name, +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/ocean.css b/media/hljs/styles/ocean.css new file mode 100644 index 0000000..5901581 --- /dev/null +++ b/media/hljs/styles/ocean.css @@ -0,0 +1,74 @@ +/* Ocean Dark Theme */ +/* https://github.com/gavsiu */ +/* Original theme - https://github.com/chriskempson/base16 */ + +/* Ocean Comment */ +.hljs-comment, +.hljs-quote { + color: #65737e; +} + +/* Ocean Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion { + color: #bf616a; +} + +/* Ocean Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link { + color: #d08770; +} + +/* Ocean Yellow */ +.hljs-attribute { + color: #ebcb8b; +} + +/* Ocean Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #a3be8c; +} + +/* Ocean Blue */ +.hljs-title, +.hljs-section { + color: #8fa1b3; +} + +/* Ocean Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #b48ead; +} + +.hljs { + display: block; + overflow-x: auto; + background: #2b303b; + color: #c0c5ce; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/paraiso-dark.css b/media/hljs/styles/paraiso-dark.css new file mode 100644 index 0000000..e729240 --- /dev/null +++ b/media/hljs/styles/paraiso-dark.css @@ -0,0 +1,72 @@ +/* + Paraíso (dark) + Created by Jan T. Sott (http://github.com/idleberg) + Inspired by the art of Rubens LP (http://www.rubenslp.com.br) +*/ + +/* Paraíso Comment */ +.hljs-comment, +.hljs-quote { + color: #8d8687; +} + +/* Paraíso Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-link, +.hljs-meta { + color: #ef6155; +} + +/* Paraíso Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-deletion { + color: #f99b15; +} + +/* Paraíso Yellow */ +.hljs-title, +.hljs-section, +.hljs-attribute { + color: #fec418; +} + +/* Paraíso Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #48b685; +} + +/* Paraíso Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #815ba4; +} + +.hljs { + display: block; + overflow-x: auto; + background: #2f1e2e; + color: #a39e9b; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/paraiso-light.css b/media/hljs/styles/paraiso-light.css new file mode 100644 index 0000000..944857c --- /dev/null +++ b/media/hljs/styles/paraiso-light.css @@ -0,0 +1,72 @@ +/* + Paraíso (light) + Created by Jan T. Sott (http://github.com/idleberg) + Inspired by the art of Rubens LP (http://www.rubenslp.com.br) +*/ + +/* Paraíso Comment */ +.hljs-comment, +.hljs-quote { + color: #776e71; +} + +/* Paraíso Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-link, +.hljs-meta { + color: #ef6155; +} + +/* Paraíso Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-deletion { + color: #f99b15; +} + +/* Paraíso Yellow */ +.hljs-title, +.hljs-section, +.hljs-attribute { + color: #fec418; +} + +/* Paraíso Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #48b685; +} + +/* Paraíso Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #815ba4; +} + +.hljs { + display: block; + overflow-x: auto; + background: #e7e9db; + color: #4f424c; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/pojoaque.css b/media/hljs/styles/pojoaque.css new file mode 100644 index 0000000..2e07847 --- /dev/null +++ b/media/hljs/styles/pojoaque.css @@ -0,0 +1,83 @@ +/* + +Pojoaque Style by Jason Tate +http://web-cms-designs.com/ftopict-10-pojoaque-style-for-highlight-js-code-highlighter.html +Based on Solarized Style from http://ethanschoonover.com/solarized + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #dccf8f; + background: url(./pojoaque.jpg) repeat scroll left top #181914; +} + +.hljs-comment, +.hljs-quote { + color: #586e75; + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-addition { + color: #b64926; +} + +.hljs-number, +.hljs-string, +.hljs-doctag, +.hljs-regexp { + color: #468966; +} + +.hljs-title, +.hljs-section, +.hljs-built_in, +.hljs-name { + color: #ffb03b; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-class .hljs-title, +.hljs-type, +.hljs-tag { + color: #b58900; +} + +.hljs-attribute { + color: #b89859; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-link, +.hljs-subst, +.hljs-meta { + color: #cb4b16; +} + +.hljs-deletion { + color: #dc322f; +} + +.hljs-selector-id, +.hljs-selector-class { + color: #d3a60c; +} + +.hljs-formula { + background: #073642; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/purebasic.css b/media/hljs/styles/purebasic.css new file mode 100644 index 0000000..20a5230 --- /dev/null +++ b/media/hljs/styles/purebasic.css @@ -0,0 +1,96 @@ +/* + +PureBASIC native IDE style ( version 1.0 - April 2016 ) + +by Tristano Ajmone + +Public Domain + +NOTE_1: PureBASIC code syntax highlighting only applies the following classes: + .hljs-comment + .hljs-function + .hljs-keywords + .hljs-string + .hljs-symbol + + Other classes are added here for the benefit of styling other languages with the look and feel of PureBASIC native IDE style. + If you need to customize a stylesheet for PureBASIC only, remove all non-relevant classes -- PureBASIC-related classes are followed by + a "--- used for PureBASIC ... ---" comment on same line. + +NOTE_2: Color names provided in comments were derived using "Name that Color" online tool: + http://chir.ag/projects/name-that-color +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #FFFFDF; /* Half and Half (approx.) */ +/* --- Uncomment to add PureBASIC native IDE styled font! + font-family: Consolas; +*/ +} + +.hljs, /* --- used for PureBASIC base color --- */ +.hljs-type, /* --- used for PureBASIC Procedures return type --- */ +.hljs-function, /* --- used for wrapping PureBASIC Procedures definitions --- */ +.hljs-name, +.hljs-number, +.hljs-attr, +.hljs-params, +.hljs-subst { + color: #000000; /* Black */ +} + +.hljs-comment, /* --- used for PureBASIC Comments --- */ +.hljs-regexp, +.hljs-section, +.hljs-selector-pseudo, +.hljs-addition { + color: #00AAAA; /* Persian Green (approx.) */ +} + +.hljs-title, /* --- used for PureBASIC Procedures Names --- */ +.hljs-tag, +.hljs-variable, +.hljs-code { + color: #006666; /* Blue Stone (approx.) */ +} + +.hljs-keyword, /* --- used for PureBASIC Keywords --- */ +.hljs-class, +.hljs-meta-keyword, +.hljs-selector-class, +.hljs-built_in, +.hljs-builtin-name { + color: #006666; /* Blue Stone (approx.) */ + font-weight: bold; +} + +.hljs-string, /* --- used for PureBASIC Strings --- */ +.hljs-selector-attr { + color: #0080FF; /* Azure Radiance (approx.) */ +} + +.hljs-symbol, /* --- used for PureBASIC Constants --- */ +.hljs-link, +.hljs-deletion, +.hljs-attribute { + color: #924B72; /* Cannon Pink (approx.) */ +} + +.hljs-meta, +.hljs-literal, +.hljs-selector-id { + color: #924B72; /* Cannon Pink (approx.) */ + font-weight: bold; +} + +.hljs-strong, +.hljs-name { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/media/hljs/styles/qtcreator_dark.css b/media/hljs/styles/qtcreator_dark.css new file mode 100644 index 0000000..7aa56a3 --- /dev/null +++ b/media/hljs/styles/qtcreator_dark.css @@ -0,0 +1,83 @@ +/* + +Qt Creator dark color scheme + +*/ + + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #000000; +} + +.hljs, +.hljs-subst, +.hljs-tag, +.hljs-title { + color: #aaaaaa; +} + +.hljs-strong, +.hljs-emphasis { + color: #a8a8a2; +} + +.hljs-bullet, +.hljs-quote, +.hljs-number, +.hljs-regexp, +.hljs-literal { + color: #ff55ff; +} + +.hljs-code +.hljs-selector-class { + color: #aaaaff; +} + +.hljs-emphasis, +.hljs-stronge, +.hljs-type { + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-function, +.hljs-section, +.hljs-symbol, +.hljs-name { + color: #ffff55; +} + +.hljs-attribute { + color: #ff5555; +} + +.hljs-variable, +.hljs-params, +.hljs-class .hljs-title { + color: #8888ff; +} + +.hljs-string, +.hljs-selector-id, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-type, +.hljs-built_in, +.hljs-builtin-name, +.hljs-template-tag, +.hljs-template-variable, +.hljs-addition, +.hljs-link { + color: #ff55ff; +} + +.hljs-comment, +.hljs-meta, +.hljs-deletion { + color: #55ffff; +} diff --git a/media/hljs/styles/qtcreator_light.css b/media/hljs/styles/qtcreator_light.css new file mode 100644 index 0000000..1efa2c6 --- /dev/null +++ b/media/hljs/styles/qtcreator_light.css @@ -0,0 +1,83 @@ +/* + +Qt Creator light color scheme + +*/ + + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #ffffff; +} + +.hljs, +.hljs-subst, +.hljs-tag, +.hljs-title { + color: #000000; +} + +.hljs-strong, +.hljs-emphasis { + color: #000000; +} + +.hljs-bullet, +.hljs-quote, +.hljs-number, +.hljs-regexp, +.hljs-literal { + color: #000080; +} + +.hljs-code +.hljs-selector-class { + color: #800080; +} + +.hljs-emphasis, +.hljs-stronge, +.hljs-type { + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-function, +.hljs-section, +.hljs-symbol, +.hljs-name { + color: #808000; +} + +.hljs-attribute { + color: #800000; +} + +.hljs-variable, +.hljs-params, +.hljs-class .hljs-title { + color: #0055AF; +} + +.hljs-string, +.hljs-selector-id, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-type, +.hljs-built_in, +.hljs-builtin-name, +.hljs-template-tag, +.hljs-template-variable, +.hljs-addition, +.hljs-link { + color: #008000; +} + +.hljs-comment, +.hljs-meta, +.hljs-deletion { + color: #008000; +} diff --git a/media/hljs/styles/railscasts.css b/media/hljs/styles/railscasts.css new file mode 100644 index 0000000..008cdc5 --- /dev/null +++ b/media/hljs/styles/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/media/hljs/styles/rainbow.css b/media/hljs/styles/rainbow.css new file mode 100644 index 0000000..905eb8e --- /dev/null +++ b/media/hljs/styles/rainbow.css @@ -0,0 +1,85 @@ +/* + +Style with support for rainbow parens + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #474949; + color: #d1d9e1; +} + + +.hljs-comment, +.hljs-quote { + color: #969896; + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-type, +.hljs-addition { + color: #cc99cc; +} + +.hljs-number, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #f99157; +} + +.hljs-string, +.hljs-doctag, +.hljs-regexp { + color: #8abeb7; +} + +.hljs-title, +.hljs-name, +.hljs-section, +.hljs-built_in { + color: #b5bd68; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-selector-id, +.hljs-class .hljs-title { + color: #ffcc66; +} + +.hljs-section, +.hljs-name, +.hljs-strong { + font-weight: bold; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-subst, +.hljs-meta, +.hljs-link { + color: #f99157; +} + +.hljs-deletion { + color: #dc322f; +} + +.hljs-formula { + background: #eee8d5; +} + +.hljs-attr, +.hljs-attribute { + color: #81a2be; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/media/hljs/styles/routeros.css b/media/hljs/styles/routeros.css new file mode 100644 index 0000000..ebe2399 --- /dev/null +++ b/media/hljs/styles/routeros.css @@ -0,0 +1,108 @@ +/* + + highlight.js style for Microtik RouterOS script + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #F0F0F0; +} + +/* Base color: saturation 0; */ + +.hljs, +.hljs-subst { + color: #444; +} + +.hljs-comment { + color: #888888; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-meta-keyword, +.hljs-doctag, +.hljs-name { + font-weight: bold; +} + +.hljs-attribute { + color: #0E9A00; +} + +.hljs-function { + color: #99069A; +} + +.hljs-builtin-name { + color: #99069A; +} + +/* User color: hue: 0 */ + +.hljs-type, +.hljs-string, +.hljs-number, +.hljs-selector-id, +.hljs-selector-class, +.hljs-quote, +.hljs-template-tag, +.hljs-deletion { + color: #880000; +} + +.hljs-title, +.hljs-section { + color: #880000; + font-weight: bold; +} + +.hljs-regexp, +.hljs-symbol, +.hljs-variable, +.hljs-template-variable, +.hljs-link, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #BC6060; +} + + +/* Language color: hue: 90; */ + +.hljs-literal { + color: #78A960; +} + +.hljs-built_in, +.hljs-bullet, +.hljs-code, +.hljs-addition { + color: #0C9A9A; +} + + +/* Meta color: hue: 200 */ + +.hljs-meta { + color: #1f7199; +} + +.hljs-meta-string { + color: #4d99bf; +} + + +/* Misc effects */ + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/school-book.css b/media/hljs/styles/school-book.css new file mode 100644 index 0000000..9483851 --- /dev/null +++ b/media/hljs/styles/school-book.css @@ -0,0 +1,69 @@ +/* + +School Book style from goldblog.com.ua (c) Zaripov Yura + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 15px 0.5em 0.5em 30px; + font-size: 11px; + line-height:16px; + background:#f6f6ae url(./school-book.png); + border-top: solid 2px #d2e8b9; + border-bottom: solid 1px #d2e8b9; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal { + color:#005599; + font-weight:bold; +} + +.hljs, +.hljs-subst { + color: #3e5915; +} + +.hljs-string, +.hljs-title, +.hljs-section, +.hljs-type, +.hljs-symbol, +.hljs-bullet, +.hljs-attribute, +.hljs-built_in, +.hljs-builtin-name, +.hljs-addition, +.hljs-variable, +.hljs-template-tag, +.hljs-template-variable, +.hljs-link { + color: #2c009f; +} + +.hljs-comment, +.hljs-quote, +.hljs-deletion, +.hljs-meta { + color: #e60415; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-doctag, +.hljs-title, +.hljs-section, +.hljs-type, +.hljs-name, +.hljs-selector-id, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/media/hljs/styles/shades-of-purple.css b/media/hljs/styles/shades-of-purple.css new file mode 100644 index 0000000..9759cdd --- /dev/null +++ b/media/hljs/styles/shades-of-purple.css @@ -0,0 +1,96 @@ +/** + * Shades of Purple Theme — for Highlightjs. + * + * @author (c) Ahmad Awais + * @link GitHub Repo → https://github.com/ahmadawais/Shades-of-Purple-HighlightJS + * @version 1.5.0 + */ + +.hljs { + display: block; + overflow-x: auto; + /* Custom font is optional */ + /* font-family: 'Operator Mono', 'Fira Code', 'Menlo', 'Monaco', 'Courier New', 'monospace'; */ + padding: 0.5em; + background: #2d2b57; + font-weight: normal; +} + +.hljs-title { + color: #fad000; + font-weight: normal; +} + +.hljs-name { + color: #a1feff; +} + +.hljs-tag { + color: #ffffff; +} + +.hljs-attr { + color: #f8d000; + font-style: italic; +} + +.hljs-built_in, +.hljs-selector-tag, +.hljs-section { + color: #fb9e00; +} + +.hljs-keyword { + color: #fb9e00; +} + +.hljs, +.hljs-subst { + color: #e3dfff; +} + +.hljs-string, +.hljs-attribute, +.hljs-symbol, +.hljs-bullet, +.hljs-addition, +.hljs-code, +.hljs-regexp, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-template-tag, +.hljs-quote, +.hljs-deletion { + color: #4cd213; +} + +.hljs-meta, +.hljs-meta-string { + color: #fb9e00; +} + +.hljs-comment { + color: #ac65ff; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-name, +.hljs-strong { + font-weight: normal; +} + +.hljs-literal, +.hljs-number { + color: #fa658d; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/solarized-dark.css b/media/hljs/styles/solarized-dark.css new file mode 100644 index 0000000..b4c0da1 --- /dev/null +++ b/media/hljs/styles/solarized-dark.css @@ -0,0 +1,84 @@ +/* + +Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #002b36; + color: #839496; +} + +.hljs-comment, +.hljs-quote { + color: #586e75; +} + +/* Solarized Green */ +.hljs-keyword, +.hljs-selector-tag, +.hljs-addition { + color: #859900; +} + +/* Solarized Cyan */ +.hljs-number, +.hljs-string, +.hljs-meta .hljs-meta-string, +.hljs-literal, +.hljs-doctag, +.hljs-regexp { + color: #2aa198; +} + +/* Solarized Blue */ +.hljs-title, +.hljs-section, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #268bd2; +} + +/* Solarized Yellow */ +.hljs-attribute, +.hljs-attr, +.hljs-variable, +.hljs-template-variable, +.hljs-class .hljs-title, +.hljs-type { + color: #b58900; +} + +/* Solarized Orange */ +.hljs-symbol, +.hljs-bullet, +.hljs-subst, +.hljs-meta, +.hljs-meta .hljs-keyword, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-link { + color: #cb4b16; +} + +/* Solarized Red */ +.hljs-built_in, +.hljs-deletion { + color: #dc322f; +} + +.hljs-formula { + background: #073642; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/solarized-light.css b/media/hljs/styles/solarized-light.css new file mode 100644 index 0000000..fdcfcc7 --- /dev/null +++ b/media/hljs/styles/solarized-light.css @@ -0,0 +1,84 @@ +/* + +Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #fdf6e3; + color: #657b83; +} + +.hljs-comment, +.hljs-quote { + color: #93a1a1; +} + +/* Solarized Green */ +.hljs-keyword, +.hljs-selector-tag, +.hljs-addition { + color: #859900; +} + +/* Solarized Cyan */ +.hljs-number, +.hljs-string, +.hljs-meta .hljs-meta-string, +.hljs-literal, +.hljs-doctag, +.hljs-regexp { + color: #2aa198; +} + +/* Solarized Blue */ +.hljs-title, +.hljs-section, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #268bd2; +} + +/* Solarized Yellow */ +.hljs-attribute, +.hljs-attr, +.hljs-variable, +.hljs-template-variable, +.hljs-class .hljs-title, +.hljs-type { + color: #b58900; +} + +/* Solarized Orange */ +.hljs-symbol, +.hljs-bullet, +.hljs-subst, +.hljs-meta, +.hljs-meta .hljs-keyword, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-link { + color: #cb4b16; +} + +/* Solarized Red */ +.hljs-built_in, +.hljs-deletion { + color: #dc322f; +} + +.hljs-formula { + background: #eee8d5; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/sunburst.css b/media/hljs/styles/sunburst.css new file mode 100644 index 0000000..f56dd5e --- /dev/null +++ b/media/hljs/styles/sunburst.css @@ -0,0 +1,102 @@ +/* + +Sunburst-like style (c) Vasily Polovnyov + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #000; + color: #f8f8f8; +} + +.hljs-comment, +.hljs-quote { + color: #aeaeae; + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-type { + color: #e28964; +} + +.hljs-string { + color: #65b042; +} + +.hljs-subst { + color: #daefa3; +} + +.hljs-regexp, +.hljs-link { + color: #e9c062; +} + +.hljs-title, +.hljs-section, +.hljs-tag, +.hljs-name { + color: #89bdff; +} + +.hljs-class .hljs-title, +.hljs-doctag { + text-decoration: underline; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-number { + color: #3387cc; +} + +.hljs-params, +.hljs-variable, +.hljs-template-variable { + color: #3e87e3; +} + +.hljs-attribute { + color: #cda869; +} + +.hljs-meta { + color: #8996a8; +} + +.hljs-formula { + background-color: #0e2231; + color: #f8f8f8; + font-style: italic; +} + +.hljs-addition { + background-color: #253b22; + color: #f8f8f8; +} + +.hljs-deletion { + background-color: #420e09; + color: #f8f8f8; +} + +.hljs-selector-class { + color: #9b703f; +} + +.hljs-selector-id { + color: #8b98ab; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/tomorrow-night-blue.css b/media/hljs/styles/tomorrow-night-blue.css new file mode 100644 index 0000000..78e59cc --- /dev/null +++ b/media/hljs/styles/tomorrow-night-blue.css @@ -0,0 +1,75 @@ +/* Tomorrow Night Blue Theme */ +/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ +/* Original theme - https://github.com/chriskempson/tomorrow-theme */ +/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ + +/* Tomorrow Comment */ +.hljs-comment, +.hljs-quote { + color: #7285b7; +} + +/* Tomorrow Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion { + color: #ff9da4; +} + +/* Tomorrow Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link { + color: #ffc58f; +} + +/* Tomorrow Yellow */ +.hljs-attribute { + color: #ffeead; +} + +/* Tomorrow Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #d1f1a9; +} + +/* Tomorrow Blue */ +.hljs-title, +.hljs-section { + color: #bbdaff; +} + +/* Tomorrow Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #ebbbff; +} + +.hljs { + display: block; + overflow-x: auto; + background: #002451; + color: white; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/tomorrow-night-bright.css b/media/hljs/styles/tomorrow-night-bright.css new file mode 100644 index 0000000..e05af8a --- /dev/null +++ b/media/hljs/styles/tomorrow-night-bright.css @@ -0,0 +1,74 @@ +/* Tomorrow Night Bright Theme */ +/* Original theme - https://github.com/chriskempson/tomorrow-theme */ +/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ + +/* Tomorrow Comment */ +.hljs-comment, +.hljs-quote { + color: #969896; +} + +/* Tomorrow Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion { + color: #d54e53; +} + +/* Tomorrow Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link { + color: #e78c45; +} + +/* Tomorrow Yellow */ +.hljs-attribute { + color: #e7c547; +} + +/* Tomorrow Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #b9ca4a; +} + +/* Tomorrow Blue */ +.hljs-title, +.hljs-section { + color: #7aa6da; +} + +/* Tomorrow Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #c397d8; +} + +.hljs { + display: block; + overflow-x: auto; + background: black; + color: #eaeaea; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/tomorrow-night-eighties.css b/media/hljs/styles/tomorrow-night-eighties.css new file mode 100644 index 0000000..08fd51c --- /dev/null +++ b/media/hljs/styles/tomorrow-night-eighties.css @@ -0,0 +1,74 @@ +/* Tomorrow Night Eighties Theme */ +/* Original theme - https://github.com/chriskempson/tomorrow-theme */ +/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ + +/* Tomorrow Comment */ +.hljs-comment, +.hljs-quote { + color: #999999; +} + +/* Tomorrow Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion { + color: #f2777a; +} + +/* Tomorrow Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link { + color: #f99157; +} + +/* Tomorrow Yellow */ +.hljs-attribute { + color: #ffcc66; +} + +/* Tomorrow Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #99cc99; +} + +/* Tomorrow Blue */ +.hljs-title, +.hljs-section { + color: #6699cc; +} + +/* Tomorrow Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #cc99cc; +} + +.hljs { + display: block; + overflow-x: auto; + background: #2d2d2d; + color: #cccccc; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/tomorrow-night.css b/media/hljs/styles/tomorrow-night.css new file mode 100644 index 0000000..ddd270a --- /dev/null +++ b/media/hljs/styles/tomorrow-night.css @@ -0,0 +1,75 @@ +/* Tomorrow Night Theme */ +/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ +/* Original theme - https://github.com/chriskempson/tomorrow-theme */ +/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ + +/* Tomorrow Comment */ +.hljs-comment, +.hljs-quote { + color: #969896; +} + +/* Tomorrow Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion { + color: #cc6666; +} + +/* Tomorrow Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link { + color: #de935f; +} + +/* Tomorrow Yellow */ +.hljs-attribute { + color: #f0c674; +} + +/* Tomorrow Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #b5bd68; +} + +/* Tomorrow Blue */ +.hljs-title, +.hljs-section { + color: #81a2be; +} + +/* Tomorrow Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #b294bb; +} + +.hljs { + display: block; + overflow-x: auto; + background: #1d1f21; + color: #c5c8c6; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/tomorrow.css b/media/hljs/styles/tomorrow.css new file mode 100644 index 0000000..026a62f --- /dev/null +++ b/media/hljs/styles/tomorrow.css @@ -0,0 +1,72 @@ +/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ + +/* Tomorrow Comment */ +.hljs-comment, +.hljs-quote { + color: #8e908c; +} + +/* Tomorrow Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion { + color: #c82829; +} + +/* Tomorrow Orange */ +.hljs-number, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link { + color: #f5871f; +} + +/* Tomorrow Yellow */ +.hljs-attribute { + color: #eab700; +} + +/* Tomorrow Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #718c00; +} + +/* Tomorrow Blue */ +.hljs-title, +.hljs-section { + color: #4271ae; +} + +/* Tomorrow Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #8959a8; +} + +.hljs { + display: block; + overflow-x: auto; + background: white; + color: #4d4d4c; + padding: 0.5em; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/vs.css b/media/hljs/styles/vs.css new file mode 100644 index 0000000..c5d07d3 --- /dev/null +++ b/media/hljs/styles/vs.css @@ -0,0 +1,68 @@ +/* + +Visual Studio-like style based on original C# coloring by Jason Diamond + +*/ +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: white; + color: black; +} + +.hljs-comment, +.hljs-quote, +.hljs-variable { + color: #008000; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-built_in, +.hljs-name, +.hljs-tag { + color: #00f; +} + +.hljs-string, +.hljs-title, +.hljs-section, +.hljs-attribute, +.hljs-literal, +.hljs-template-tag, +.hljs-template-variable, +.hljs-type, +.hljs-addition { + color: #a31515; +} + +.hljs-deletion, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-meta { + color: #2b91af; +} + +.hljs-doctag { + color: #808080; +} + +.hljs-attr { + color: #f00; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-link { + color: #00b0e8; +} + + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/hljs/styles/vs2015.css b/media/hljs/styles/vs2015.css new file mode 100644 index 0000000..d1d9be3 --- /dev/null +++ b/media/hljs/styles/vs2015.css @@ -0,0 +1,115 @@ +/* + * Visual Studio 2015 dark style + * Author: Nicolas LLOBERA + */ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #1E1E1E; + color: #DCDCDC; +} + +.hljs-keyword, +.hljs-literal, +.hljs-symbol, +.hljs-name { + color: #569CD6; +} +.hljs-link { + color: #569CD6; + text-decoration: underline; +} + +.hljs-built_in, +.hljs-type { + color: #4EC9B0; +} + +.hljs-number, +.hljs-class { + color: #B8D7A3; +} + +.hljs-string, +.hljs-meta-string { + color: #D69D85; +} + +.hljs-regexp, +.hljs-template-tag { + color: #9A5334; +} + +.hljs-subst, +.hljs-function, +.hljs-title, +.hljs-params, +.hljs-formula { + color: #DCDCDC; +} + +.hljs-comment, +.hljs-quote { + color: #57A64A; + font-style: italic; +} + +.hljs-doctag { + color: #608B4E; +} + +.hljs-meta, +.hljs-meta-keyword, +.hljs-tag { + color: #9B9B9B; +} + +.hljs-variable, +.hljs-template-variable { + color: #BD63C5; +} + +.hljs-attr, +.hljs-attribute, +.hljs-builtin-name { + color: #9CDCFE; +} + +.hljs-section { + color: gold; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +/*.hljs-code { + font-family:'Monospace'; +}*/ + +.hljs-bullet, +.hljs-selector-tag, +.hljs-selector-id, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #D7BA7D; +} + +.hljs-addition { + background-color: #144212; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #600; + display: inline-block; + width: 100%; +} diff --git a/media/hljs/styles/xcode.css b/media/hljs/styles/xcode.css new file mode 100644 index 0000000..b305665 --- /dev/null +++ b/media/hljs/styles/xcode.css @@ -0,0 +1,104 @@ +/* + +XCode style (c) Angel Garcia + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #fff; + color: black; +} + +/* Gray DOCTYPE selectors like WebKit */ +.xml .hljs-meta { + color: #c0c0c0; +} + +.hljs-comment, +.hljs-quote { + color: #007400; +} + +.hljs-tag, +.hljs-attribute, +.hljs-keyword, +.hljs-selector-tag, +.hljs-literal, +.hljs-name { + color: #aa0d91; +} + +.hljs-variable, +.hljs-template-variable { + color: #3F6E74; +} + +.hljs-code, +.hljs-string, +.hljs-meta-string { + color: #c41a16; +} + +.hljs-regexp, +.hljs-link { + color: #0E0EFF; +} + +.hljs-title, +.hljs-symbol, +.hljs-bullet, +.hljs-number { + color: #1c00cf; +} + +.hljs-section, +.hljs-meta { + color: #643820; +} + + +.hljs-class .hljs-title, +.hljs-type, +.hljs-built_in, +.hljs-builtin-name, +.hljs-params { + color: #5c2699; +} + +.hljs-attr { + color: #836C28; +} + +.hljs-subst { + color: #000; +} + +.hljs-formula { + background-color: #eee; + font-style: italic; +} + +.hljs-addition { + background-color: #baeeba; +} + +.hljs-deletion { + background-color: #ffc8bd; +} + +.hljs-selector-id, +.hljs-selector-class { + color: #9b703f; +} + +.hljs-doctag, +.hljs-strong { + font-weight: bold; +} + +.hljs-emphasis { + font-style: italic; +} diff --git a/media/hljs/styles/xt256.css b/media/hljs/styles/xt256.css new file mode 100644 index 0000000..3e35ad2 --- /dev/null +++ b/media/hljs/styles/xt256.css @@ -0,0 +1,92 @@ + +/* + xt256.css + + Contact: initbar [at] protonmail [dot] ch + : github.com/initbar +*/ + +.hljs { + display: block; + overflow-x: auto; + color: #eaeaea; + background: #000; + padding: 0.5em; +} + +.hljs-subst { + color: #eaeaea; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-builtin-name, +.hljs-type { + color: #eaeaea; +} + +.hljs-params { + color: #da0000; +} + +.hljs-literal, +.hljs-number, +.hljs-name { + color: #ff0000; + font-weight: bolder; +} + +.hljs-comment { + color: #969896; +} + +.hljs-selector-id, +.hljs-quote { + color: #00ffff; +} + +.hljs-template-variable, +.hljs-variable, +.hljs-title { + color: #00ffff; + font-weight: bold; +} + +.hljs-selector-class, +.hljs-keyword, +.hljs-symbol { + color: #fff000; +} + +.hljs-string, +.hljs-bullet { + color: #00ff00; +} + +.hljs-tag, +.hljs-section { + color: #000fff; +} + +.hljs-selector-tag { + color: #000fff; + font-weight: bold; +} + +.hljs-attribute, +.hljs-built_in, +.hljs-regexp, +.hljs-link { + color: #ff00ff; +} + +.hljs-meta { + color: #fff; + font-weight: bolder; +} diff --git a/media/hljs/styles/zenburn.css b/media/hljs/styles/zenburn.css new file mode 100644 index 0000000..07be502 --- /dev/null +++ b/media/hljs/styles/zenburn.css @@ -0,0 +1,80 @@ +/* + +Zenburn style from voldmar.ru (c) Vladimir Epifanov +based on dark.css by Ivan Sagalaev + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #3f3f3f; + color: #dcdcdc; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-tag { + color: #e3ceab; +} + +.hljs-template-tag { + color: #dcdcdc; +} + +.hljs-number { + color: #8cd0d3; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-attribute { + color: #efdcbc; +} + +.hljs-literal { + color: #efefaf; +} + +.hljs-subst { + color: #8f8f8f; +} + +.hljs-title, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-section, +.hljs-type { + color: #efef8f; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-link { + color: #dca3a3; +} + +.hljs-deletion, +.hljs-string, +.hljs-built_in, +.hljs-builtin-name { + color: #cc9393; +} + +.hljs-addition, +.hljs-comment, +.hljs-quote, +.hljs-meta { + color: #7f9f7f; +} + + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/media/js/magic/wave.js b/media/js/magic/wave.js new file mode 100644 index 0000000..f3c4a72 --- /dev/null +++ b/media/js/magic/wave.js @@ -0,0 +1,24 @@ +document.onclick = function(e) { + var symbol = document.createElement("div"); + symbol.style.position = "absolute"; + symbol.style.left = (e.pageX) + "px"; + symbol.style.top = (e.pageY) + "px"; + symbol.style.zIndex = 9999; + symbol.style.transition="all 1.5s"; + symbol.style.border="1px red solid"; + symbol.style.borderColor = `rgb(${Math.floor(Math.random()*256)},${Math.floor(Math.random()*256)},${Math.floor(Math.random()*256)})`; // 随机颜色 + symbol.style.borderRadius="100%"; + symbol.style.width = "0px"; + symbol.style.height = "0px"; + symbol.addEventListener("transitionend",function(et){ // 动画结束移除dom + if(et.propertyName == "opacity" && et.srcElement.style.opacity==0) + et.srcElement.remove(); + }); + document.body.appendChild(symbol); + requestAnimationFrame(()=>{ + symbol.style.width = "80px"; + symbol.style.margin = "-7px -40px"; + symbol.style.height = "14px"; + symbol.style.opacity = 0; + }); +}; \ No newline at end of file diff --git a/media/js/motion.js b/media/js/motion.js new file mode 100644 index 0000000..bcd89b6 --- /dev/null +++ b/media/js/motion.js @@ -0,0 +1,219 @@ +/* 页面加载动画设计,本页代码参考Hexo-NexT源码设计改编 +源码链接: https://github.com/iissnan/hexo-theme-next/blob/master/source/js/src/motion.js +*/ +var MotionExector = { + queue: [], + index: -1, + add: function(fn) { + this.queue.push(fn); + return this; + }, + next: function() { + this.index++; + let fn = this.queue[this.index]; + fn && fn(this); + }, + start: function() { + this.next(); + }, + clear: function() { + window.Velocity('stop'); + this.queue = []; + this.index - 1; + } +} + +const Element_Class = { + title: '.main-title', + subTitle: '.subtitle', + navItem: '.nav-item', + post: '.post', + tagYear: '.tag-year', + tagNode: '.tag-archive-node', + tagPostNode: '.tag-post-node', + cloudTags: '.cloud-tag', + logoLineBefore: '.logo-line-before i', + logoLineAfter: '.logo-line-after i' +} + +let logoLineMotion = function(MotionExector) { + let before = document.querySelector(Element_Class.logoLineBefore); + let after = document.querySelector(Element_Class.logoLineAfter); + if (before && after) { + let sequence = []; + sequence.push({ + e: before, + p: { + translateX: '100%' + }, + o: { + duration: 200 + } + }) + sequence.push({ + e: after, + p: { + translateX: '-100%' + }, + o: { + duration: 200, + complete: function() { + MotionExector.next(); + } + } + }) + window.Velocity.RunSequence(sequence); + } else{ + MotionExector.next(); + } +} + +let titleMotion = function(MotionExector) { + let title = document.querySelector(Element_Class.title) || document.querySelector('.brand'); + let subTitle = document.querySelector(Element_Class.subTitle); + + let sequence = []; + if (subTitle) { + title && sequence.push({ + e: title, + p: { + opacity: 1, + top: 0 + }, + o: { + duration: 200 + } + }) + sequence.push({ + e: subTitle, + p: { + opacity: 1, + top: 0 + }, + o: { + duration: 200, + complete: function() { + MotionExector.next(); + } + } + }) + } else { + title && sequence.push({ + e: title, + p: { + opacity: 1, + top: 0 + }, + o: { + duration: 200, + complete: function() { + MotionExector.next(); + } + } + }) + } + window.Velocity.RunSequence(sequence); +} + +let menuMotion = function(MotionExector) { + let menus = document.querySelectorAll(Element_Class.navItem); + + menus && window.Velocity(menus, 'transition.slideDownIn', { + display: null, + duration: 200, + complete: function () { + MotionExector.next(); + } + }) +} + +let postListMotion = function(MotionExector) { + let posts = document.querySelectorAll(Element_Class.post); + let geminiSiteMeta = document.querySelector('.pisces .sidebar') + || document.querySelector('.gemini .sidebar'); + + if (geminiSiteMeta) { + window.Velocity(posts, 'transition.slideDownIn', { }) + } else { + window.Velocity(posts, 'transition.slideDownIn', { + complete: function() { + MotionExector.next(); + } + }) + } + geminiSiteMeta && window.Velocity(geminiSiteMeta,'transition.slideUpIn',{ + stagger: 100, + drag: true, + complete: function() { + geminiSiteMeta.style.transform = ''; + MotionExector.next(); + } + }); + if (posts.length <=0 && !geminiSiteMeta) { + MotionExector.next(); + } +} + +let tagPostMotion = function(MotionExector) { + let tagNodes = document.querySelectorAll(Element_Class.tagPostNode); + + if (tagNodes.length > 0) { + window.Velocity(tagNodes ,'transition.slideDownIn', { + stagger: 100, + drag: true, + complete: function() { + MotionExector.next(); + } + }); + } else { + MotionExector.next(); + } +} + +let rightMenuMotion = function() { + let museMenuBox = document.querySelector('#drawer_box'), + postBody = document.querySelector('#post_body') + if (museMenuBox && postBody && document.body.clientWidth > 765) { + museMenuBox.click(); + } +} + +MotionExector.add(logoLineMotion) +.add(titleMotion) +.add(menuMotion) +.add(postListMotion) +.add(tagPostMotion) +.add(rightMenuMotion) +.start(); + +window.addEventListener('load', function() { + // 归档页入场动画 + let sequence = []; + let tagYears = document.querySelectorAll(Element_Class.tagYear); + let tagNodes = document.querySelectorAll(Element_Class.tagNode); + if (tagYears && tagYears.length) { + sequence.push({ + e: tagYears, + p: 'transition.slideLeftIn' + }); + } + if (tagNodes && tagNodes.length) { + sequence.push({ + e: tagNodes, + p: 'transition.slideDownIn' + }); + } + if (sequence.length > 0) { + window.Velocity.RunSequence(sequence); + } + // 标签页入场动画 + let cloudTags = document.querySelectorAll(Element_Class.cloudTags) + if (cloudTags && cloudTags.length > 0) { + sequence = []; + sequence.push({ + e: cloudTags, + p: 'transition.expandIn' + }); + window.Velocity.RunSequence(sequence); + } +}) \ No newline at end of file diff --git a/media/js/velocity.min.js b/media/js/velocity.min.js new file mode 100644 index 0000000..eb17323 --- /dev/null +++ b/media/js/velocity.min.js @@ -0,0 +1,6 @@ +/** + * velocity-animate (C) 2014-2017 Julian Shapiro. + * + * Licensed under the MIT license. See LICENSE file in the project root for details. + */ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.Velocity=t()}(this,function(){"use strict";var e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},n=function(){function e(e,t){for(var n=0;n=o?function(t,r){for(var o=0;o0?i=s:r=s}while(Math.abs(o)>a&&++u=0)return n;null==e||t||console.error("VelocityJS: Trying to set 'duration' to an invalid value:",e)}function W(e,t,n){if(u(e))return S[e];if(o(e))return e;if(Array.isArray(e)){if(1===e.length)return r=e[0],C[r]||(C[r]=function(e,t,n){return 0===e?t:1===e?n:t+Math.round(e*r)*(1/r)*(n-t)});if(2===e.length)return function e(t,n,r){var i={x:-1,v:0,tension:parseFloat(t)||500,friction:parseFloat(n)||20},o=[0],a=null!=r,l=0,s=void 0,u=void 0;for(s=a?(l=e(i.tension,i.friction))/r*.016:.016;u=j(u||i,s),o.push(1+u.x),l+=16,Math.abs(u.x)>1e-4&&Math.abs(u.v)>1e-4;);return a?function(e,t,n){return 0===e?t:1===e?n:t+o[Math.floor(e*(o.length-1))]*(n-t)}:l}(e[0],e[1],t);if(4===e.length)return q.apply(null,e)||!1}var r;null==e||n||console.error("VelocityJS: Trying to set 'easing' to an invalid value:",e)}function $(e){if(!1===e)return 0;var t=parseInt(e,10);if(!isNaN(t)&&t>=0)return Math.min(t,60);null!=e&&console.warn("VelocityJS: Trying to set 'fpsLimit' to an invalid value:",e)}function G(e){switch(e){case!1:return 0;case!0:return!0;default:var t=parseInt(e,10);if(!isNaN(t)&&t>=0)return t}null!=e&&console.warn("VelocityJS: Trying to set 'loop' to an invalid value:",e)}function Q(e,t){if(!1===e||u(e))return e;null==e||t||console.warn("VelocityJS: Trying to set 'queue' to an invalid value:",e)}function D(e){switch(e){case!1:return 0;case!0:return!0;default:var t=parseInt(e,10);if(!isNaN(t)&&t>=0)return t}null!=e&&console.warn("VelocityJS: Trying to set 'repeat' to an invalid value:",e)}function U(e){if(l(e))return e;null!=e&&console.error("VelocityJS: Trying to set 'speed' to an invalid value:",e)}function Z(e){if(i(e))return e;null!=e&&console.error("VelocityJS: Trying to set 'sync' to an invalid value:",e)}var Y=void 0,X=void 0,K=void 0,ee=void 0,te=void 0,ne=void 0,re=void 0,ie=void 0,oe=void 0,ae=void 0,le=void 0,se=void 0,ue=void 0,ce=void 0,fe=void 0,de=void 0,ve=function(){function e(){t(this,e)}return n(e,null,[{key:"reset",value:function(){Y=!0,X=void 0,K=void 0,ee=0,te=w,ne=W("swing",w),re=60,ie=0,ae=980/60,le=!0,se=!0,ue="",ce=0,fe=1,de=!0}},{key:"cache",get:function(){return Y},set:function(e){void 0!==(e=z(e))&&(Y=e)}},{key:"begin",get:function(){return X},set:function(e){void 0!==(e=F(e))&&(X=e)}},{key:"complete",get:function(){return K},set:function(e){void 0!==(e=H(e))&&(K=e)}},{key:"delay",get:function(){return ee},set:function(e){void 0!==(e=R(e))&&(ee=e)}},{key:"duration",get:function(){return te},set:function(e){void 0!==(e=B(e))&&(te=e)}},{key:"easing",get:function(){return ne},set:function(e){void 0!==(e=W(e,te))&&(ne=e)}},{key:"fpsLimit",get:function(){return re},set:function(e){void 0!==(e=$(e))&&(re=e,ae=980/e)}},{key:"loop",get:function(){return ie},set:function(e){void 0!==(e=G(e))&&(ie=e)}},{key:"mobileHA",get:function(){return oe},set:function(e){i(e)&&(oe=e)}},{key:"minFrameTime",get:function(){return ae}},{key:"promise",get:function(){return le},set:function(e){void 0!==(e=function(e){if(i(e))return e;null!=e&&console.warn("VelocityJS: Trying to set 'promise' to an invalid value:",e)}(e))&&(le=e)}},{key:"promiseRejectEmpty",get:function(){return se},set:function(e){void 0!==(e=function(e){if(i(e))return e;null!=e&&console.warn("VelocityJS: Trying to set 'promiseRejectEmpty' to an invalid value:",e)}(e))&&(se=e)}},{key:"queue",get:function(){return ue},set:function(e){void 0!==(e=Q(e))&&(ue=e)}},{key:"repeat",get:function(){return ce},set:function(e){void 0!==(e=D(e))&&(ce=e)}},{key:"repeatAgain",get:function(){return ce}},{key:"speed",get:function(){return fe},set:function(e){void 0!==(e=U(e))&&(fe=e)}},{key:"sync",get:function(){return de},set:function(e){void 0!==(e=Z(e))&&(de=e)}}]),e}();Object.freeze(ve),ve.reset();var pe=[],ye={},ge=new Set,he=[],me=new Map,we="velocityData";function be(e){var t=e[we];if(t)return t;for(var n=e.ownerDocument.defaultView,r=0,i=0;i=0&&pe[r].hasOwnProperty(n)}function Ne(e,t){for(var n=be(e),r=void 0,i=he.length-1,o=n.types;!r&&i>=0;i--)o&1<=2&&console.info('Set "'+t+'": "'+n+'"',e))}function Le(e){if(e.indexOf("calc(")>=0){for(var t=e.split(/([\(\)])/),n=0,r=0;r=2&&console.info('Get "'+t+'": "'+o+'"',e),o}var De=/^#([A-f\d]{3}){1,2}$/i,Ue={function:function(e,t,n,r,i,o){return e.call(t,r,n.length,i)},number:function(e,t,n,r,i,o){return String(e)+function(e){for(var t in ye)if(ye[t].includes(e))return t;return""}(o.fn)},string:function(e,t,n,r,i,o){return Be(e)},undefined:function(e,t,n,r,i,o){return Be(Qe(t,i,o.fn)||"")}};function Ze(t,n){var r=t.tweens=Object.create(null),i=t.elements,a=t.element,s=i.indexOf(a),c=be(a),f=p(t.queue,t.options.queue),d=p(t.options.duration,ve.duration);for(var v in n)if(n.hasOwnProperty(v)){var y=Ie(v),g=Ne(a,y),h=n[v];if(!g&&"tween"!==y){Ut.debug&&console.log('Skipping "'+v+'" due to a lack of browser support.');continue}if(null==h){Ut.debug&&console.log('Skipping "'+v+'" due to no value supplied.');continue}var m=r[y]={},w=void 0,b=void 0;if(m.fn=g,o(h)&&(h=h.call(a,s,i.length,i)),Array.isArray(h)){var x=h[1],k=h[2];w=h[0],u(x)&&(/^[\d-]/.test(x)||De.test(x))||o(x)||l(x)?b=x:u(x)&&S[x]||Array.isArray(x)?(m.easing=W(x,d),b=k):b=x||k}else w=h;m.end=Ue[void 0===w?"undefined":e(w)](w,a,i,s,y,m),null==b&&!1!==f&&void 0!==c.queueList[f]||(m.start=Ue[void 0===b?"undefined":e(b)](b,a,i,s,y,m),et(y,m,d))}}var Ye=/((?:[+\-*\/]=)?(?:[+-]?\d*\.\d+|[+-]?\d+)[a-z%]*|(?:.(?!$|[+-]?\d|[+\-*\/]=[+-]?\d))+.|.)/g,Xe=/^([+\-*\/]=)?([+-]?\d*\.\d+|[+-]?\d+)(.*)$/;function Ke(e,t){for(var n=e.length,r=[],i=[],o=void 0,a=0;a1}for(var l=[],s=l.pattern=[],c=function(e){if(u(s[s.length-1]))s[s.length-1]+=e;else if(e){s.push(e);for(var t=0;t1)){for(var r="display"===t,i="visibility"===t,a=0;a=0?H++:R.indexOf("rgb")>=0&&(H=1):H&&(H<4?s[F]=!0:H=0)}return l}function et(e,t,n,r){var i=t.start,o=t.end;if(u(o)&&u(i)){var a=Ke([i,o],e);if(!a&&r){var l=i.match(/\d\.?\d*/g)||["0"],s=l.length,c=0;a=Ke([o.replace(/\d+\.?\d*/g,function(){return l[c++%s]}),o],e)}if(a)switch(Ut.debug&&console.log("Velocity: Sequence found:",a),a[0].percent=0,a[1].percent=1,t.sequence=a,t.easing){case S["at-start"]:case S.during:case S["at-end"]:a[0].easing=a[1].easing=t.easing}}}function tt(e){if(ke.firstNew===e&&(ke.firstNew=e._next),!(1&e._flags)){var t=e.element,n=e.tweens;p(e.options.duration,ve.duration);for(var r in n){var i=n[r];if(null==i.start){var o=Qe(e.element,r);u(o)?(i.start=Be(o),et(r,i,0,!0)):Array.isArray(o)||console.warn("bad type",i,r,o)}Ut.debug&&console.log('tweensContainer "'+r+'": '+JSON.stringify(i),t)}e._flags|=1}}function nt(e){var t=e.begin||e.options.begin;if(t)try{var n=e.elements;t.call(n,n,e)}catch(e){setTimeout(function(){throw e},1)}}function rt(e){var t=e.progress||e.options.progress;if(t)try{var n=e.elements,r=e.percentComplete,i=e.options,o=e.tween;t.call(n,n,r,Math.max(0,e.timeStart+(null!=e.duration?e.duration:null!=i.duration?i.duration:ve.duration)-vt),void 0!==o?o:String(100*r),e)}catch(e){setTimeout(function(){throw e},1)}}function it(){var e=!0,t=!1,n=void 0;try{for(var r,i=lt[Symbol.iterator]();!(e=(r=i.next()).done);e=!0){rt(r.value)}}catch(e){t=!0,n=e}finally{try{!e&&i.return&&i.return()}finally{if(t)throw n}}lt.clear();var o=!0,a=!1,l=void 0;try{for(var s,u=at[Symbol.iterator]();!(o=(s=u.next()).done);o=!0){Me(s.value)}}catch(e){a=!0,l=e}finally{try{!o&&u.return&&u.return()}finally{if(a)throw l}}at.clear()}var ot=1e3/60,at=new Set,lt=new Set,st=function(){var e=window.performance||{};if("function"!=typeof e.now){var t=e.timing&&e.timing.navigationStart?e.timing.navigationStart:y();e.now=function(){return y()-t}}return e}(),ut=function(e){return setTimeout(e,Math.max(0,ot-(st.now()-vt)))},ct=window.requestAnimationFrame||ut,ft=void 0,dt=void 0,vt=0;try{(dt=new Worker(URL.createObjectURL(new Blob(["("+function(){var e=this,t=void 0;this.onmessage=function(n){switch(n.data){case!0:t||(t=setInterval(function(){e.postMessage(!0)},1e3/30));break;case!1:t&&(clearInterval(t),t=0);break;default:e.postMessage(n.data)}}}+")()"])))).onmessage=function(e){!0===e.data?pt():it()},ke.isMobile||void 0===document.hidden||document.addEventListener("visibilitychange",function(){dt.postMessage(ke.isTicking&&document.hidden)})}catch(e){}function pt(e){if(!ft){if(ft=!0,!1!==e){var t=st.now(),n=vt?t-vt:ot,r=ve.speed,i=ve.easing,o=ve.duration,a=void 0,l=void 0;if(n>=ve.minFrameTime||!vt){for(vt=t;ke.firstNew;)tt(ke.firstNew);for(a=ke.first;a&&a!==ke.firstNew;a=a._next){var s=a.element,u=be(s);if(s.parentNode&&u){var c=a.options,f=a._flags,d=a.timeStart;if(!d){var v=null!=a.queue?a.queue:c.queue;d=t-n,!1!==v&&(d=Math.max(d,u.lastFinishList[v]||0)),a.timeStart=d}16&f?a.timeStart+=n:2&f||(a._flags|=2,c._ready++)}else _e(a)}for(a=ke.first;a&&a!==ke.firstNew;a=l){var p=a._flags;if(l=a._next,2&p&&!(16&p)){var y=a.options;if(32&p&&y._readyt)continue;a.timeStart=h+=m/(m>0?g:1)}a._flags|=4,0==y._started++&&(y._first=a,y.begin&&(nt(a),y.begin=void 0))}1!==g&&(a.timeStart=h+=Math.min(n,t-h)*(1-g));var w=null!=a.easing?a.easing:null!=y.easing?y.easing:i,b=a.ellapsedTime=t-h,S=null!=a.duration?a.duration:null!=y.duration?y.duration:o,x=a.percentComplete=Ut.mock?1:Math.min(b/S,1),O=a.tweens,E=64&p;for(var _ in(a.progress||y._first===a&&y.progress)&<.add(a),1===x&&at.add(a),O){var T=O[_],M=T.sequence,V=M.pattern,q="",N=0;if(V){for(var A=(T.easing||w)(x,0,1,_),L=0,J=0;J=0?r.replace(/^.*\./,""):void 0)&&Q(e[0]),a=ve.queue;if(c(t)&&t.velocity.animations){var l=!0,s=!1,u=void 0;try{for(var f,d=t.velocity.animations[Symbol.iterator]();!(l=(f=d.next()).done);l=!0){ht(f.value,o,a,i)}}catch(e){s=!0,u=e}finally{try{!l&&d.return&&d.return()}finally{if(s)throw u}}}else for(var v=ke.first;v;)t&&!t.includes(v.element)||ht(v,o,a,i),v=v._next;n&&(c(t)&&t.velocity.animations&&t.then?t.then(n._resolver):n._resolver(t))}function wt(t,n,r,i){var o=t[0],a=t[1];if(!o)return console.warn("VelocityJS: Cannot access a non-existant property!"),null;if(void 0===a&&!s(o)){if(Array.isArray(o)){if(1===n.length){var f={},d=!0,v=!1,p=void 0;try{for(var y,g=o[Symbol.iterator]();!(d=(y=g.next()).done);d=!0){var h=y.value;f[h]=Be(Qe(n[0],h))}}catch(e){v=!0,p=e}finally{try{!d&&g.return&&g.return()}finally{if(v)throw p}}return f}var m=[],w=!0,b=!1,S=void 0;try{for(var x,k=n[Symbol.iterator]();!(w=(x=k.next()).done);w=!0){var O=x.value,E={},_=!0,T=!1,M=void 0;try{for(var V,q=o[Symbol.iterator]();!(_=(V=q.next()).done);_=!0){var N=V.value;E[N]=Be(Qe(O,N))}}catch(e){T=!0,M=e}finally{try{!_&&q.return&&q.return()}finally{if(T)throw M}}m.push(E)}}catch(e){b=!0,S=e}finally{try{!w&&k.return&&k.return()}finally{if(b)throw S}}return m}if(1===n.length)return Be(Qe(n[0],o));var A=[],L=!0,J=!1,I=void 0;try{for(var j,C=n[Symbol.iterator]();!(L=(j=C.next()).done);L=!0){var P=j.value;A.push(Be(Qe(P,o)))}}catch(e){J=!0,I=e}finally{try{!L&&C.return&&C.return()}finally{if(J)throw I}}return A}var z=[];if(s(o)){for(var F in o)if(o.hasOwnProperty(F)){var H=!0,R=!1,B=void 0;try{for(var W,$=n[Symbol.iterator]();!(H=(W=$.next()).done);H=!0){var G=W.value,Q=o[F];u(Q)||l(Q)?Ae(G,F,o[F]):(z.push('Cannot set a property "'+F+'" to an unknown type: '+(void 0===Q?"undefined":e(Q))),console.warn('VelocityJS: Cannot set a property "'+F+'" to an unknown type:',Q))}}catch(e){R=!0,B=e}finally{try{!H&&$.return&&$.return()}finally{if(R)throw B}}}}else if(u(a)||l(a)){var D=!0,U=!1,Z=void 0;try{for(var Y,X=n[Symbol.iterator]();!(D=(Y=X.next()).done);D=!0){Ae(Y.value,o,String(a))}}catch(e){U=!0,Z=e}finally{try{!D&&X.return&&X.return()}finally{if(U)throw Z}}}else z.push('Cannot set a property "'+o+'" to an unknown type: '+(void 0===a?"undefined":e(a))),console.warn('VelocityJS: Cannot set a property "'+o+'" to an unknown type:',a);r&&(z.length?r._rejecter(z.join(", ")):c(n)&&n.velocity.animations&&n.then?n.then(r._resolver):r._resolver(n))}function bt(e,t,n){tt(e),void 0!==t&&t!==p(e.queue,e.options.queue,n)||(e._flags|=8,Me(e))}m(["option",function(e,t,n,r){var i=e[0],o=r.indexOf(".")>=0?r.replace(/^.*\./,""):void 0,a="false"!==o&&Q(o,!0),l=void 0,s=e[1];if(!i)return console.warn("VelocityJS: Cannot access a non-existant key!"),null;if(c(t)&&t.velocity.animations)l=t.velocity.animations;else{l=[];for(var u=ke.first;u;u=u._next)t.indexOf(u.element)>=0&&p(u.queue,u.options.queue)===a&&l.push(u);if(t.length>1&&l.length>1){for(var f=1,d=l[0].options;f, "tween", percentComplete, property, end | [end, , ], ) => value\nVelocity(, "tween", percentComplete, {property: end | [end, , ], ...}, ) => {property: value, ...}'),null;t=[document.body],o=!0}var a=e[0],c={elements:t,element:t[0],queue:!1,options:{duration:1e3},tweens:null},f={},d=e[1],v=void 0,y=void 0,g=e[2],h=0;if(u(e[1])?Te&&Te[e[1]]?(y=Te[e[1]],d={},g=e[2]):(v=!0,d=r({},e[1],e[2]),g=e[3]):Array.isArray(e[1])&&(v=!0,d={tween:e[1]},g=e[2]),!l(a)||a<0||a>1)throw new Error("VelocityJS: Must tween a percentage from 0 to 1!");if(!s(d))throw new Error("VelocityJS: Cannot tween an invalid property!");if(o)for(var m in d)if(d.hasOwnProperty(m)&&(!Array.isArray(d[m])||d[m].length<2))throw new Error("VelocityJS: When not supplying an element you must force-feed values: "+m);var b=W(p(g,ve.easing),w);for(var S in y?tn(c,y):Ze(c,d),c.tweens){var x=c.tweens[S],O=x.sequence,E=O.pattern,_="",T=0;if(h++,E){for(var M=(x.easing||b)(a,0,1,S),V=0,q=0;q4;e--){var t=document.createElement("div");if(t.innerHTML="\x3c!--[if IE "+e+"]>100)console.warn("VelocityJS: Trying to use an invalid value as a percentage (0 <= n <= 100):",r,x);else if(isNaN(x))console.warn("VelocityJS: Trying to use an invalid number as a percentage:",r,v,S);else for(var k in o[String(x)]||(o[String(x)]=[]),o[String(x)].push(v),i[v])c.includes(k)||c.push(k)}}catch(e){g=!0,h=e}finally{try{!y&&b.return&&b.return()}finally{if(g)throw h}}}}var O=Object.keys(o).sort(function(e,t){var n=parseFloat(e),r=parseFloat(t);return n>r?1:n1&&(u(ae[1])||Array.isArray(ae[1]))&&(Q[D].easing=W(ae[1],f.duration||w)),Q[D++].percent=parseFloat(ee)/100)}}catch(e){ne=!0,re=e}finally{try{!te&&oe.return&&oe.return()}finally{if(ne)throw re}}}}catch(e){Z=!0,Y=e}finally{try{!U&&K.return&&K.return()}finally{if(Z)throw Y}}f.tweens[A]=Q}}}}catch(e){_=!0,T=e}finally{try{!E&&V.return&&V.return()}finally{if(_)throw T}}}else console.warn("VelocityJS: Trying to set 'registerSequence' sequence to an invalid value:",r,i);else console.warn("VelocityJS: Trying to set 'registerSequence' name to an invalid value:",r)}}],!0);var nn=void 0;try{nn=Promise}catch(e){}var rn=", if that is deliberate then pass `promiseRejectEmpty:false` as an option";function on(e,t){v(t,"promise",e),v(t,"then",e.then.bind(e)),v(t,"catch",e.catch.bind(e)),e.finally&&v(t,"finally",e.finally.bind(e))}function an(){for(var e=arguments.length,t=Array(e),n=0;n4;e--){var t=document.createElement("div");if(t.innerHTML="\x3c!--[if IE "+e+"]>.999&&(t=1),t<.001&&(t=0),this.alpha=t},r.prototype.getAlpha=function(){return this.alpha},r.prototype.isInitialized=function(){return this.initialized},r.prototype.setInitialized=function(t){this.initialized=t},r.prototype.isUpdating=function(){return this.updating},r.prototype.setUpdating=function(t){this.updating=t},r.prototype.getLive2DModel=function(){return this.live2DModel},r.prototype.setLipSync=function(t){this.lipSync=t},r.prototype.setLipSyncValue=function(t){this.lipSyncValue=t},r.prototype.setAccel=function(t,i,e){this.accelX=t,this.accelY=i,this.accelZ=e},r.prototype.setDrag=function(t,i){this.dragX=t,this.dragY=i},r.prototype.getMainMotionManager=function(){return this.mainMotionManager},r.prototype.getExpressionManager=function(){return this.expressionManager},r.prototype.loadModelData=function(t,i){var e=c.getPlatformManager();this.debugMode&&e.log("Load model : "+t);var r=this;e.loadLive2DModel(t,function(t){if(r.live2DModel=t,r.live2DModel.saveParam(),0!=Live2D.getError())return void console.error("Error : Failed to loadModelData().");r.modelMatrix=new a(r.live2DModel.getCanvasWidth(),r.live2DModel.getCanvasHeight()),r.modelMatrix.setWidth(2),r.modelMatrix.setCenterPosition(0,0),i(r.live2DModel)})},r.prototype.loadTexture=function(t,i,e){d++;var r=c.getPlatformManager();this.debugMode&&r.log("Load Texture : "+i);var o=this;r.loadTexture(this.live2DModel,t,i,function(){d--,0==d&&(o.isTexLoaded=!0),"function"==typeof e&&e()})},r.prototype.loadMotion=function(t,i,e){var r=c.getPlatformManager();this.debugMode&&r.log("Load Motion : "+i);var o=null,n=this;r.loadBytes(i,function(i){o=Live2DMotion.loadMotion(i),null!=t&&(n.motions[t]=o),e(o)})},r.prototype.loadExpression=function(t,i,e){var r=c.getPlatformManager();this.debugMode&&r.log("Load Expression : "+i);var n=this;r.loadBytes(i,function(i){null!=t&&(n.expressions[t]=o.loadJson(i)),"function"==typeof e&&e()})},r.prototype.loadPose=function(t,i){var e=c.getPlatformManager();this.debugMode&&e.log("Load Pose : "+t);var r=this;try{e.loadBytes(t,function(t){r.pose=$.load(t),"function"==typeof i&&i()})}catch(t){console.warn(t)}},r.prototype.loadPhysics=function(t){var i=c.getPlatformManager();this.debugMode&&i.log("Load Physics : "+t);var e=this;try{i.loadBytes(t,function(t){e.physics=l.load(t)})}catch(t){console.warn(t)}},r.prototype.hitTestSimple=function(t,i,e){if(null===this.live2DModel)return!1;var r=this.live2DModel.getDrawDataIndex(t);if(r<0)return!1;for(var o=this.live2DModel.getTransformedPoints(r),n=this.live2DModel.getCanvasWidth(),s=0,_=this.live2DModel.getCanvasHeight(),a=0,h=0;hs&&(s=l),$<_&&(_=$),$>a&&(a=$)}var u=this.modelMatrix.invertTransformX(i),p=this.modelMatrix.invertTransformY(e);return n<=u&&u<=s&&_<=p&&p<=a},r.prototype.hitTestSimpleCustom=function(t,i,e,r){return null!==this.live2DModel&&(e>=t[0]&&e<=i[0]&&r<=t[1]&&r>=i[1])},o.prototype=new AMotion,o.EXPRESSION_DEFAULT="DEFAULT",o.TYPE_SET=0,o.TYPE_ADD=1,o.TYPE_MULT=2,o.loadJson=function(t){var i=new o,e=c.getPlatformManager(),r=e.jsonParseFromBytes(t);if(i.setFadeIn(parseInt(r.fade_in)>0?parseInt(r.fade_in):1e3),i.setFadeOut(parseInt(r.fade_out)>0?parseInt(r.fade_out):1e3),null==r.params)return i;var s=r.params,_=s.length;i.paramList=[];for(var a=0;a<_;a++){var h=s[a],l=h.id.toString(),$=parseFloat(h.val),u=o.TYPE_ADD,p=null!=h.calc?h.calc.toString():"add";if((u="add"===p?o.TYPE_ADD:"mult"===p?o.TYPE_MULT:"set"===p?o.TYPE_SET:o.TYPE_ADD)==o.TYPE_ADD){var f=null==h.def?0:parseFloat(h.def);$-=f}else if(u==o.TYPE_MULT){var f=null==h.def?1:parseFloat(h.def);0==f&&(f=1),$/=f}var d=new n;d.id=l,d.type=u,d.value=$,i.paramList.push(d)}return i},o.prototype.updateParamExe=function(t,i,e,r){for(var n=this.paramList.length-1;n>=0;--n){var s=this.paramList[n];s.type==o.TYPE_ADD?t.addToParamFloat(s.id,s.value,e):s.type==o.TYPE_MULT?t.multParamFloat(s.id,s.value,e):s.type==o.TYPE_SET&&t.setParamFloat(s.id,s.value,e)}},s.prototype.calcNextBlink=function(){return UtSystem.getUserTimeMSec()+Math.random()*(2*this.blinkIntervalMsec-1)},s.prototype.setInterval=function(t){this.blinkIntervalMsec=t},s.prototype.setEyeMotion=function(t,i,e){this.closingMotionMsec=t,this.closedMotionMsec=i,this.openingMotionMsec=e},s.prototype.updateParam=function(t){var i,e=UtSystem.getUserTimeMSec(),r=0;switch(this.eyeState){case g.STATE_CLOSING:r=(e-this.stateStartTime)/this.closingMotionMsec,r>=1&&(r=1,this.eyeState=g.STATE_CLOSED,this.stateStartTime=e),i=1-r;break;case g.STATE_CLOSED:r=(e-this.stateStartTime)/this.closedMotionMsec,r>=1&&(this.eyeState=g.STATE_OPENING,this.stateStartTime=e),i=0;break;case g.STATE_OPENING:r=(e-this.stateStartTime)/this.openingMotionMsec,r>=1&&(r=1,this.eyeState=g.STATE_INTERVAL,this.nextBlinkTime=this.calcNextBlink()),i=r;break;case g.STATE_INTERVAL:this.nextBlinkTime=t)&&(!(this.currentPriority>=t)&&(this.reservePriority=t,!0))},h.prototype.setReservePriority=function(t){this.reservePriority=t},h.prototype.updateParam=function(t){var i=MotionQueueManager.prototype.updateParam.call(this,t);return this.isFinished()&&(this.currentPriority=0),i},h.prototype.startMotionPrio=function(t,i){return i==this.reservePriority&&(this.reservePriority=0),this.currentPriority=i,this.startMotion(t,!1)},l.load=function(t){for(var i=new l,e=c.getPlatformManager(),r=e.jsonParseFromBytes(t),o=r.physics_hair,n=o.length,s=0;s=0)break;r=n,o=t.getPartsOpacity(s),o+=e/.5,o>1&&(o=1)}}r<0&&(r=0,o=1);for(var n=0;n.15&&(a=1-.15/(1-o)),h>a&&(h=a),t.setPartsOpacity(s,h)}}},$.prototype.copyOpacityOtherParts=function(t,i){for(var e=0;eo)&&(l*=o/u,$*=o/u,u=o),this.faceVX+=l,this.faceVY+=$;var f=.5*(Math.sqrt(o*o+16*o*_-8*o*_)-o),c=Math.sqrt(this.faceVX*this.faceVX+this.faceVY*this.faceVY);c>f&&(this.faceVX*=f/c,this.faceVY*=f/c),this.faceX+=this.faceVX,this.faceY+=this.faceVY}},f.prototype=new _,f.prototype.getMaxScale=function(){return this.max},f.prototype.getMinScale=function(){return this.min},f.prototype.setMaxScale=function(t){this.max=t},f.prototype.setMinScale=function(t){this.min=t},f.prototype.isMaxScale=function(){return this.getScaleX()==this.max},f.prototype.isMinScale=function(){return this.getScaleX()==this.min},f.prototype.adjustTranslate=function(t,i){this.tr[0]*this.maxLeft+(this.tr[12]+t)>this.screenLeft&&(t=this.screenLeft-this.tr[0]*this.maxLeft-this.tr[12]),this.tr[0]*this.maxRight+(this.tr[12]+t)this.screenBottom&&(i=this.screenBottom-this.tr[5]*this.maxBottom-this.tr[13]);var e=[1,0,0,0,0,1,0,0,0,0,1,0,t,i,0,1];_.mul(e,this.tr,this.tr)},f.prototype.adjustScale=function(t,i,e){var r=e*this.tr[0];r0&&(e=this.min/this.tr[0]):r>this.max&&this.tr[0]>0&&(e=this.max/this.tr[0]);var o=[1,0,0,0,0,1,0,0,0,0,1,0,t,i,0,1],n=[e,0,0,0,0,e,0,0,0,0,1,0,0,0,0,1],s=[1,0,0,0,0,1,0,0,0,0,1,0,-t,-i,0,1];_.mul(s,this.tr,this.tr),_.mul(n,this.tr,this.tr),_.mul(o,this.tr,this.tr)},f.prototype.setScreenRect=function(t,i,e,r){this.screenLeft=t,this.screenRight=i,this.screenTop=r,this.screenBottom=e},f.prototype.setMaxScreenRect=function(t,i,e,r){this.maxLeft=t,this.maxRight=i,this.maxTop=r,this.maxBottom=e},f.prototype.getScreenLeft=function(){return this.screenLeft},f.prototype.getScreenRight=function(){return this.screenRight},f.prototype.getScreenBottom=function(){return this.screenBottom},f.prototype.getScreenTop=function(){return this.screenTop},f.prototype.getMaxLeft=function(){return this.maxLeft},f.prototype.getMaxRight=function(){return this.maxRight},f.prototype.getMaxBottom=function(){return this.maxBottom},f.prototype.getMaxTop=function(){return this.maxTop},c.platformManager=null,c.getPlatformManager=function(){return c.platformManager},c.setPlatformManager=function(t){c.platformManager=t},t.exports={L2DTargetPoint:p,Live2DFramework:c,L2DViewMatrix:f,L2DPose:$,L2DPartsParam:u,L2DPhysics:l,L2DMotionManager:h,L2DModelMatrix:a,L2DMatrix44:_,EYE_STATE:g,L2DEyeBlink:s,L2DExpressionParam:n,L2DExpressionMotion:o,L2DBaseModel:r}},function(t,i,e){"use strict";var r={DEBUG_LOG:!1,DEBUG_MOUSE_LOG:!1,DEBUG_DRAW_HIT_AREA:!1,DEBUG_DRAW_ALPHA_MODEL:!1,VIEW_MAX_SCALE:2,VIEW_MIN_SCALE:.8,VIEW_LOGICAL_LEFT:-1,VIEW_LOGICAL_RIGHT:1,VIEW_LOGICAL_MAX_LEFT:-2,VIEW_LOGICAL_MAX_RIGHT:2,VIEW_LOGICAL_MAX_BOTTOM:-2,VIEW_LOGICAL_MAX_TOP:2,PRIORITY_NONE:0,PRIORITY_IDLE:1,PRIORITY_SLEEPY:2,PRIORITY_NORMAL:3,PRIORITY_FORCE:4,MOTION_GROUP_IDLE:"idle",MOTION_GROUP_SLEEPY:"sleepy",MOTION_GROUP_TAP_BODY:"tap_body",MOTION_GROUP_FLICK_HEAD:"flick_head",MOTION_GROUP_PINCH_IN:"pinch_in",MOTION_GROUP_PINCH_OUT:"pinch_out",MOTION_GROUP_SHAKE:"shake",HIT_AREA_HEAD:"head",HIT_AREA_BODY:"body"};t.exports=r},function(t,i,e){"use strict";function r(t){n=t}function o(){return n}Object.defineProperty(i,"__esModule",{value:!0}),i.setContext=r,i.getContext=o;var n=void 0},function(t,i,e){"use strict";function r(){}r.matrixStack=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],r.depth=0,r.currentMatrix=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],r.tmp=new Array(16),r.reset=function(){this.depth=0},r.loadIdentity=function(){for(var t=0;t<16;t++)this.currentMatrix[t]=t%5==0?1:0},r.push=function(){var t=(this.depth,16*(this.depth+1));this.matrixStack.lengthe.left&&i.y>e.top)return i;var o=t.x-i.x,n=t.y-i.y,s=r(o,n);i.xat.frameBuffers.length&&(this.curFrameNo=this.getMaskRenderTexture()),this.tmpModelToViewMatrix=new R,this.tmpMatrix2=new R,this.tmpMatrixForMask=new R,this.tmpMatrixForDraw=new R,this.CHANNEL_COLORS=new Array;var i=new A;i=new A,i.r=0,i.g=0,i.b=0,i.a=1,this.CHANNEL_COLORS.push(i),i=new A,i.r=1,i.g=0,i.b=0,i.a=0,this.CHANNEL_COLORS.push(i),i=new A,i.r=0,i.g=1,i.b=0,i.a=0,this.CHANNEL_COLORS.push(i),i=new A,i.r=0,i.g=0,i.b=1,i.a=0,this.CHANNEL_COLORS.push(i);for(var e=0;eG._$T7){t._$NP|=i._$4s;throw new lt("_$gi _$C _$li , _$n0 _$_ version _$li ( SDK : "+G._$T7+" < _$f0 : "+r+" )@_$SS#loadModel()\n")}var h=o._$nP();if(r>=G._$s7){var l=o._$9T(),$=o._$9T();if(-30584!=l||-30584!=$)throw t._$NP|=i._$0s,new lt("_$gi _$C _$li , _$0 _$6 _$Ui.")}t._$KS(h);var u=t.getModelContext();u.setDrawParam(t.getDrawParam()),u.init()}catch(t){_._$Rb(t)}},i.prototype._$KS=function(t){this._$MT=t},i.prototype.getModelImpl=function(){return null==this._$MT&&(this._$MT=new p,this._$MT._$zP()),this._$MT},i.prototype.getCanvasWidth=function(){return null==this._$MT?0:this._$MT.getCanvasWidth()},i.prototype.getCanvasHeight=function(){return null==this._$MT?0:this._$MT.getCanvasHeight()},i.prototype.getParamFloat=function(t){return"number"!=typeof t&&(t=this._$5S.getParamIndex(u.getID(t))),this._$5S.getParamFloat(t)},i.prototype.setParamFloat=function(t,i,e){"number"!=typeof t&&(t=this._$5S.getParamIndex(u.getID(t))),arguments.length<3&&(e=1),this._$5S.setParamFloat(t,this._$5S.getParamFloat(t)*(1-e)+i*e)},i.prototype.addToParamFloat=function(t,i,e){"number"!=typeof t&&(t=this._$5S.getParamIndex(u.getID(t))),arguments.length<3&&(e=1),this._$5S.setParamFloat(t,this._$5S.getParamFloat(t)+i*e)},i.prototype.multParamFloat=function(t,i,e){"number"!=typeof t&&(t=this._$5S.getParamIndex(u.getID(t))),arguments.length<3&&(e=1),this._$5S.setParamFloat(t,this._$5S.getParamFloat(t)*(1+(i-1)*e))},i.prototype.getParamIndex=function(t){return this._$5S.getParamIndex(u.getID(t))},i.prototype.loadParam=function(){this._$5S.loadParam()},i.prototype.saveParam=function(){this._$5S.saveParam()},i.prototype.init=function(){this._$5S.init()},i.prototype.update=function(){this._$5S.update()},i.prototype._$Rs=function(){return _._$li("_$60 _$PT _$Rs()"),-1},i.prototype._$Ds=function(t){_._$li("_$60 _$PT _$SS#_$Ds() \n")},i.prototype._$K2=function(){},i.prototype.draw=function(){},i.prototype.getModelContext=function(){return this._$5S},i.prototype._$s2=function(){return this._$NP},i.prototype._$P7=function(t,i,e,r){var o=-1,n=0,s=this;if(0!=e)if(1==t.length){var _=t[0],a=0!=s.getParamFloat(_),h=i[0],l=s.getPartsOpacity(h),$=e/r;a?(l+=$)>1&&(l=1):(l-=$)<0&&(l=0),s.setPartsOpacity(h,l)}else{for(var u=0;u=0)break;o=u;var h=i[u];n=s.getPartsOpacity(h),n+=e/r,n>1&&(n=1)}}o<0&&(console.log("No _$wi _$q0/ _$U default[%s]",t[0]),o=0,n=1,s.loadParam(),s.setParamFloat(t[o],n),s.saveParam());for(var u=0;u.15&&(f=1-.15/(1-n)),c>f&&(c=f),s.setPartsOpacity(h,c)}}}else for(var u=0;u=this._$5S._$aS.length)return null;var i=this._$5S._$aS[t];return null!=i&&i.getType()==W._$wb&&i instanceof $t?i.getIndexArray():null},e.CHANNEL_COUNT=4,e.RENDER_TEXTURE_USE_MIPMAP=!1,e.NOT_USED_FRAME=-100,e.prototype._$L7=function(){if(this.tmpModelToViewMatrix&&(this.tmpModelToViewMatrix=null),this.tmpMatrix2&&(this.tmpMatrix2=null),this.tmpMatrixForMask&&(this.tmpMatrixForMask=null),this.tmpMatrixForDraw&&(this.tmpMatrixForDraw=null),this.tmpBoundsOnModel&&(this.tmpBoundsOnModel=null),this.CHANNEL_COLORS){for(var t=this.CHANNEL_COLORS.length-1;t>=0;--t)this.CHANNEL_COLORS.splice(t,1);this.CHANNEL_COLORS=[]}this.releaseShader()},e.prototype.releaseShader=function(){for(var t=at.frameBuffers.length,i=0;i0){var n=i.gl.getParameter(i.gl.FRAMEBUFFER_BINDING),s=new Array(4);s[0]=0,s[1]=0,s[2]=i.gl.canvas.width,s[3]=i.gl.canvas.height,i.gl.viewport(0,0,at.clippingMaskBufferSize,at.clippingMaskBufferSize),this.setupLayoutBounds(e),i.gl.bindFramebuffer(i.gl.FRAMEBUFFER,at.frameBuffers[this.curFrameNo].framebuffer),i.gl.clearColor(0,0,0,0),i.gl.clear(i.gl.COLOR_BUFFER_BIT);for(var r=0;rr?e:r,n=o,s=o,_=0,a=0,h=i.clippedDrawContextList.length,l=0;l_&&(_=S),v>a&&(a=v)}}if(n==o)i.allClippedDrawRect.x=0,i.allClippedDrawRect.y=0,i.allClippedDrawRect.width=0,i.allClippedDrawRect.height=0,i.isUsing=!1;else{var L=_-n,M=a-s;i.allClippedDrawRect.x=n,i.allClippedDrawRect.y=s,i.allClippedDrawRect.width=L,i.allClippedDrawRect.height=M,i.isUsing=!0}},e.prototype.setupLayoutBounds=function(t){var i=t/e.CHANNEL_COUNT,r=t%e.CHANNEL_COUNT;i=~~i,r=~~r;for(var o=0,n=0;n=1)return 1;var p=r,f=p*p;return l*(p*f)+$*f+u*p+0},s.prototype._$a0=function(){},s.prototype.setFadeIn=function(t){this._$dP=t},s.prototype.setFadeOut=function(t){this._$eo=t},s.prototype._$pT=function(t){this._$V0=t},s.prototype.getFadeOut=function(){return this._$eo},s.prototype._$4T=function(){return this._$eo},s.prototype._$mT=function(){return this._$V0},s.prototype.getDurationMSec=function(){return-1},s.prototype.getLoopDurationMSec=function(){return-1},s.prototype.updateParam=function(t,i){if(i._$AT&&!i._$9L){var e=w.getUserTimeMSec();if(i._$z2<0){i._$z2=e,i._$bs=e;var r=this.getDurationMSec();i._$Do<0&&(i._$Do=r<=0?-1:i._$z2+r)}var o=this._$V0;o=o*(0==this._$dP?1:ht._$r2((e-i._$bs)/this._$dP))*(0==this._$eo||i._$Do<0?1:ht._$r2((i._$Do-e)/this._$eo)),0<=o&&o<=1||console.log("### assert!! ### "),this.updateParamExe(t,e,o,i),i._$Do>0&&i._$Do0?console.log("\n"):e%8==0&&e>0&&console.log(" "),console.log("%02X ",255&t[e]);console.log("\n")},_._$nr=function(t,i,e){console.log("%s\n",t);for(var r=i.length,o=0;o=0;--r){this._$lL[r]._$oP(t,this)}this._$oo(t,e),this._$M2=this._$Yb(),this._$9b=(this._$M2-this._$ks)/e,this._$ks=this._$M2}for(var r=this._$qP.length-1;r>=0;--r){this._$qP[r]._$YS(t,this)}this._$iT=i},f.prototype._$oo=function(t,i){i<.033&&(i=.033);var e=1/i;this.p1.vx=(this.p1.x-this.p1._$s0)*e,this.p1.vy=(this.p1.y-this.p1._$70)*e,this.p1.ax=(this.p1.vx-this.p1._$7L)*e,this.p1.ay=(this.p1.vy-this.p1._$HL)*e,this.p1.fx=this.p1.ax*this.p1._$p,this.p1.fy=this.p1.ay*this.p1._$p,this.p1._$xT();var r,o,n=-Math.atan2(this.p1.y-this.p2.y,this.p1.x-this.p2.x),s=Math.cos(n),_=Math.sin(n),a=9.8*this.p2._$p,h=this._$Db*Lt._$bS,l=a*Math.cos(n-h);r=l*_,o=l*s;var $=-this.p1.fx*_*_,u=-this.p1.fy*_*s,p=-this.p2.vx*this._$L2,f=-this.p2.vy*this._$L2;this.p2.fx=r+$+p,this.p2.fy=o+u+f,this.p2.ax=this.p2.fx/this.p2._$p,this.p2.ay=this.p2.fy/this.p2._$p,this.p2.vx+=this.p2.ax*i,this.p2.vy+=this.p2.ay*i,this.p2.x+=this.p2.vx*i,this.p2.y+=this.p2.vy*i;var c=Math.sqrt((this.p1.x-this.p2.x)*(this.p1.x-this.p2.x)+(this.p1.y-this.p2.y)*(this.p1.y-this.p2.y));this.p2.x=this.p1.x+this._$Fo*(this.p2.x-this.p1.x)/c,this.p2.y=this.p1.y+this._$Fo*(this.p2.y-this.p1.y)/c,this.p2.vx=(this.p2.x-this.p2._$s0)*e,this.p2.vy=(this.p2.y-this.p2._$70)*e,this.p2._$xT()},c.prototype._$xT=function(){this._$s0=this.x,this._$70=this.y,this._$7L=this.vx,this._$HL=this.vy},d.prototype._$oP=function(t,i){},g.prototype=new d,g.prototype._$oP=function(t,i){var e=this.scale*t.getParamFloat(this._$wL),r=i.getPhysicsPoint1();switch(this._$tL){default:case f.Src.SRC_TO_X:r.x=r.x+(e-r.x)*this._$V0;break;case f.Src.SRC_TO_Y:r.y=r.y+(e-r.y)*this._$V0;break;case f.Src.SRC_TO_G_ANGLE:var o=i._$qr();o+=(e-o)*this._$V0,i._$pr(o)}},y.prototype._$YS=function(t,i){},T.prototype=new y,T.prototype._$YS=function(t,i){switch(this._$YP){default:case f.Target.TARGET_FROM_ANGLE:t.setParamFloat(this._$wL,this.scale*i._$5r(),this._$V0);break;case f.Target.TARGET_FROM_ANGLE_V:t.setParamFloat(this._$wL,this.scale*i._$Cs(),this._$V0)}},f.Src=function(){},f.Src.SRC_TO_X="SRC_TO_X",f.Src.SRC_TO_Y="SRC_TO_Y",f.Src.SRC_TO_G_ANGLE="SRC_TO_G_ANGLE",f.Target=function(){},f.Target.TARGET_FROM_ANGLE="TARGET_FROM_ANGLE",f.Target.TARGET_FROM_ANGLE_V="TARGET_FROM_ANGLE_V",P.prototype.init=function(t){this._$fL=t._$fL,this._$gL=t._$gL,this._$B0=t._$B0,this._$z0=t._$z0,this._$qT=t._$qT,this.reflectX=t.reflectX,this.reflectY=t.reflectY},P.prototype._$F0=function(t){this._$fL=t._$_T(),this._$gL=t._$_T(),this._$B0=t._$_T(),this._$z0=t._$_T(),this._$qT=t._$_T(),t.getFormatVersion()>=G.LIVE2D_FORMAT_VERSION_V2_10_SDK2&&(this.reflectX=t._$po(),this.reflectY=t._$po())},P.prototype._$e=function(){};var It=function(){};It._$ni=function(t,i,e,r,o,n,s,_,a){var h=s*n-_*o;if(0==h)return null;var l,$=((t-e)*n-(i-r)*o)/h;return l=0!=o?(t-e-$*s)/o:(i-r-$*_)/n,isNaN(l)&&(l=(t-e-$*s)/o,isNaN(l)&&(l=(i-r-$*_)/n),isNaN(l)&&(console.log("a is NaN @UtVector#_$ni() "),console.log("v1x : "+o),console.log("v1x != 0 ? "+(0!=o)))),null==a?new Array(l,$):(a[0]=l,a[1]=$,a)},S.prototype._$8P=function(){return this.x+.5*this.width},S.prototype._$6P=function(){return this.y+.5*this.height},S.prototype._$EL=function(){return this.x+this.width},S.prototype._$5T=function(){return this.y+this.height},S.prototype._$jL=function(t,i,e,r){this.x=t,this.y=i,this.width=e,this.height=r},S.prototype._$jL=function(t){this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height},S.prototype.contains=function(t,i){return this.x<=this.x&&this.y<=this.y&&this.x<=this.x+this.width&&this.y<=this.y+this.height},S.prototype.expand=function(t,i){this.x-=t,this.y-=i,this.width+=2*t,this.height+=2*i},v._$Z2=function(t,i,e,r){var o=i._$Q2(t,e),n=t._$vs(),s=t._$Tr();if(i._$zr(n,s,o),o<=0)return r[n[0]];if(1==o){var _=r[n[0]],a=r[n[1]],h=s[0];return _+(a-_)*h|0}if(2==o){var _=r[n[0]],a=r[n[1]],l=r[n[2]],$=r[n[3]],h=s[0],u=s[1],p=_+(a-_)*h|0,f=l+($-l)*h|0;return p+(f-p)*u|0}if(3==o){var c=r[n[0]],d=r[n[1]],g=r[n[2]],y=r[n[3]],m=r[n[4]],T=r[n[5]],P=r[n[6]],S=r[n[7]],h=s[0],u=s[1],v=s[2],_=c+(d-c)*h|0,a=g+(y-g)*h|0,l=m+(T-m)*h|0,$=P+(S-P)*h|0,p=_+(a-_)*u|0,f=l+($-l)*u|0;return p+(f-p)*v|0}if(4==o){var L=r[n[0]],M=r[n[1]],E=r[n[2]],A=r[n[3]],I=r[n[4]],w=r[n[5]],x=r[n[6]],O=r[n[7]],D=r[n[8]],R=r[n[9]],b=r[n[10]],F=r[n[11]],C=r[n[12]],N=r[n[13]],B=r[n[14]],U=r[n[15]],h=s[0],u=s[1],v=s[2],G=s[3],c=L+(M-L)*h|0,d=E+(A-E)*h|0,g=I+(w-I)*h|0,y=x+(O-x)*h|0,m=D+(R-D)*h|0,T=b+(F-b)*h|0,P=C+(N-C)*h|0,S=B+(U-B)*h|0,_=c+(d-c)*u|0,a=g+(y-g)*u|0,l=m+(T-m)*u|0,$=P+(S-P)*u|0,p=_+(a-_)*v|0,f=l+($-l)*v|0;return p+(f-p)*G|0}for(var Y=1<=G._$T7?(this.clipID=t._$nP(),this.clipIDList=this.convertClipIDForV2_11(this.clipID)):this.clipIDList=[],this._$MS(this._$Lb)},M.prototype.getClipIDList=function(){return this.clipIDList},M.prototype.init=function(t){},M.prototype._$Nr=function(t,i){if(i._$IS[0]=!1,i._$Us=v._$Z2(t,this._$GS,i._$IS,this._$Lb),at._$Zs);else if(i._$IS[0])return;i._$7s=v._$br(t,this._$GS,i._$IS,this._$mS)},M.prototype._$2b=function(t,i){},M.prototype.getDrawDataID=function(){return this._$gP},M.prototype._$j2=function(t){this._$gP=t},M.prototype.getOpacity=function(t,i){return i._$7s},M.prototype._$zS=function(t,i){return i._$Us},M.prototype._$MS=function(t){for(var i=t.length-1;i>=0;--i){var e=t[i];eM._$R2&&(M._$R2=e)}},M.prototype.getTargetBaseDataID=function(){return this._$dr},M.prototype._$gs=function(t){this._$dr=t},M.prototype._$32=function(){return null!=this._$dr&&this._$dr!=yt._$2o()},M.prototype.preDraw=function(t,i,e){},M.prototype.draw=function(t,i,e){},M.prototype.getType=function(){},M.prototype._$B2=function(t,i,e){},E._$ps=32,E.CLIPPING_PROCESS_NONE=0,E.CLIPPING_PROCESS_OVERWRITE_ALPHA=1,E.CLIPPING_PROCESS_MULTIPLY_ALPHA=2,E.CLIPPING_PROCESS_DRAW=3,E.CLIPPING_PROCESS_CLEAR_ALPHA=4,E.prototype.setChannelFlagAsColor=function(t,i){this.CHANNEL_COLORS[t]=i},E.prototype.getChannelFlagAsColor=function(t){return this.CHANNEL_COLORS[t]},E.prototype._$ZT=function(){},E.prototype._$Uo=function(t,i,e,r,o,n,s){},E.prototype._$Rs=function(){return-1},E.prototype._$Ds=function(t){},E.prototype.setBaseColor=function(t,i,e,r){t<0?t=0:t>1&&(t=1),i<0?i=0:i>1&&(i=1),e<0?e=0:e>1&&(e=1),r<0?r=0:r>1&&(r=1),this._$lT=t,this._$C0=i,this._$tT=e,this._$WL=r},E.prototype._$WP=function(t){this.culling=t},E.prototype.setMatrix=function(t){for(var i=0;i<16;i++)this.matrix4x4[i]=t[i]},E.prototype._$IT=function(){return this.matrix4x4},E.prototype.setPremultipliedAlpha=function(t){this.premultipliedAlpha=t},E.prototype.isPremultipliedAlpha=function(){return this.premultipliedAlpha},E.prototype.setAnisotropy=function(t){this.anisotropy=t},E.prototype.getAnisotropy=function(){return this.anisotropy},E.prototype.getClippingProcess=function(){return this.clippingProcess},E.prototype.setClippingProcess=function(t){this.clippingProcess=t},E.prototype.setClipBufPre_clipContextForMask=function(t){this.clipBufPre_clipContextMask=t},E.prototype.getClipBufPre_clipContextMask=function(){return this.clipBufPre_clipContextMask},E.prototype.setClipBufPre_clipContextForDraw=function(t){this.clipBufPre_clipContextDraw=t},E.prototype.getClipBufPre_clipContextDraw=function(){return this.clipBufPre_clipContextDraw},I._$ur=-2,I._$c2=1,I._$_b=2,I.prototype._$F0=function(t){this._$kP=t._$nP(),this._$dr=t._$nP()},I.prototype.readV2_opacity=function(t){t.getFormatVersion()>=G.LIVE2D_FORMAT_VERSION_V2_10_SDK2&&(this._$mS=t._$Tb())},I.prototype.init=function(t){},I.prototype._$Nr=function(t,i){},I.prototype.interpolateOpacity=function(t,i,e,r){null==this._$mS?e.setInterpolatedOpacity(1):e.setInterpolatedOpacity(v._$br(t,i,r,this._$mS))},I.prototype._$2b=function(t,i){},I.prototype._$nb=function(t,i,e,r,o,n,s){},I.prototype.getType=function(){},I.prototype._$gs=function(t){this._$dr=t},I.prototype._$a2=function(t){this._$kP=t},I.prototype.getTargetBaseDataID=function(){return this._$dr},I.prototype.getBaseDataID=function(){return this._$kP},I.prototype._$32=function(){return null!=this._$dr&&this._$dr!=yt._$2o()},w._$W2=0,w._$CS=w._$W2,w._$Mo=function(){return!0},w._$XP=function(t){try{for(var i=getTimeMSec();getTimeMSec()-i=t.length)return!1;for(var o=i;o=0;--e){var r=this._$Ob[e].getParamIndex(i);if(r==x._$ds&&(r=t.getParamIndex(this._$Ob[e].getParamID())),t._$Xb(r))return!0}return!1},D.prototype._$Q2=function(t,i){for(var e,r,o=this._$Ob.length,n=t._$v2(),s=0,_=0;_U._$Qb&&console.log("err 23245\n");for(var o=this._$Ob.length,n=1,s=1,_=0,a=0;a=0;--n)e[n]=o[n]}else this.mult_fast(t,i,e,r)},R.prototype.mult_fast=function(t,i,e,r){r?(e[0]=t[0]*i[0]+t[4]*i[1]+t[8]*i[2],e[4]=t[0]*i[4]+t[4]*i[5]+t[8]*i[6],e[8]=t[0]*i[8]+t[4]*i[9]+t[8]*i[10],e[12]=t[0]*i[12]+t[4]*i[13]+t[8]*i[14]+t[12],e[1]=t[1]*i[0]+t[5]*i[1]+t[9]*i[2],e[5]=t[1]*i[4]+t[5]*i[5]+t[9]*i[6],e[9]=t[1]*i[8]+t[5]*i[9]+t[9]*i[10],e[13]=t[1]*i[12]+t[5]*i[13]+t[9]*i[14]+t[13],e[2]=t[2]*i[0]+t[6]*i[1]+t[10]*i[2],e[6]=t[2]*i[4]+t[6]*i[5]+t[10]*i[6],e[10]=t[2]*i[8]+t[6]*i[9]+t[10]*i[10],e[14]=t[2]*i[12]+t[6]*i[13]+t[10]*i[14]+t[14],e[3]=e[7]=e[11]=0,e[15]=1):(e[0]=t[0]*i[0]+t[4]*i[1]+t[8]*i[2]+t[12]*i[3],e[4]=t[0]*i[4]+t[4]*i[5]+t[8]*i[6]+t[12]*i[7],e[8]=t[0]*i[8]+t[4]*i[9]+t[8]*i[10]+t[12]*i[11],e[12]=t[0]*i[12]+t[4]*i[13]+t[8]*i[14]+t[12]*i[15],e[1]=t[1]*i[0]+t[5]*i[1]+t[9]*i[2]+t[13]*i[3],e[5]=t[1]*i[4]+t[5]*i[5]+t[9]*i[6]+t[13]*i[7],e[9]=t[1]*i[8]+t[5]*i[9]+t[9]*i[10]+t[13]*i[11],e[13]=t[1]*i[12]+t[5]*i[13]+t[9]*i[14]+t[13]*i[15],e[2]=t[2]*i[0]+t[6]*i[1]+t[10]*i[2]+t[14]*i[3],e[6]=t[2]*i[4]+t[6]*i[5]+t[10]*i[6]+t[14]*i[7],e[10]=t[2]*i[8]+t[6]*i[9]+t[10]*i[10]+t[14]*i[11],e[14]=t[2]*i[12]+t[6]*i[13]+t[10]*i[14]+t[14]*i[15],e[3]=t[3]*i[0]+t[7]*i[1]+t[11]*i[2]+t[15]*i[3],e[7]=t[3]*i[4]+t[7]*i[5]+t[11]*i[6]+t[15]*i[7],e[11]=t[3]*i[8]+t[7]*i[9]+t[11]*i[10]+t[15]*i[11],e[15]=t[3]*i[12]+t[7]*i[13]+t[11]*i[14]+t[15]*i[15])},R.prototype.translate=function(t,i,e){this.m[12]=this.m[0]*t+this.m[4]*i+this.m[8]*e+this.m[12],this.m[13]=this.m[1]*t+this.m[5]*i+this.m[9]*e+this.m[13],this.m[14]=this.m[2]*t+this.m[6]*i+this.m[10]*e+this.m[14],this.m[15]=this.m[3]*t+this.m[7]*i+this.m[11]*e+this.m[15]},R.prototype.scale=function(t,i,e){this.m[0]*=t,this.m[4]*=i,this.m[8]*=e,this.m[1]*=t,this.m[5]*=i,this.m[9]*=e,this.m[2]*=t,this.m[6]*=i,this.m[10]*=e,this.m[3]*=t,this.m[7]*=i,this.m[11]*=e},R.prototype.rotateX=function(t){var i=Lt.fcos(t),e=Lt._$9(t),r=this.m[4];this.m[4]=r*i+this.m[8]*e,this.m[8]=r*-e+this.m[8]*i,r=this.m[5],this.m[5]=r*i+this.m[9]*e,this.m[9]=r*-e+this.m[9]*i,r=this.m[6],this.m[6]=r*i+this.m[10]*e,this.m[10]=r*-e+this.m[10]*i,r=this.m[7],this.m[7]=r*i+this.m[11]*e,this.m[11]=r*-e+this.m[11]*i},R.prototype.rotateY=function(t){var i=Lt.fcos(t),e=Lt._$9(t),r=this.m[0];this.m[0]=r*i+this.m[8]*-e,this.m[8]=r*e+this.m[8]*i,r=this.m[1],this.m[1]=r*i+this.m[9]*-e,this.m[9]=r*e+this.m[9]*i,r=m[2],this.m[2]=r*i+this.m[10]*-e,this.m[10]=r*e+this.m[10]*i,r=m[3],this.m[3]=r*i+this.m[11]*-e,this.m[11]=r*e+this.m[11]*i},R.prototype.rotateZ=function(t){var i=Lt.fcos(t),e=Lt._$9(t),r=this.m[0];this.m[0]=r*i+this.m[4]*e,this.m[4]=r*-e+this.m[4]*i,r=this.m[1],this.m[1]=r*i+this.m[5]*e,this.m[5]=r*-e+this.m[5]*i,r=this.m[2],this.m[2]=r*i+this.m[6]*e,this.m[6]=r*-e+this.m[6]*i,r=this.m[3],this.m[3]=r*i+this.m[7]*e,this.m[7]=r*-e+this.m[7]*i},b.prototype=new et,b._$tP=new Object,b._$27=function(){b._$tP.clear()},b.getID=function(t){var i=b._$tP[t];return null==i&&(i=new b(t),b._$tP[t]=i),i},b.prototype._$3s=function(){return new b},F._$kS=-1,F._$pS=0,F._$hb=1,F.STATE_IDENTITY=0,F._$gb=1,F._$fo=2,F._$go=4,F.prototype.transform=function(t,i,e){var r,o,n,s,_,a,h=0,l=0;switch(this._$hi){default:return;case F._$go|F._$fo|F._$gb:for(r=this._$7,o=this._$H,n=this._$k,s=this._$f,_=this._$g,a=this._$w;--e>=0;){var $=t[h++],u=t[h++];i[l++]=r*$+o*u+n,i[l++]=s*$+_*u+a}return;case F._$go|F._$fo:for(r=this._$7,o=this._$H,s=this._$f,_=this._$g;--e>=0;){var $=t[h++],u=t[h++];i[l++]=r*$+o*u,i[l++]=s*$+_*u}return;case F._$go|F._$gb:for(o=this._$H,n=this._$k,s=this._$f,a=this._$w;--e>=0;){var $=t[h++];i[l++]=o*t[h++]+n,i[l++]=s*$+a}return;case F._$go:for(o=this._$H,s=this._$f;--e>=0;){var $=t[h++];i[l++]=o*t[h++],i[l++]=s*$}return;case F._$fo|F._$gb:for(r=this._$7,n=this._$k,_=this._$g,a=this._$w;--e>=0;)i[l++]=r*t[h++]+n,i[l++]=_*t[h++]+a;return;case F._$fo:for(r=this._$7,_=this._$g;--e>=0;)i[l++]=r*t[h++],i[l++]=_*t[h++];return;case F._$gb:for(n=this._$k,a=this._$w;--e>=0;)i[l++]=t[h++]+n,i[l++]=t[h++]+a;return;case F.STATE_IDENTITY:return void(t==i&&h==l||w._$jT(t,h,i,l,2*e))}},F.prototype.update=function(){0==this._$H&&0==this._$f?1==this._$7&&1==this._$g?0==this._$k&&0==this._$w?(this._$hi=F.STATE_IDENTITY,this._$Z=F._$pS):(this._$hi=F._$gb,this._$Z=F._$hb):0==this._$k&&0==this._$w?(this._$hi=F._$fo,this._$Z=F._$kS):(this._$hi=F._$fo|F._$gb,this._$Z=F._$kS):0==this._$7&&0==this._$g?0==this._$k&&0==this._$w?(this._$hi=F._$go,this._$Z=F._$kS):(this._$hi=F._$go|F._$gb,this._$Z=F._$kS):0==this._$k&&0==this._$w?(this._$hi=F._$go|F._$fo,this._$Z=F._$kS):(this._$hi=F._$go|F._$fo|F._$gb,this._$Z=F._$kS)},F.prototype._$RT=function(t){this._$IT(t);var i=t[0],e=t[2],r=t[1],o=t[3],n=Math.sqrt(i*i+r*r),s=i*o-e*r;0==n?at._$so&&console.log("affine._$RT() / rt==0"):(t[0]=n,t[1]=s/n,t[2]=(r*o+i*e)/s,t[3]=Math.atan2(r,i))},F.prototype._$ho=function(t,i,e,r){var o=new Float32Array(6),n=new Float32Array(6);t._$RT(o),i._$RT(n);var s=new Float32Array(6);s[0]=o[0]+(n[0]-o[0])*e,s[1]=o[1]+(n[1]-o[1])*e,s[2]=o[2]+(n[2]-o[2])*e,s[3]=o[3]+(n[3]-o[3])*e,s[4]=o[4]+(n[4]-o[4])*e,s[5]=o[5]+(n[5]-o[5])*e,r._$CT(s)},F.prototype._$CT=function(t){var i=Math.cos(t[3]),e=Math.sin(t[3]);this._$7=t[0]*i,this._$f=t[0]*e,this._$H=t[1]*(t[2]*i-e),this._$g=t[1]*(t[2]*e+i),this._$k=t[4],this._$w=t[5],this.update()},F.prototype._$IT=function(t){t[0]=this._$7,t[1]=this._$f,t[2]=this._$H,t[3]=this._$g,t[4]=this._$k,t[5]=this._$w},C.prototype=new s,C._$cs="VISIBLE:",C._$ar="LAYOUT:",C._$Co=0,C._$D2=[],C._$1T=1,C.loadMotion=function(t){var i=new C,e=[0],r=t.length;i._$yT=0;for(var o=0;o=0){var a=new B;O.startsWith(t,s,C._$cs)?(a._$RP=B._$hs,a._$4P=new String(t,s,_-s)):O.startsWith(t,s,C._$ar)?(a._$4P=new String(t,s+7,_-s-7),O.startsWith(t,s+7,"ANCHOR_X")?a._$RP=B._$xs:O.startsWith(t,s+7,"ANCHOR_Y")?a._$RP=B._$us:O.startsWith(t,s+7,"SCALE_X")?a._$RP=B._$qs:O.startsWith(t,s+7,"SCALE_Y")?a._$RP=B._$Ys:O.startsWith(t,s+7,"X")?a._$RP=B._$ws:O.startsWith(t,s+7,"Y")&&(a._$RP=B._$Ns)):(a._$RP=B._$Fr,a._$4P=new String(t,s,_-s)),i.motions.push(a);var h=0;for(C._$D2.clear(),o=_+1;o0){C._$D2.push(l),h++;var $=e[0];if($i._$yT&&(i._$yT=h)}}}else{for(var s=o,_=-1;o=0)for(_==s+4&&"f"==t[s+1]&&"p"==t[s+2]&&"s"==t[s+3]&&(u=!0),o=_+1;o0&&u&&5=l?l-1:s];t.setParamFloat($,u)}else if(B._$ws<=h._$RP&&h._$RP<=B._$Ys);else{var p=t.getParamFloat($),f=h._$I0[s>=l?l-1:s],c=h._$I0[s+1>=l?l-1:s+1],d=f+(c-f)*_,g=p+(d-p)*e;t.setParamFloat($,g)}}s>=this._$yT&&(this._$E?(r._$z2=i,this.loopFadeIn&&(r._$bs=i)):r._$9L=!0)},C.prototype._$r0=function(){return this._$E},C.prototype._$aL=function(t){this._$E=t},C.prototype.isLoopFadeIn=function(){return this.loopFadeIn},C.prototype.setLoopFadeIn=function(t){this.loopFadeIn=t},N.prototype.clear=function(){this.size=0},N.prototype.add=function(t){if(this._$P.length<=this.size){var i=new Float32Array(2*this.size);w._$jT(this._$P,0,i,0,this.size),this._$P=i}this._$P[this.size++]=t},N.prototype._$BL=function(){var t=new Float32Array(this.size);return w._$jT(this._$P,0,t,0,this.size),t},B._$Fr=0,B._$hs=1,B._$ws=100,B._$Ns=101,B._$xs=102,B._$us=103,B._$qs=104,B._$Ys=105,U._$Ms=1,U._$Qs=2,U._$i2=0,U._$No=2,U._$do=U._$Ms,U._$Ls=!0,U._$1r=5,U._$Qb=65,U._$J=1e-4,U._$FT=.001,U._$Ss=3,G._$o7=6,G._$S7=7,G._$s7=8,G._$77=9,G.LIVE2D_FORMAT_VERSION_V2_10_SDK2=10,G.LIVE2D_FORMAT_VERSION_V2_11_SDK2_1=11,G._$T7=G.LIVE2D_FORMAT_VERSION_V2_11_SDK2_1,G._$Is=-2004318072,G._$h0=0,G._$4L=23,G._$7P=33,G._$uT=function(t){console.log("_$bo :: _$6 _$mo _$E0 : %d\n",t)},G._$9o=function(t){if(t<40)return G._$uT(t),null;if(t<50)return G._$uT(t),null;if(t<60)return G._$uT(t),null;if(t<100)switch(t){case 65:return new Z;case 66:return new D;case 67:return new x;case 68:return new z;case 69:return new P;case 70:return new $t;default:return G._$uT(t),null}else if(t<150)switch(t){case 131:return new st;case 133:return new tt;case 136:return new p;case 137:return new ot;case 142:return new j}return G._$uT(t),null},Y._$HP=0,Y._$_0=!0;Y._$V2=-1,Y._$W0=-1,Y._$jr=!1,Y._$ZS=!0,Y._$tr=-1e6,Y._$lr=1e6,Y._$is=32,Y._$e=!1,Y.prototype.getDrawDataIndex=function(t){for(var i=this._$aS.length-1;i>=0;--i)if(null!=this._$aS[i]&&this._$aS[i].getDrawDataID()==t)return i;return-1},Y.prototype.getDrawData=function(t){if(t instanceof b){if(null==this._$Bo){this._$Bo=new Object;for(var i=this._$aS.length,e=0;e0&&this.release();for(var t=this._$Ri.getModelImpl(),i=t._$Xr(),r=i.length,o=new Array,n=new Array,s=0;s=0)&&(this._$3S.push(m),this._$db.push(n[s]),o[s]=null,y=!0)}}if(!y)break}var P=t._$E2();if(null!=P){var S=P._$1s();if(null!=S)for(var v=S.length,s=0;s=0;i--)this._$Js[i]=Y._$jr;return this._$QT=!1,Y._$e&&_.dump("_$eL"),!1},Y.prototype.preDraw=function(t){null!=this.clipManager&&(t._$ZT(),this.clipManager.setupClip(this,t))},Y.prototype.draw=function(t){if(null==this._$Ws)return void _._$li("call _$Ri.update() before _$Ri.draw() ");var i=this._$Ws.length;t._$ZT();for(var e=0;e=0;--i)if(this._$pb[i]==t)return i;return this._$02(t,0,Y._$tr,Y._$lr)},Y.prototype._$BS=function(t){return this.getBaseDataIndex(t)},Y.prototype.getBaseDataIndex=function(t){for(var i=this._$3S.length-1;i>=0;--i)if(null!=this._$3S[i]&&this._$3S[i].getBaseDataID()==t)return i;return-1},Y.prototype._$UT=function(t,i){var e=new Float32Array(i);return w._$jT(t,0,e,0,t.length),e},Y.prototype._$02=function(t,i,e,r){if(this._$qo>=this._$pb.length){var o=this._$pb.length,n=new Array(2*o);w._$jT(this._$pb,0,n,0,o),this._$pb=n,this._$_2=this._$UT(this._$_2,2*o),this._$vr=this._$UT(this._$vr,2*o),this._$Rr=this._$UT(this._$Rr,2*o),this._$Or=this._$UT(this._$Or,2*o);var s=new Array;w._$jT(this._$Js,0,s,0,o),this._$Js=s}return this._$pb[this._$qo]=t,this._$_2[this._$qo]=i,this._$vr[this._$qo]=i,this._$Rr[this._$qo]=e,this._$Or[this._$qo]=r,this._$Js[this._$qo]=Y._$ZS,this._$qo++},Y.prototype._$Zo=function(t,i){this._$3S[t]=i},Y.prototype.setParamFloat=function(t,i){ithis._$Or[t]&&(i=this._$Or[t]),this._$_2[t]=i},Y.prototype.loadParam=function(){var t=this._$_2.length;t>this._$fs.length&&(t=this._$fs.length),w._$jT(this._$fs,0,this._$_2,0,t)},Y.prototype.saveParam=function(){var t=this._$_2.length;t>this._$fs.length&&(this._$fs=new Float32Array(t)),w._$jT(this._$_2,0,this._$fs,0,t)},Y.prototype._$v2=function(){return this._$co},Y.prototype._$WS=function(){return this._$QT},Y.prototype._$Xb=function(t){return this._$Js[t]==Y._$ZS},Y.prototype._$vs=function(){return this._$Es},Y.prototype._$Tr=function(){return this._$ZP},Y.prototype.getBaseData=function(t){return this._$3S[t]},Y.prototype.getParamFloat=function(t){return this._$_2[t]},Y.prototype.getParamMax=function(t){return this._$Or[t]},Y.prototype.getParamMin=function(t){return this._$Rr[t]},Y.prototype.setPartsOpacity=function(t,i){this._$Hr[t].setPartsOpacity(i)},Y.prototype.getPartsOpacity=function(t){return this._$Hr[t].getPartsOpacity()},Y.prototype.getPartsDataIndex=function(t){for(var i=this._$F2.length-1;i>=0;--i)if(null!=this._$F2[i]&&this._$F2[i]._$p2()==t)return i;return-1},Y.prototype._$q2=function(t){return this._$db[t]},Y.prototype._$C2=function(t){return this._$8b[t]},Y.prototype._$Bb=function(t){return this._$Hr[t]},Y.prototype._$5s=function(t,i){for(var e=this._$Ws.length,r=t,o=0;o0;)n+=i;return r},k._$C=function(t){var i=null,e=null;try{i=t instanceof Array?t:new _$Xs(t,8192),e=new _$js;for(var r,o=new Int8Array(1e3);(r=i.read(o))>0;)e.write(o,0,r);return e._$TS()}finally{null!=t&&t.close(),null!=e&&(e.flush(),e.close())}},V.prototype._$T2=function(){return w.getUserTimeMSec()+Math._$10()*(2*this._$Br-1)},V.prototype._$uo=function(t){this._$Br=t},V.prototype._$QS=function(t,i,e){this._$Dr=t,this._$Cb=i,this._$mr=e},V.prototype._$7T=function(t){var i,e=w.getUserTimeMSec(),r=0;switch(this._$_L){case STATE_CLOSING:r=(e-this._$bb)/this._$Dr,r>=1&&(r=1,this._$_L=wt.STATE_CLOSED,this._$bb=e),i=1-r;break;case STATE_CLOSED:r=(e-this._$bb)/this._$Cb,r>=1&&(this._$_L=wt.STATE_OPENING,this._$bb=e),i=0;break;case STATE_OPENING:r=(e-this._$bb)/this._$mr,r>=1&&(r=1,this._$_L=wt.STATE_INTERVAL,this._$12=this._$T2()),i=r;break;case STATE_INTERVAL:this._$12.9?at.EXPAND_W:0;this.gl.drawElements(a,e,r,o,n,h,this.transform,_)}},X.prototype._$Rs=function(){throw new Error("_$Rs")},X.prototype._$Ds=function(t){throw new Error("_$Ds")},X.prototype._$K2=function(){for(var t=0;t=0;--i){var e=t[i];eW._$R2&&(W._$R2=e)}},W._$or=function(){return W._$52},W._$Pr=function(){return W._$R2},W.prototype._$F0=function(t){this._$gP=t._$nP(),this._$dr=t._$nP(),this._$GS=t._$nP(),this._$qb=t._$6L(),this._$Lb=t._$cS(),this._$mS=t._$Tb(),t.getFormatVersion()>=G._$T7?(this.clipID=t._$nP(),this.clipIDList=this.convertClipIDForV2_11(this.clipID)):this.clipIDList=null,W._$Sb(this._$Lb)},W.prototype.getClipIDList=function(){return this.clipIDList},W.prototype._$Nr=function(t,i){if(i._$IS[0]=!1,i._$Us=v._$Z2(t,this._$GS,i._$IS,this._$Lb),at._$Zs);else if(i._$IS[0])return;i._$7s=v._$br(t,this._$GS,i._$IS,this._$mS)},W.prototype._$2b=function(t){},W.prototype.getDrawDataID=function(){return this._$gP},W.prototype._$j2=function(t){this._$gP=t},W.prototype.getOpacity=function(t,i){return i._$7s},W.prototype._$zS=function(t,i){return i._$Us},W.prototype.getTargetBaseDataID=function(){return this._$dr},W.prototype._$gs=function(t){this._$dr=t},W.prototype._$32=function(){return null!=this._$dr&&this._$dr!=yt._$2o()},W.prototype.getType=function(){},j._$42=0,j.prototype._$1b=function(){return this._$3S},j.prototype.getDrawDataList=function(){return this._$aS},j.prototype._$F0=function(t){this._$NL=t._$nP(),this._$aS=t._$nP(),this._$3S=t._$nP()},j.prototype._$kr=function(t){t._$Zo(this._$3S),t._$xo(this._$aS),this._$3S=null,this._$aS=null},q.prototype=new i,q.loadModel=function(t){var e=new q;return i._$62(e,t),e},q.loadModel=function(t){var e=new q;return i._$62(e,t),e},q._$to=function(){return new q},q._$er=function(t){var i=new _$5("../_$_r/_$t0/_$Ri/_$_P._$d");if(0==i.exists())throw new _$ls("_$t0 _$_ _$6 _$Ui :: "+i._$PL());for(var e=["../_$_r/_$t0/_$Ri/_$_P.512/_$CP._$1","../_$_r/_$t0/_$Ri/_$_P.512/_$vP._$1","../_$_r/_$t0/_$Ri/_$_P.512/_$EP._$1","../_$_r/_$t0/_$Ri/_$_P.512/_$pP._$1"],r=q.loadModel(i._$3b()),o=0;o=0){var h=new B;O.startsWith(t,_,J._$cs)?(h._$RP=B._$hs,h._$4P=O.createString(t,_,a-_)):O.startsWith(t,_,J._$ar)?(h._$4P=O.createString(t,_+7,a-_-7),O.startsWith(t,_+7,"ANCHOR_X")?h._$RP=B._$xs:O.startsWith(t,_+7,"ANCHOR_Y")?h._$RP=B._$us:O.startsWith(t,_+7,"SCALE_X")?h._$RP=B._$qs:O.startsWith(t,_+7,"SCALE_Y")?h._$RP=B._$Ys:O.startsWith(t,_+7,"X")?h._$RP=B._$ws:O.startsWith(t,_+7,"Y")&&(h._$RP=B._$Ns)):(h._$RP=B._$Fr,h._$4P=O.createString(t,_,a-_)),i.motions.push(h);var l=0,$=[];for(o=a+1;o0){$.push(u),l++;var p=e[0];if(pi._$yT&&(i._$yT=l)}}}else{for(var _=o,a=-1;o=0)for(a==_+4&&"f"==Q(t,_+1)&&"p"==Q(t,_+2)&&"s"==Q(t,_+3)&&(f=!0),o=a+1;o0&&f&&5=l?l-1:s];t.setParamFloat($,u)}else if(B._$ws<=h._$RP&&h._$RP<=B._$Ys);else{var p,f=t.getParamIndex($),c=t.getModelContext(),d=c.getParamMax(f),g=c.getParamMin(f),y=.4*(d-g),m=c.getParamFloat(f),T=h._$I0[s>=l?l-1:s],P=h._$I0[s+1>=l?l-1:s+1];p=Ty||T>P&&T-P>y?T:T+(P-T)*_;var S=m+(p-m)*e;t.setParamFloat($,S)}}s>=this._$yT&&(this._$E?(r._$z2=i,this.loopFadeIn&&(r._$bs=i)):r._$9L=!0),this._$eP=e},J.prototype._$r0=function(){return this._$E},J.prototype._$aL=function(t){this._$E=t},J.prototype._$S0=function(){return this._$D0},J.prototype._$U0=function(t){this._$D0=t},J.prototype.isLoopFadeIn=function(){return this.loopFadeIn},J.prototype.setLoopFadeIn=function(t){this.loopFadeIn=t},N.prototype.clear=function(){this.size=0},N.prototype.add=function(t){if(this._$P.length<=this.size){var i=new Float32Array(2*this.size);w._$jT(this._$P,0,i,0,this.size),this._$P=i}this._$P[this.size++]=t},N.prototype._$BL=function(){var t=new Float32Array(this.size);return w._$jT(this._$P,0,t,0,this.size),t},B._$Fr=0,B._$hs=1,B._$ws=100,B._$Ns=101,B._$xs=102,B._$us=103,B._$qs=104,B._$Ys=105,Z.prototype=new I,Z._$gT=new Array,Z.prototype._$zP=function(){this._$GS=new D,this._$GS._$zP()},Z.prototype._$F0=function(t){I.prototype._$F0.call(this,t),this._$A=t._$6L(),this._$o=t._$6L(),this._$GS=t._$nP(),this._$Eo=t._$nP(),I.prototype.readV2_opacity.call(this,t)},Z.prototype.init=function(t){var i=new K(this),e=(this._$o+1)*(this._$A+1);return null!=i._$Cr&&(i._$Cr=null),i._$Cr=new Float32Array(2*e),null!=i._$hr&&(i._$hr=null),this._$32()?i._$hr=new Float32Array(2*e):i._$hr=null,i},Z.prototype._$Nr=function(t,i){var e=i;if(this._$GS._$Ur(t)){var r=this._$VT(),o=Z._$gT;o[0]=!1,v._$Vr(t,this._$GS,o,r,this._$Eo,e._$Cr,0,2),i._$Ib(o[0]),this.interpolateOpacity(t,this._$GS,i,o)}},Z.prototype._$2b=function(t,i){var e=i;if(e._$hS(!0),this._$32()){var r=this.getTargetBaseDataID();if(e._$8r==I._$ur&&(e._$8r=t.getBaseDataIndex(r)),e._$8r<0)at._$so&&_._$li("_$L _$0P _$G :: %s",r),e._$hS(!1);else{var o=t.getBaseData(e._$8r),n=t._$q2(e._$8r);if(null!=o&&n._$yo()){var s=n.getTotalScale();e.setTotalScale_notForClient(s);var a=n.getTotalOpacity();e.setTotalOpacity(a*e.getInterpolatedOpacity()),o._$nb(t,n,e._$Cr,e._$hr,this._$VT(),0,2),e._$hS(!0)}else e._$hS(!1)}}else e.setTotalOpacity(e.getInterpolatedOpacity())},Z.prototype._$nb=function(t,i,e,r,o,n,s){var _=i,a=null!=_._$hr?_._$hr:_._$Cr;Z.transformPoints_sdk2(e,r,o,n,s,a,this._$o,this._$A)},Z.transformPoints_sdk2=function(i,e,r,o,n,s,_,a){for(var h,l,$,u=r*n,p=0,f=0,c=0,d=0,g=0,y=0,m=!1,T=o;T=1){var b=s[2*(0+a*M)],F=s[2*(0+a*M)+1],C=p-2*c+1*g,N=f-2*d+1*y,x=p+3*g,O=f+3*y,D=p-2*c+3*g,R=f-2*d+3*y,B=.5*(v- -2),U=.5*(L-1);B+U<=1?(e[T]=C+(b-C)*B+(D-C)*U,e[T+1]=N+(F-N)*B+(R-N)*U):(e[T]=x+(D-x)*(1-B)+(b-x)*(1-U),e[T+1]=O+(R-O)*(1-B)+(F-O)*(1-U))}else{var G=0|S;G==a&&(G=a-1);var B=.5*(v- -2),U=S-G,Y=G/a,k=(G+1)/a,b=s[2*(0+G*M)],F=s[2*(0+G*M)+1],x=s[2*(0+(G+1)*M)],O=s[2*(0+(G+1)*M)+1],C=p-2*c+Y*g,N=f-2*d+Y*y,D=p-2*c+k*g,R=f-2*d+k*y;B+U<=1?(e[T]=C+(b-C)*B+(D-C)*U,e[T+1]=N+(F-N)*B+(R-N)*U):(e[T]=x+(D-x)*(1-B)+(b-x)*(1-U),e[T+1]=O+(R-O)*(1-B)+(F-O)*(1-U))}else if(1<=v)if(L<=0){var D=s[2*(_+0*M)],R=s[2*(_+0*M)+1],x=p+3*c,O=f+3*d,C=p+1*c-2*g,N=f+1*d-2*y,b=p+3*c-2*g,F=f+3*d-2*y,B=.5*(v-1),U=.5*(L- -2);B+U<=1?(e[T]=C+(b-C)*B+(D-C)*U,e[T+1]=N+(F-N)*B+(R-N)*U):(e[T]=x+(D-x)*(1-B)+(b-x)*(1-U),e[T+1]=O+(R-O)*(1-B)+(F-O)*(1-U))}else if(L>=1){var C=s[2*(_+a*M)],N=s[2*(_+a*M)+1],b=p+3*c+1*g,F=f+3*d+1*y,D=p+1*c+3*g,R=f+1*d+3*y,x=p+3*c+3*g,O=f+3*d+3*y,B=.5*(v-1),U=.5*(L-1);B+U<=1?(e[T]=C+(b-C)*B+(D-C)*U,e[T+1]=N+(F-N)*B+(R-N)*U):(e[T]=x+(D-x)*(1-B)+(b-x)*(1-U),e[T+1]=O+(R-O)*(1-B)+(F-O)*(1-U))}else{var G=0|S;G==a&&(G=a-1);var B=.5*(v-1),U=S-G,Y=G/a,k=(G+1)/a,C=s[2*(_+G*M)],N=s[2*(_+G*M)+1],D=s[2*(_+(G+1)*M)],R=s[2*(_+(G+1)*M)+1],b=p+3*c+Y*g,F=f+3*d+Y*y,x=p+3*c+k*g,O=f+3*d+k*y;B+U<=1?(e[T]=C+(b-C)*B+(D-C)*U,e[T+1]=N+(F-N)*B+(R-N)*U):(e[T]=x+(D-x)*(1-B)+(b-x)*(1-U),e[T+1]=O+(R-O)*(1-B)+(F-O)*(1-U))}else if(L<=0){var V=0|P;V==_&&(V=_-1);var B=P-V,U=.5*(L- -2),X=V/_,z=(V+1)/_,D=s[2*(V+0*M)],R=s[2*(V+0*M)+1],x=s[2*(V+1+0*M)],O=s[2*(V+1+0*M)+1],C=p+X*c-2*g,N=f+X*d-2*y,b=p+z*c-2*g,F=f+z*d-2*y;B+U<=1?(e[T]=C+(b-C)*B+(D-C)*U,e[T+1]=N+(F-N)*B+(R-N)*U):(e[T]=x+(D-x)*(1-B)+(b-x)*(1-U),e[T+1]=O+(R-O)*(1-B)+(F-O)*(1-U))}else if(L>=1){var V=0|P;V==_&&(V=_-1);var B=P-V,U=.5*(L-1),X=V/_,z=(V+1)/_,C=s[2*(V+a*M)],N=s[2*(V+a*M)+1],b=s[2*(V+1+a*M)],F=s[2*(V+1+a*M)+1],D=p+X*c+3*g,R=f+X*d+3*y,x=p+z*c+3*g,O=f+z*d+3*y;B+U<=1?(e[T]=C+(b-C)*B+(D-C)*U,e[T+1]=N+(F-N)*B+(R-N)*U):(e[T]=x+(D-x)*(1-B)+(b-x)*(1-U),e[T+1]=O+(R-O)*(1-B)+(F-O)*(1-U))}else t.err.printf("_$li calc : %.4f , %.4f\t\t\t\t\t@@BDBoxGrid\n",v,L);else e[T]=p+v*c+L*g,e[T+1]=f+v*d+L*y}else l=P-(0|P),$=S-(0|S),h=2*((0|P)+(0|S)*(_+1)),l+$<1?(e[T]=s[h]*(1-l-$)+s[h+2]*l+s[h+2*(_+1)]*$,e[T+1]=s[h+1]*(1-l-$)+s[h+3]*l+s[h+2*(_+1)+1]*$):(e[T]=s[h+2*(_+1)+2]*(l-1+$)+s[h+2*(_+1)]*(1-l)+s[h+2]*(1-$),e[T+1]=s[h+2*(_+1)+3]*(l-1+$)+s[h+2*(_+1)+1]*(1-l)+s[h+3]*(1-$))}},Z.prototype.transformPoints_sdk1=function(t,i,e,r,o,n,s){for(var _,a,h,l,$,u,p,f=i,c=this._$o,d=this._$A,g=o*s,y=null!=f._$hr?f._$hr:f._$Cr,m=n;m1&&(_=1),a<0?a=0:a>1&&(a=1),_*=c,a*=d,h=0|_,l=0|a,h>c-1&&(h=c-1),l>d-1&&(l=d-1),u=_-h,p=a-l,$=2*(h+l*(c+1))):(_=e[m]*c,a=e[m+1]*d,u=_-(0|_),p=a-(0|a),$=2*((0|_)+(0|a)*(c+1))),u+p<1?(r[m]=y[$]*(1-u-p)+y[$+2]*u+y[$+2*(c+1)]*p,r[m+1]=y[$+1]*(1-u-p)+y[$+3]*u+y[$+2*(c+1)+1]*p):(r[m]=y[$+2*(c+1)+2]*(u-1+p)+y[$+2*(c+1)]*(1-u)+y[$+2]*(1-p),r[m+1]=y[$+2*(c+1)+3]*(u-1+p)+y[$+2*(c+1)+1]*(1-u)+y[$+3]*(1-p))},Z.prototype._$VT=function(){return(this._$o+1)*(this._$A+1)},Z.prototype.getType=function(){return I._$_b},K.prototype=new _t,tt._$42=0,tt.prototype._$zP=function(){this._$3S=new Array,this._$aS=new Array},tt.prototype._$F0=function(t){this._$g0=t._$8L(),this.visible=t._$8L(),this._$NL=t._$nP(),this._$3S=t._$nP(),this._$aS=t._$nP()},tt.prototype.init=function(t){var i=new it(this);return i.setPartsOpacity(this.isVisible()?1:0),i},tt.prototype._$6o=function(t){if(null==this._$3S)throw new Error("_$3S _$6 _$Wo@_$6o");this._$3S.push(t)},tt.prototype._$3o=function(t){if(null==this._$aS)throw new Error("_$aS _$6 _$Wo@_$3o");this._$aS.push(t)},tt.prototype._$Zo=function(t){this._$3S=t},tt.prototype._$xo=function(t){this._$aS=t},tt.prototype.isVisible=function(){return this.visible},tt.prototype._$uL=function(){return this._$g0},tt.prototype._$KP=function(t){this.visible=t},tt.prototype._$ET=function(t){this._$g0=t},tt.prototype.getBaseData=function(){return this._$3S},tt.prototype.getDrawData=function(){return this._$aS},tt.prototype._$p2=function(){return this._$NL},tt.prototype._$ob=function(t){this._$NL=t},tt.prototype.getPartsID=function(){return this._$NL},tt.prototype._$MP=function(t){this._$NL=t},it.prototype=new $,it.prototype.getPartsOpacity=function(){return this._$VS},it.prototype.setPartsOpacity=function(t){this._$VS=t},et._$L7=function(){u._$27(),yt._$27(),b._$27(),l._$27()},et.prototype.toString=function(){return this.id},rt.prototype._$F0=function(t){},ot.prototype._$1s=function(){return this._$4S},ot.prototype._$zP=function(){this._$4S=new Array},ot.prototype._$F0=function(t){this._$4S=t._$nP()},ot.prototype._$Ks=function(t){this._$4S.push(t)},nt.tr=new gt,nt._$50=new gt,nt._$Ti=new Array(0,0),nt._$Pi=new Array(0,0),nt._$B=new Array(0,0),nt.prototype._$lP=function(t,i,e,r){this.viewport=new Array(t,i,e,r)},nt.prototype._$bL=function(){this.context.save();var t=this.viewport;null!=t&&(this.context.beginPath(),this.context._$Li(t[0],t[1],t[2],t[3]),this.context.clip())},nt.prototype._$ei=function(){this.context.restore()},nt.prototype.drawElements=function(t,i,e,r,o,n,s,a){try{o!=this._$Qo&&(this._$Qo=o,this.context.globalAlpha=o);for(var h=i.length,l=t.width,$=t.height,u=this.context,p=this._$xP,f=this._$uP,c=this._$6r,d=this._$3r,g=nt.tr,y=nt._$Ti,m=nt._$Pi,T=nt._$B,P=0;P.02?nt.expandClip(t,i,e,r,l,$,u,p,f,c):nt.clipWithTransform(t,null,o,n,s,_,a,h)},nt.expandClip=function(t,i,e,r,o,n,s,_,a,h){var l=s-o,$=_-n,u=a-o,p=h-n,f=l*p-$*u>0?e:-e,c=-$,d=l,g=a-s,y=h-_,m=-y,T=g,P=Math.sqrt(g*g+y*y),S=-p,v=u,L=Math.sqrt(u*u+p*p),M=o-f*c/r,E=n-f*d/r,A=s-f*c/r,I=_-f*d/r,w=s-f*m/P,x=_-f*T/P,O=a-f*m/P,D=h-f*T/P,R=o+f*S/L,b=n+f*v/L,F=a+f*S/L,C=h+f*v/L,N=nt._$50;return null!=i._$P2(N)&&(nt.clipWithTransform(t,N,M,E,A,I,w,x,O,D,F,C,R,b),!0)},nt.clipWithTransform=function(t,i,e,r,o,n,s,a){if(arguments.length<7)return void _._$li("err : @LDGL.clip()");if(!(arguments[1]instanceof gt))return void _._$li("err : a[0] is _$6 LDTransform @LDGL.clip()");var h=nt._$B,l=i,$=arguments;if(t.beginPath(),l){l._$PS($[2],$[3],h),t.moveTo(h[0],h[1]);for(var u=4;u<$.length;u+=2)l._$PS($[u],$[u+1],h),t.lineTo(h[0],h[1])}else{t.moveTo($[2],$[3]);for(var u=4;u<$.length;u+=2)t.lineTo($[u],$[u+1])}t.clip()},nt.createCanvas=function(t,i){var e=document.createElement("canvas");return e.setAttribute("width",t),e.setAttribute("height",i),e||_._$li("err : "+e),e},nt.dumpValues=function(){for(var t="",i=0;i1?1:.5-.5*Math.cos(t*Lt.PI_F)},lt._$fr=-1,lt.prototype.toString=function(){return this._$ib},$t.prototype=new W,$t._$42=0,$t._$Os=30,$t._$ms=0,$t._$ns=1,$t._$_s=2,$t._$gT=new Array,$t.prototype._$_S=function(t){this._$LP=t},$t.prototype.getTextureNo=function(){return this._$LP},$t.prototype._$ZL=function(){return this._$Qi},$t.prototype._$H2=function(){return this._$JP},$t.prototype.getNumPoints=function(){return this._$d0},$t.prototype.getType=function(){return W._$wb},$t.prototype._$B2=function(t,i,e){var r=i,o=null!=r._$hr?r._$hr:r._$Cr;switch(U._$do){default:case U._$Ms:throw new Error("_$L _$ro ");case U._$Qs:for(var n=this._$d0-1;n>=0;--n)o[n*U._$No+4]=e}},$t.prototype._$zP=function(){this._$GS=new D,this._$GS._$zP()},$t.prototype._$F0=function(t){W.prototype._$F0.call(this,t),this._$LP=t._$6L(),this._$d0=t._$6L(),this._$Yo=t._$6L();var i=t._$nP();this._$BP=new Int16Array(3*this._$Yo);for(var e=3*this._$Yo-1;e>=0;--e)this._$BP[e]=i[e];if(this._$Eo=t._$nP(),this._$Qi=t._$nP(),t.getFormatVersion()>=G._$s7){if(this._$JP=t._$6L(),0!=this._$JP){if(0!=(1&this._$JP)){var r=t._$6L();null==this._$5P&&(this._$5P=new Object),this._$5P._$Hb=parseInt(r)}0!=(this._$JP&$t._$Os)?this._$6s=(this._$JP&$t._$Os)>>1:this._$6s=$t._$ms,0!=(32&this._$JP)&&(this.culling=!1)}}else this._$JP=0},$t.prototype.init=function(t){var i=new ut(this),e=this._$d0*U._$No,r=this._$32();switch(null!=i._$Cr&&(i._$Cr=null),i._$Cr=new Float32Array(e),null!=i._$hr&&(i._$hr=null),i._$hr=r?new Float32Array(e):null,U._$do){default:case U._$Ms:if(U._$Ls)for(var o=this._$d0-1;o>=0;--o){var n=o<<1;this._$Qi[n+1]=1-this._$Qi[n+1]}break;case U._$Qs:for(var o=this._$d0-1;o>=0;--o){var n=o<<1,s=o*U._$No,_=this._$Qi[n],a=this._$Qi[n+1];i._$Cr[s]=_,i._$Cr[s+1]=a,i._$Cr[s+4]=0,r&&(i._$hr[s]=_,i._$hr[s+1]=a,i._$hr[s+4]=0)}}return i},$t.prototype._$Nr=function(t,i){var e=i;if(this!=e._$GT()&&console.log("### assert!! ### "),this._$GS._$Ur(t)&&(W.prototype._$Nr.call(this,t,e),!e._$IS[0])){var r=$t._$gT;r[0]=!1,v._$Vr(t,this._$GS,r,this._$d0,this._$Eo,e._$Cr,U._$i2,U._$No)}},$t.prototype._$2b=function(t,i){try{this!=i._$GT()&&console.log("### assert!! ### ");var e=!1;i._$IS[0]&&(e=!0);var r=i;if(!e&&(W.prototype._$2b.call(this,t),this._$32())){var o=this.getTargetBaseDataID();if(r._$8r==W._$ur&&(r._$8r=t.getBaseDataIndex(o)),r._$8r<0)at._$so&&_._$li("_$L _$0P _$G :: %s",o);else{var n=t.getBaseData(r._$8r),s=t._$q2(r._$8r);null==n||s._$x2()?r._$AT=!1:(n._$nb(t,s,r._$Cr,r._$hr,this._$d0,U._$i2,U._$No),r._$AT=!0),r.baseOpacity=s.getTotalOpacity()}}}catch(t){throw t}},$t.prototype.draw=function(t,i,e){if(this!=e._$GT()&&console.log("### assert!! ### "),!e._$IS[0]){var r=e,o=this._$LP;o<0&&(o=1);var n=this.getOpacity(i,r)*e._$VS*e.baseOpacity,s=null!=r._$hr?r._$hr:r._$Cr;t.setClipBufPre_clipContextForDraw(e.clipBufPre_clipContext),t._$WP(this.culling),t._$Uo(o,3*this._$Yo,this._$BP,s,this._$Qi,n,this._$6s,r)}},$t.prototype.dump=function(){console.log(" _$yi( %d ) , _$d0( %d ) , _$Yo( %d ) \n",this._$LP,this._$d0,this._$Yo),console.log(" _$Oi _$di = { ");for(var t=0;tstartMotion() / start _$K _$3 (m%d)\n",r,e._$sr));if(null==t)return-1;e=new dt,e._$w0=t,this.motions.push(e);var n=e._$sr;return this._$eb&&_._$Ji("MotionQueueManager[size:%2d]->startMotion() / new _$w0 (m%d)\n",r,n),n},ct.prototype.updateParam=function(t){try{for(var i=!1,e=0;eupdateParam() / _$T0 _$w0 (m%d)\n",this.motions.length-1,r._$sr),this.motions.splice(e,1),e--)):(this.motions=this.motions.splice(e,1),e--)}else this.motions.splice(e,1),e--}return i}catch(t){return _._$li(t),!0}},ct.prototype.isFinished=function(t){if(arguments.length>=1){for(var i=0;i.9&&at.EXPAND_W,this.gl);if(null==this.gl)throw new Error("gl is null");var h=1*this._$C0*n,l=1*this._$tT*n,$=1*this._$WL*n,u=this._$lT*n;if(null!=this.clipBufPre_clipContextMask){a.frontFace(a.CCW),a.useProgram(this.shaderProgram),this._$vS=Tt(a,this._$vS,r),this._$no=Pt(a,this._$no,e),a.enableVertexAttribArray(this.a_position_Loc),a.vertexAttribPointer(this.a_position_Loc,2,a.FLOAT,!1,0,0),this._$NT=Tt(a,this._$NT,o),a.activeTexture(a.TEXTURE1),a.bindTexture(a.TEXTURE_2D,this.textures[t]),a.uniform1i(this.s_texture0_Loc,1),a.enableVertexAttribArray(this.a_texCoord_Loc),a.vertexAttribPointer(this.a_texCoord_Loc,2,a.FLOAT,!1,0,0),a.uniformMatrix4fv(this.u_matrix_Loc,!1,this.getClipBufPre_clipContextMask().matrixForMask);var p=this.getClipBufPre_clipContextMask().layoutChannelNo,f=this.getChannelFlagAsColor(p);a.uniform4f(this.u_channelFlag,f.r,f.g,f.b,f.a);var c=this.getClipBufPre_clipContextMask().layoutBounds;a.uniform4f(this.u_baseColor_Loc,2*c.x-1,2*c.y-1,2*c._$EL()-1,2*c._$5T()-1),a.uniform1i(this.u_maskFlag_Loc,!0)}else if(null!=this.getClipBufPre_clipContextDraw()){a.useProgram(this.shaderProgramOff),this._$vS=Tt(a,this._$vS,r),this._$no=Pt(a,this._$no,e),a.enableVertexAttribArray(this.a_position_Loc_Off),a.vertexAttribPointer(this.a_position_Loc_Off,2,a.FLOAT,!1,0,0),this._$NT=Tt(a,this._$NT,o),a.activeTexture(a.TEXTURE1),a.bindTexture(a.TEXTURE_2D,this.textures[t]),a.uniform1i(this.s_texture0_Loc_Off,1),a.enableVertexAttribArray(this.a_texCoord_Loc_Off),a.vertexAttribPointer(this.a_texCoord_Loc_Off,2,a.FLOAT,!1,0,0),a.uniformMatrix4fv(this.u_clipMatrix_Loc_Off,!1,this.getClipBufPre_clipContextDraw().matrixForDraw),a.uniformMatrix4fv(this.u_matrix_Loc_Off,!1,this.matrix4x4),a.activeTexture(a.TEXTURE2),a.bindTexture(a.TEXTURE_2D,at.fTexture[this.glno]),a.uniform1i(this.s_texture1_Loc_Off,2);var p=this.getClipBufPre_clipContextDraw().layoutChannelNo,f=this.getChannelFlagAsColor(p);a.uniform4f(this.u_channelFlag_Loc_Off,f.r,f.g,f.b,f.a),a.uniform4f(this.u_baseColor_Loc_Off,h,l,$,u)}else a.useProgram(this.shaderProgram),this._$vS=Tt(a,this._$vS,r),this._$no=Pt(a,this._$no,e),a.enableVertexAttribArray(this.a_position_Loc),a.vertexAttribPointer(this.a_position_Loc,2,a.FLOAT,!1,0,0),this._$NT=Tt(a,this._$NT,o),a.activeTexture(a.TEXTURE1),a.bindTexture(a.TEXTURE_2D,this.textures[t]),a.uniform1i(this.s_texture0_Loc,1),a.enableVertexAttribArray(this.a_texCoord_Loc),a.vertexAttribPointer(this.a_texCoord_Loc,2,a.FLOAT,!1,0,0),a.uniformMatrix4fv(this.u_matrix_Loc,!1,this.matrix4x4),a.uniform4f(this.u_baseColor_Loc,h,l,$,u),a.uniform1i(this.u_maskFlag_Loc,!1);this.culling?this.gl.enable(a.CULL_FACE):this.gl.disable(a.CULL_FACE),this.gl.enable(a.BLEND);var d,g,y,m;if(null!=this.clipBufPre_clipContextMask)d=a.ONE,g=a.ONE_MINUS_SRC_ALPHA,y=a.ONE,m=a.ONE_MINUS_SRC_ALPHA;else switch(s){case $t._$ms:d=a.ONE,g=a.ONE_MINUS_SRC_ALPHA,y=a.ONE,m=a.ONE_MINUS_SRC_ALPHA;break;case $t._$ns:d=a.ONE,g=a.ONE,y=a.ZERO,m=a.ONE;break;case $t._$_s:d=a.DST_COLOR,g=a.ONE_MINUS_SRC_ALPHA,y=a.ZERO,m=a.ONE}a.blendEquationSeparate(a.FUNC_ADD,a.FUNC_ADD),a.blendFuncSeparate(d,g,y,m),this.anisotropyExt&&a.texParameteri(a.TEXTURE_2D,this.anisotropyExt.TEXTURE_MAX_ANISOTROPY_EXT,this.maxAnisotropy);var T=e.length;a.drawElements(a.TRIANGLES,T,a.UNSIGNED_SHORT,0),a.bindTexture(a.TEXTURE_2D,null)}},mt.prototype._$Rs=function(){throw new Error("_$Rs")},mt.prototype._$Ds=function(t){throw new Error("_$Ds")},mt.prototype._$K2=function(){for(var t=0;t=48){var r=G._$9o(t);return null!=r?(r._$F0(this),r):null}switch(t){case 1:return this._$bT();case 10:return new n(this._$6L(),!0);case 11:return new S(this._$mP(),this._$mP(),this._$mP(),this._$mP());case 12:return new S(this._$_T(),this._$_T(),this._$_T(),this._$_T());case 13:return new L(this._$mP(),this._$mP());case 14:return new L(this._$_T(),this._$_T());case 15:for(var o=this._$3L(),e=new Array(o),s=0;s>7-this._$hL++&1)},St.prototype._$zT=function(){0!=this._$hL&&(this._$hL=0)},vt.prototype._$wP=function(t,i,e){for(var r=0;rMath.PI;)e-=2*Math.PI;return e},Lt._$9=function(t){return Math.sin(t)},Lt.fcos=function(t){return Math.cos(t)},Mt.prototype._$u2=function(){return this._$IS[0]},Mt.prototype._$yo=function(){return this._$AT&&!this._$IS[0]},Mt.prototype._$GT=function(){return this._$e0},Et._$W2=0,Et.SYSTEM_INFO=null,Et.USER_AGENT=navigator.userAgent,Et.isIPhone=function(){return Et.SYSTEM_INFO||Et.setup(),Et.SYSTEM_INFO._isIPhone},Et.isIOS=function(){return Et.SYSTEM_INFO||Et.setup(),Et.SYSTEM_INFO._isIPhone||Et.SYSTEM_INFO._isIPad},Et.isAndroid=function(){return Et.SYSTEM_INFO||Et.setup(),Et.SYSTEM_INFO._isAndroid},Et.getOSVersion=function(){return Et.SYSTEM_INFO||Et.setup(),Et.SYSTEM_INFO.version},Et.getOS=function(){return Et.SYSTEM_INFO||Et.setup(),Et.SYSTEM_INFO._isIPhone||Et.SYSTEM_INFO._isIPad?"iOS":Et.SYSTEM_INFO._isAndroid?"Android":"_$Q0 OS"},Et.setup=function(){function t(t,i){for(var e=t.substring(i).split(/[ _,;\.]/),r=0,o=0;o<=2&&!isNaN(e[o]);o++){var n=parseInt(e[o]);if(n<0||n>999){_._$li("err : "+n+" @UtHtml5.setup()"),r=0;break}r+=n*Math.pow(1e3,2-o)}return r}var i,e=Et.USER_AGENT,r=Et.SYSTEM_INFO={userAgent:e};if((i=e.indexOf("iPhone OS "))>=0)r.os="iPhone",r._isIPhone=!0,r.version=t(e,i+"iPhone OS ".length);else if((i=e.indexOf("iPad"))>=0){if((i=e.indexOf("CPU OS"))<0)return void _._$li(" err : "+e+" @UtHtml5.setup()");r.os="iPad",r._isIPad=!0,r.version=t(e,i+"CPU OS ".length)}else(i=e.indexOf("Android"))>=0?(r.os="Android",r._isAndroid=!0,r.version=t(e,i+"Android ".length)):(r.os="-",r.version=-1)},window.UtSystem=w,window.UtDebug=_,window.LDTransform=gt,window.LDGL=nt,window.Live2D=at,window.Live2DModelWebGL=ft,window.Live2DModelJS=q,window.Live2DMotion=J,window.MotionQueueManager=ct,window.PhysicsHair=f,window.AMotion=s,window.PartsDataID=l,window.DrawDataID=b,window.BaseDataID=yt,window.ParamID=u,at.init();var At=!1}()}).call(i,e(7))},function(t,i){t.exports={import:function(){throw new Error("System.import cannot be used indirectly")}}},function(t,i,e){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function o(){this.models=[],this.count=-1,this.reloadFlg=!1,Live2D.init(),n.Live2DFramework.setPlatformManager(new _.default)}Object.defineProperty(i,"__esModule",{value:!0}),i.default=o;var n=e(0),s=e(9),_=r(s),a=e(10),h=r(a),l=e(1),$=r(l);o.prototype.createModel=function(){var t=new h.default;return this.models.push(t),t},o.prototype.changeModel=function(t,i){if(this.reloadFlg){this.reloadFlg=!1;this.releaseModel(0,t),this.createModel(),this.models[0].load(t,i)}},o.prototype.getModel=function(t){return t>=this.models.length?null:this.models[t]},o.prototype.releaseModel=function(t,i){this.models.length<=t||(this.models[t].release(i),delete this.models[t],this.models.splice(t,1))},o.prototype.numModels=function(){return this.models.length},o.prototype.setDrag=function(t,i){for(var e=0;e0){r.expressions={};for(var t=0;t -1){ + norunFlag = true; + break; + } +} + +if(!window.WebGLRenderingContext){ + norunFlag = true; +} + +if(!norunFlag){ + var hitFlag = false; + var AIFadeFlag = false; + var liveTlakTimer = null; + var sleepTimer_ = null; + var AITalkFlag = false; + var talkNum = 0; + (function (){ + function renderTip(template, context) { + var tokenReg = /(\\)?\{([^\{\}\\]+)(\\)?\}/g; + return template.replace(tokenReg, function (word, slash1, token, slash2) { + if (slash1 || slash2) { + return word.replace('\\', ''); + } + var variables = token.replace(/\s/g, '').split('.'); + var currentObject = context; + var i, length, variable; + for (i = 0, length = variables.length; i < length; ++i) { + variable = variables[i]; + currentObject = currentObject[variable]; + if (currentObject === undefined || currentObject === null) return ''; + } + return currentObject; + }); + } + + String.prototype.renderTip = function (context) { + return renderTip(this, context); + }; + + var re = /x/; + re.toString = function() { + showMessage('哈哈,你打开了控制台,是想要看看我的秘密吗?', 5000); + return ''; + }; + + $(document).on('copy', function (){ + showMessage('你都复制了些什么呀,转载要记得加上出处哦~~', 5000); + }); + + function initTips(){ + $.ajax({ + cache: true, + url: message_Path+'message.json', + dataType: "json", + success: function (result){ + $.each(result.mouseover, function (index, tips){ + $(tips.selector).mouseover(function (){ + var text = tips.text; + if(Array.isArray(tips.text)) text = tips.text[Math.floor(Math.random() * tips.text.length + 1)-1]; + text = text.renderTip({text: $(this).text()}); + showMessage(text, 3000); + talkValTimer(); + clearInterval(liveTlakTimer); + liveTlakTimer = null; + }); + $(tips.selector).mouseout(function (){ + showHitokoto(); + if(liveTlakTimer == null){ + liveTlakTimer = window.setInterval(function(){ + showHitokoto(); + },15000); + }; + }); + }); + $.each(result.click, function (index, tips){ + $(tips.selector).click(function (){ + if(hitFlag){ + return false + } + hitFlag = true; + setTimeout(function(){ + hitFlag = false; + },8000); + var text = tips.text; + if(Array.isArray(tips.text)) text = tips.text[Math.floor(Math.random() * tips.text.length + 1)-1]; + text = text.renderTip({text: $(this).text()}); + showMessage(text, 3000); + }); + clearInterval(liveTlakTimer); + liveTlakTimer = null; + if(liveTlakTimer == null){ + liveTlakTimer = window.setInterval(function(){ + showHitokoto(); + },15000); + }; + }); + } + }); + } + initTips(); + + var text; + if(document.referrer !== ''){ + var referrer = document.createElement('a'); + referrer.href = document.referrer; + text = '嗨!来自 ' + referrer.hostname + ' 的朋友!'; + var domain = referrer.hostname.split('.')[1]; + if (domain == 'baidu') { + text = '嗨! 来自 百度搜索 的朋友!
欢迎访问「 ' + document.title.split(' - ')[0] + ' 」'; + }else if (domain == 'so') { + text = '嗨! 来自 360搜索 的朋友!
欢迎访问「 ' + document.title.split(' - ')[0] + ' 」'; + }else if (domain == 'google') { + text = '嗨! 来自 谷歌搜索 的朋友!
欢迎访问「 ' + document.title.split(' - ')[0] + ' 」'; + } + }else { + if (window.location.href == home_Path) { //主页URL判断,需要斜杠结尾 + var now = (new Date()).getHours(); + if (now > 23 || now <= 5) { + text = '你是夜猫子呀?这么晚还不睡觉,明天起的来嘛?'; + } else if (now > 5 && now <= 7) { + text = '早上好!一日之计在于晨,美好的一天就要开始了!'; + } else if (now > 7 && now <= 11) { + text = '上午好!工作顺利嘛,不要久坐,多起来走动走动哦!'; + } else if (now > 11 && now <= 14) { + text = '中午了,工作了一个上午,现在是午餐时间!'; + } else if (now > 14 && now <= 17) { + text = '午后很容易犯困呢,今天的运动目标完成了吗?'; + } else if (now > 17 && now <= 19) { + text = '傍晚了!窗外夕阳的景色很美丽呢,最美不过夕阳红~~'; + } else if (now > 19 && now <= 21) { + text = '晚上好,今天过得怎么样?'; + } else if (now > 21 && now <= 23) { + text = '已经这么晚了呀,早点休息吧,晚安~~'; + } else { + text = '嗨~ 快来逗我玩吧!'; + } + }else { + text = '欢迎阅读「 ' + document.title.split(' - ')[0] + ' 」'; + } + } + showMessage(text, 12000); + })(); + + liveTlakTimer = setInterval(function(){ + showHitokoto(); + },15000); + + function showHitokoto(){ + if(sessionStorage.getItem("Sleepy")!=="1"){ + if(!AITalkFlag){ + $.getJSON('https://v1.hitokoto.cn/',function(result){ + talkValTimer(); + showMessage(result.hitokoto, 0); + }); + } + }else{ + hideMessage(0); + if(sleepTimer_==null){ + sleepTimer_ = setInterval(function(){ + checkSleep(); + },200); + } + console.log(sleepTimer_); + } + } + + function checkSleep(){ + var sleepStatu = sessionStorage.getItem("Sleepy"); + if(sleepStatu!=='1'){ + talkValTimer(); + showMessage('你回来啦~', 0); + clearInterval(sleepTimer_); + sleepTimer_= null; + } + } + + function showMessage(text, timeout){ + if(Array.isArray(text)) text = text[Math.floor(Math.random() * text.length + 1)-1]; + $('.message').stop(); + $('.message').html(text); + $('.message').fadeTo(200, 1); + //if (timeout === null) timeout = 5000; + //hideMessage(timeout); + } + function talkValTimer(){ + $('#live_talk').val('1'); + } + + function hideMessage(timeout){ + //$('.message').stop().css('opacity',1); + if (timeout === null) timeout = 5000; + $('.message').delay(timeout).fadeTo(200, 0); + } + + function initLive2d (){ + $('#hideButton').on('click', function(){ + if(AIFadeFlag){ + return false; + }else{ + AIFadeFlag = true; + localStorage.setItem("live2dhidden", "0"); + $('#landlord').fadeOut(200); + $('#open_live2d').delay(200).fadeIn(200); + setTimeout(function(){ + AIFadeFlag = false; + },300); + } + }); + $('#open_live2d').on('click', function(){ + if(AIFadeFlag){ + return false; + }else{ + AIFadeFlag = true; + localStorage.setItem("live2dhidden", "1"); + $('#open_live2d').fadeOut(200); + $('#landlord').delay(200).fadeIn(200); + setTimeout(function(){ + AIFadeFlag = false; + },300); + } + }); + $('#youduButton').on('click',function(){ + if($('#youduButton').hasClass('doudong')){ + var typeIs = $('#youduButton').attr('data-type'); + $('#youduButton').removeClass('doudong'); + $('body').removeClass(typeIs); + $('#youduButton').attr('data-type',''); + }else{ + var duType = $('#duType').val(); + var duArr = duType.split(","); + var dataType = duArr[Math.floor(Math.random() * duArr.length)]; + + $('#youduButton').addClass('doudong'); + $('#youduButton').attr('data-type',dataType); + $('body').addClass(dataType); + } + }); + if(apiKey){ + $('#showInfoBtn').on('click',function(){ + var live_statu = $('#live_statu_val').val(); + if(live_statu=="0"){ + return + }else{ + $('#live_statu_val').val("0"); + $('.live_talk_input_body').fadeOut(500); + AITalkFlag = false; + showHitokoto(); + $('#showTalkBtn').show(); + $('#showInfoBtn').hide(); + } + }); + $('#showTalkBtn').on('click',function(){ + var live_statu = $('#live_statu_val').val(); + if(live_statu=="1"){ + return + }else{ + $('#live_statu_val').val("1"); + $('.live_talk_input_body').fadeIn(500); + AITalkFlag = true; + $('#showTalkBtn').hide(); + $('#showInfoBtn').show(); + + } + }); + $('#talk_send').on('click',function(){ + var info_ = $('#AIuserText').val(); + var userid_ = $('#AIuserName').val(); + if(info_ == "" ){ + showMessage('写点什么吧!',0); + return; + } + if(userid_ == ""){ + showMessage('聊之前请告诉我你的名字吧!',0); + return; + } + showMessage('思考中~', 0); + let protocol = window.location.protocol.indexOf("s") > 0 ? "https" : "http"; + $.ajax({ + type: "get", + url: `${protocol}://www.tuling123.com/openapi/api?key=${apiKey}&info=${info_}`, + dataType: "json", + success: function(res) { + talkValTimer(); + showMessage(res.text, 0); + $('#AIuserText').val(""); + sessionStorage.setItem("live2duser", userid_); + }, + error: function(e) { + talkValTimer(); + showMessage('似乎有什么错误,请和站长联系!', 0); + } + }); + }); + }else{ + $('#showInfoBtn').hide(); + $('#showTalkBtn').hide(); + } + //获取音乐信息初始化 + var bgmListInfo = $('input[name=live2dBGM]'); + if(bgmListInfo.length == 0){ + $('#musicButton').hide(); + }else{ + var bgmPlayNow = parseInt($('#live2d_bgm').attr('data-bgm')); + var bgmPlayTime = 0; + var live2dBGM_Num = sessionStorage.getItem("live2dBGM_Num"); + var live2dBGM_PlayTime = sessionStorage.getItem("live2dBGM_PlayTime"); + if(live2dBGM_Num){ + if(live2dBGM_Num<=$('input[name=live2dBGM]').length-1){ + bgmPlayNow = parseInt(live2dBGM_Num); + } + } + if(live2dBGM_PlayTime){ + bgmPlayTime = parseInt(live2dBGM_PlayTime); + } + var live2dBGMSrc = bgmListInfo.eq(bgmPlayNow).val(); + $('#live2d_bgm').attr('data-bgm',bgmPlayNow); + $('#live2d_bgm').attr('src',live2dBGMSrc); + $('#live2d_bgm')[0].currentTime = bgmPlayTime; + $('#live2d_bgm')[0].volume = 0.5; + var live2dBGM_IsPlay = sessionStorage.getItem("live2dBGM_IsPlay"); + var live2dBGM_WindowClose = sessionStorage.getItem("live2dBGM_WindowClose"); + if(live2dBGM_IsPlay == '0' && live2dBGM_WindowClose == '0'){ + $('#live2d_bgm')[0].play(); + $('#musicButton').addClass('play'); + } + sessionStorage.setItem("live2dBGM_WindowClose" , '1'); + $('#musicButton').on('click',function(){ + if($('#musicButton').hasClass('play')){ + $('#live2d_bgm')[0].pause(); + $('#musicButton').removeClass('play'); + sessionStorage.setItem("live2dBGM_IsPlay",'1'); + }else{ + $('#live2d_bgm')[0].play(); + $('#musicButton').addClass('play'); + sessionStorage.setItem("live2dBGM_IsPlay",'0'); + } + }); + window.onbeforeunload = function(){ + sessionStorage.setItem("live2dBGM_WindowClose" , '0'); + if($('#musicButton').hasClass('play')){ + sessionStorage.setItem("live2dBGM_IsPlay",'0'); + } + } + document.getElementById('live2d_bgm').addEventListener("timeupdate", function(){ + var live2dBgmPlayTimeNow = document.getElementById('live2d_bgm').currentTime; + sessionStorage.setItem("live2dBGM_PlayTime" , live2dBgmPlayTimeNow ); + }); + document.getElementById('live2d_bgm').addEventListener("ended", function(){ + var listNow = parseInt($('#live2d_bgm').attr('data-bgm')); + listNow ++ ; + if(listNow > $('input[name=live2dBGM]').length-1){ + listNow = 0; + } + var listNewSrc = $('input[name=live2dBGM]').eq(listNow).val(); + sessionStorage.setItem("live2dBGM_Num",listNow); + $('#live2d_bgm').attr('src',listNewSrc); + $('#live2d_bgm')[0].play(); + $('#live2d_bgm').attr('data-bgm',listNow); + }); + document.getElementById('live2d_bgm').addEventListener("error", function(){ + $('#live2d_bgm')[0].pause(); + $('#musicButton').removeClass('play'); + showMessage('音乐似乎加载不出来了呢!',0); + }); + } + //获取用户名 + var live2dUser = sessionStorage.getItem("live2duser"); + if(live2dUser !== null){ + $('#AIuserName').val(live2dUser); + } + //获取位置 + var landL = sessionStorage.getItem("historywidth"); + var landB = sessionStorage.getItem("historyheight"); + if(landL == null || landB ==null){ + landL = '5px' + landB = '0px' + } + $('#landlord').css('left',landL+'px'); + $('#landlord').css('bottom',landB + 'px'); + //移动 + function getEvent() { + return window.event || arguments.callee.caller.arguments[0]; + } + var smcc = document.getElementById("landlord"); + var moveX = 0; + var moveY = 0; + var moveBottom = 0; + var moveLeft = 0; + var moveable = false; + var docMouseMoveEvent = document.onmousemove; + var docMouseUpEvent = document.onmouseup; + smcc.onmousedown = function(){ + var ent = getEvent(); + moveable = true; + moveX = ent.clientX; + moveY = ent.clientY; + var obj = smcc; + moveBottom = parseInt(obj.style.bottom); + moveLeft = parseInt(obj.style.left); + if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){ + window.getSelection().removeAllRanges(); + } + document.onmousemove = function(){ + if(moveable){ + var ent = getEvent(); + var x = moveLeft + ent.clientX - moveX; + var y = moveBottom + (moveY - ent.clientY); + obj.style.left = x + "px"; + obj.style.bottom = y + "px"; + } + }; + document.onmouseup = function(){ + if(moveable){ + var historywidth = obj.style.left; + var historyheight = obj.style.bottom; + historywidth = historywidth.replace('px', ''); + historyheight = historyheight.replace('px', ''); + sessionStorage.setItem("historywidth", historywidth); + sessionStorage.setItem("historyheight", historyheight); + document.onmousemove = docMouseMoveEvent; + document.onmouseup = docMouseUpEvent; + moveable = false; + moveX = 0; + moveY = 0; + moveBottom = 0; + moveLeft = 0; + } + }; + }; + } + $(document).ready(function() { + var AIimgSrc = [ + message_Path + "model/histoire/histoire.1024/texture_00.png", + message_Path + "model/histoire/histoire.1024/texture_01.png", + message_Path + "model/histoire/histoire.1024/texture_02.png", + message_Path + "model/histoire/histoire.1024/texture_03.png" + ] + var images = []; + var imgLength = AIimgSrc.length; + var loadingNum = 0; + for(var i=0;i点一下开启,再点一下可以关闭。"] + }, + { + "selector": ".itemarticle-tips a", + "text": ["要看看 {text} 么?"] + }, + { + "selector": ".searchbox", + "text": ["在找什么东西呢,需要帮忙吗?"] + } + ], + "click": [ + { + "selector": "#landlord #live2d", + "text": ["不要动手动脚的!快把手拿开~~", "真…真的是不知羞耻!","Hentai!", "再摸的话我可要报警了!", "110吗,这里有个变态!"] + } + ] +} \ No newline at end of file diff --git a/media/live2d/histoire/model/histoire/histoire.1024/texture_00.png b/media/live2d/histoire/model/histoire/histoire.1024/texture_00.png new file mode 100644 index 0000000..2fd565d Binary files /dev/null and b/media/live2d/histoire/model/histoire/histoire.1024/texture_00.png differ diff --git a/media/live2d/histoire/model/histoire/histoire.1024/texture_01.png b/media/live2d/histoire/model/histoire/histoire.1024/texture_01.png new file mode 100644 index 0000000..f84fcaa Binary files /dev/null and b/media/live2d/histoire/model/histoire/histoire.1024/texture_01.png differ diff --git a/media/live2d/histoire/model/histoire/histoire.1024/texture_02.png b/media/live2d/histoire/model/histoire/histoire.1024/texture_02.png new file mode 100644 index 0000000..6dffe12 Binary files /dev/null and b/media/live2d/histoire/model/histoire/histoire.1024/texture_02.png differ diff --git a/media/live2d/histoire/model/histoire/histoire.1024/texture_03.png b/media/live2d/histoire/model/histoire/histoire.1024/texture_03.png new file mode 100644 index 0000000..9b882dc Binary files /dev/null and b/media/live2d/histoire/model/histoire/histoire.1024/texture_03.png differ diff --git a/media/live2d/histoire/model/histoire/ico_histoire.png b/media/live2d/histoire/model/histoire/ico_histoire.png new file mode 100644 index 0000000..9a21f94 Binary files /dev/null and b/media/live2d/histoire/model/histoire/ico_histoire.png differ diff --git a/media/live2d/histoire/model/histoire/model.json b/media/live2d/histoire/model/histoire/model.json new file mode 100644 index 0000000..b2ececb --- /dev/null +++ b/media/live2d/histoire/model/histoire/model.json @@ -0,0 +1,59 @@ +{ + "version":"1.0.0", + "model":"model.moc", + "textures":[ + "histoire.1024/texture_00.png", + "histoire.1024/texture_01.png", + "histoire.1024/texture_02.png", + "histoire.1024/texture_03.png" + ], + "layout":{ + "center_x":0.0, + "center_y":-0.05, + "width":2.0 + }, + "hit_areas_custom":{ + "head_x":[-1, 1], + "head_y":[1, -1], + "body_x":[-1, -1], + "body_y":[1, -1] + }, + "motions":{ + "idle":[ + {"file":"motions/idle/NOZOMU_M01.mtn"}, + {"file":"motions/idle/NOZOMU_M02.mtn"} + ], + "sleepy":[ + {"file":"motions/idle/NOZOMU_M04.mtn"} + ], + "flick_head":[ + {"file":"motions/tap/DK_NOZOMU_0011.mtn"}, + {"file":"motions/tap/tsumiki_m_14.mtn"}, + {"file":"motions/tap/m_06.mtn"} + ], + "tap_body":[ + {"file":"motions/tap/DK_NOZOMU_0011.mtn"}, + {"file":"motions/tap/m_13.mtn"} + + ], + "talk":[ + {"file":"motions/tap/DK_NOZOMU_0041.mtn"}, + {"file":"motions/tap/DK_NOZOMU_0061.mtn"}, + {"file":"motions/tap/DK_NOZOMU_0067.mtn"} + ], + "rest":[ + {"file":"motions/tap/tsumiki_m_01.mtn"}, + {"file":"motions/tap/tsumiki_m_09.mtn"}, + {"file":"motions/tap/tsumiki_m_13.mtn"}, + {"file":"motions/tap/tsumiki_m_19.mtn"}, + {"file":"motions/tap/tsumiki_m_21.mtn"} + ], + "":[ + {"file":"motions/tap/tsumiki_m_01.mtn"}, + {"file":"motions/tap/tsumiki_m_09.mtn"}, + {"file":"motions/tap/tsumiki_m_13.mtn"}, + {"file":"motions/tap/tsumiki_m_19.mtn"}, + {"file":"motions/tap/tsumiki_m_21.mtn"} + ] + } +} \ No newline at end of file diff --git a/media/live2d/histoire/model/histoire/model.moc b/media/live2d/histoire/model/histoire/model.moc new file mode 100644 index 0000000..5a1e0bf Binary files /dev/null and b/media/live2d/histoire/model/histoire/model.moc differ diff --git a/media/live2d/histoire/model/histoire/motions/idle/NOZOMU_M01.mtn b/media/live2d/histoire/model/histoire/motions/idle/NOZOMU_M01.mtn new file mode 100644 index 0000000..e07cec8 --- /dev/null +++ b/media/live2d/histoire/model/histoire/motions/idle/NOZOMU_M01.mtn @@ -0,0 +1,36 @@ +# Live2D Animator Motion Data +$fps=30 +PARAM_ANGLE_X=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.03,0.11,0.24,0.42,0.63,0.88,1.17,1.48,1.81,2.17,2.54,2.92,3.31,3.69,4.08,4.46,4.83,5.19,5.52,5.83,6.12,6.37,6.58,6.76,6.89,6.97,7,6.79,6.24,5.45,4.46,3.37,2.22,1.07,-0.06,-1.11,-2.06,-2.84,-3.46,-3.86,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-3.984,-3.94,-3.86,-3.76,-3.64,-3.5,-3.33,-3.16,-2.97,-2.77,-2.56,-2.35,-2.13,-1.92,-1.71,-1.5,-1.29,-1.09,-0.91,-0.73,-0.57,-0.43,-0.31,-0.2,-0.11,-0.05,-0.01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.006,0.03,0.07,0.15,0.26,0.41,0.61,0.85,1.16,1.52,1.94,2.42,2.97,3.58,4.26,5,6.3,7.95,9.74,11.63,13.46,15.19,16.78,18.08,19.11,19.76,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,19.95,19.82,19.61,19.32,18.97,18.55,18.08,17.55,16.97,16.37,15.71,15.02,14.31,13.58,12.82,12.05,11.27,10.5,9.71,8.92,8.15,7.39,6.65,5.92,5.22,4.54,3.89,3.28,2.71,2.19,1.71,1.27,0.9,0.59,0.34,0.15,0.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.08,-0.31,-0.69,-1.18,-1.79,-2.48,-3.28,-4.12,-5.02,-5.96,-6.9,-7.88,-8.84,-9.79,-10.72,-11.61,-12.43,-13.19,-13.89,-14.5,-15.02,-15.44,-15.75,-15.94,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-15.94,-15.75,-15.45,-15.05,-14.55,-13.98,-13.33,-12.62,-11.86,-11.07,-10.22,-9.37,-8.51,-7.64,-6.78,-5.94,-5.11,-4.33,-3.58,-2.88,-2.24,-1.67,-1.16,-0.73,-0.39,-0.14,0.01,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06 +PARAM_ANGLE_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.04,0.16,0.34,0.6,0.91,1.26,1.67,2.11,2.59,3.1,3.62,4.17,4.72,5.28,5.83,6.38,6.9,7.41,7.89,8.33,8.74,9.09,9.4,9.66,9.84,9.96,10,9.5,8.21,6.33,4,1.41,-1.29,-4.03,-6.69,-9.17,-11.41,-13.27,-14.73,-15.67,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-15.94,-15.75,-15.45,-15.05,-14.56,-13.99,-13.34,-12.64,-11.88,-11.09,-10.25,-9.4,-8.54,-7.67,-6.82,-5.98,-5.15,-4.37,-3.63,-2.93,-2.29,-1.73,-1.22,-0.79,-0.46,-0.21,-0.05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.02,-0.08,-0.18,-0.32,-0.5,-0.73,-0.99,-1.29,-1.63,-2.01,-2.43,-2.88,-3.37,-3.88,-4.43,-5,-5.75,-6.4,-6.96,-7.45,-7.86,-8.21,-8.5,-8.71,-8.87,-8.97,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-8.98,-8.92,-8.82,-8.7,-8.54,-8.35,-8.14,-7.9,-7.64,-7.36,-7.07,-6.76,-6.44,-6.11,-5.77,-5.42,-5.07,-4.72,-4.37,-4.01,-3.67,-3.33,-2.99,-2.66,-2.35,-2.04,-1.75,-1.48,-1.22,-0.98,-0.77,-0.57,-0.41,-0.26,-0.15,-0.07,-0.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.03,-0.12,-0.26,-0.44,-0.67,-0.93,-1.23,-1.55,-1.88,-2.23,-2.59,-2.96,-3.32,-3.67,-4.02,-4.35,-4.66,-4.95,-5.21,-5.44,-5.63,-5.79,-5.9,-5.98,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-5.98,-5.91,-5.79,-5.65,-5.46,-5.25,-5.01,-4.74,-4.46,-4.17,-3.85,-3.54,-3.22,-2.89,-2.57,-2.26,-1.95,-1.66,-1.38,-1.12,-0.88,-0.67,-0.49,-0.33,-0.2,-0.11,-0.05,-0.029,-0.03,-0.03,-0.03,-0.03,-0.03,-0.03,-0.03,-0.03,-0.03,-0.03,-0.03,-0.03,-0.03,-0.03,-0.03,-0.03,-0.03,-0.03 +PARAM_ANGLE_Z=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.16,0.63,1.35,2.28,3.38,4.58,5.85,7.15,8.42,9.62,10.72,11.65,12.37,12.84,13,12.87,12.5,11.91,11.13,10.23,9.17,8.03,6.84,5.6,4.35,3.16,2,0.81,-0.18,-1,-1.69,-2.26,-2.71,-3.08,-3.37,-3.59,-3.76,-3.87,-3.95,-3.99,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-3.984,-3.94,-3.86,-3.76,-3.64,-3.5,-3.33,-3.16,-2.97,-2.77,-2.56,-2.35,-2.13,-1.92,-1.71,-1.5,-1.29,-1.09,-0.91,-0.73,-0.57,-0.43,-0.31,-0.2,-0.11,-0.05,-0.01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.45,1.58,3.11,4.9,6.75,8.59,10.32,11.78,12.96,13.72,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,13.97,13.88,13.73,13.53,13.28,12.99,12.66,12.28,11.88,11.46,11,10.51,10.02,9.5,8.98,8.44,7.89,7.35,6.79,6.24,5.7,5.17,4.65,4.14,3.65,3.18,2.72,2.3,1.9,1.53,1.19,0.89,0.63,0.41,0.24,0.11,0.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.16,0.56,1.11,1.75,2.41,3.07,3.69,4.21,4.63,4.9,5,4.48,3.14,1.19,-1.23,-3.92,-6.72,-9.57,-12.33,-14.91,-17.24,-19.16,-20.68,-21.66,-22,-21.93,-21.75,-21.53,-21.32,-21.15,-21.04,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-20.92,-20.67,-20.28,-19.75,-19.1,-18.35,-17.5,-16.57,-15.58,-14.54,-13.43,-12.31,-11.18,-10.04,-8.92,-7.82,-6.72,-5.7,-4.72,-3.81,-2.96,-2.22,-1.55,-0.99,-0.55,-0.22,-0.01,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05,0.05 +PARAM_EYE_L_OPEN=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.74,0.26,0,0.24,0.64,0.91,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.27,0,0.26,0.74,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.27,0,0.26,0.74,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.27,0,0.26,0.74,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.74,0.26,0,0,0.18,0.46,0.73,0.92,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.74,0.26,0,0,0,0.73,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_EYE_L_SMILE=0 +PARAM_EYE_R_OPEN=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.74,0.26,0,0.24,0.64,0.91,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.27,0,0.26,0.74,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.27,0,0.26,0.74,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.27,0,0.26,0.74,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.74,0.26,0,0,0.18,0.46,0.73,0.92,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.74,0.26,0,0,0,0.73,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_EYE_R_SMILE=0 +PARAM_EYE_FORM=0 +PARAM_EYE_BALL_X=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.001,-0.005,-0.011,-0.019,-0.029,-0.04,-0.053,-0.068,-0.083,-0.099,-0.116,-0.133,-0.151,-0.169,-0.187,-0.204,-0.221,-0.237,-0.252,-0.267,-0.28,-0.291,-0.301,-0.309,-0.315,-0.319,-0.32,-0.309,-0.28,-0.23,-0.18,-0.13,-0.08,-0.03,0,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.009,0.01,0.008,0.01,0.007,0.01,0.006,0.01,0.005,0,0.004,0,0.003,0,0.002,0,0,0.001,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.002,-0.004,-0.007,-0.012,-0.018,-0.026,-0.036,-0.048,-0.062,-0.078,-0.096,-0.12,-0.14,-0.17,-0.2,-0.23,-0.28,-0.34,-0.4,-0.46,-0.52,-0.58,-0.62,-0.65,-0.673,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.68,-0.678,-0.674,-0.667,-0.657,-0.645,-0.631,-0.615,-0.597,-0.577,-0.56,-0.53,-0.51,-0.49,-0.46,-0.44,-0.41,-0.38,-0.36,-0.33,-0.3,-0.28,-0.25,-0.23,-0.2,-0.18,-0.15,-0.13,-0.11,-0.092,-0.074,-0.058,-0.043,-0.031,-0.02,-0.012,-0.005,-0.001,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.003,0.006,0.011,0.017,0.023,0.031,0.039,0.047,0.057,0.067,0.077,0.087,0.098,0.108,0.119,0.13,0.14,0.15,0.16,0.17,0.179,0.188,0.196,0.203,0.21,0.216,0.221,0.225,0.228,0.229,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.23,0.226,0.222,0.216,0.209,0.201,0.191,0.181,0.17,0.159,0.146,0.134,0.122,0.109,0.097,0.085,0.073,0.061,0.05,0.04,0.031,0.023,0.016,0.009,0.004,0.001,-0.001,-0.002,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_EYE_BALL_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.002,0.003,0.005,0.007,0.01,0.013,0.016,0.02,0.024,0.029,0.033,0.038,0.044,0.049,0.055,0.062,0.068,0.075,0.082,0.089,0.097,0.105,0.113,0.121,0.13,0.138,0.144,0.149,0.153,0.156,0.158,0.159,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.159,0.157,0.154,0.151,0.146,0.14,0.133,0.126,0.119,0.111,0.102,0.094,0.085,0.077,0.068,0.06,0.052,0.044,0.036,0.029,0.023,0.017,0.012,0.008,0.005,0.002,0.001,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.001,0.003,0.005,0.008,0.013,0.019,0.026,0.034,0.044,0.056,0.07,0.086,0.103,0.123,0.15,0.17,0.21,0.25,0.3,0.36,0.41,0.45,0.49,0.52,0.534,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.539,0.535,0.529,0.522,0.512,0.501,0.488,0.474,0.458,0.442,0.424,0.405,0.386,0.367,0.346,0.33,0.3,0.28,0.26,0.24,0.22,0.2,0.179,0.16,0.141,0.123,0.105,0.089,0.073,0.059,0.046,0.034,0.024,0.016,0.009,0.004,0.001,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.003,0.006,0.01,0.015,0.021,0.028,0.035,0.043,0.052,0.061,0.07,0.079,0.089,0.099,0.109,0.118,0.128,0.137,0.146,0.155,0.164,0.171,0.179,0.186,0.192,0.197,0.202,0.205,0.208,0.209,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.21,0.209,0.207,0.203,0.198,0.191,0.184,0.175,0.166,0.156,0.146,0.135,0.124,0.113,0.102,0.091,0.08,0.069,0.059,0.049,0.04,0.032,0.024,0.018,0.012,0.008,0.004,0.002,0.002,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_EYE_BALL_FORM=0 +PARAM_BROW_L_Y=0 +PARAM_BROW_R_Y=0 +PARAM_BROW_L_X=0 +PARAM_BROW_R_X=0 +PARAM_BROW_L_ANGLE=0 +PARAM_BROW_R_ANGLE=0 +PARAM_BROW_L_FORM=0 +PARAM_BROW_R_FORM=0 +PARAM_MOUTH_FORM=0 +PARAM_MOUTH_OPEN_Y=0 +PARAM_CHEEK=0 +PARAM_SWEAT=0 +PARAM_BODY_ANGLE_X=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.1,0.37,0.78,1.3,1.88,2.5,3.12,3.7,4.22,4.63,4.9,5,4.9,4.61,4.17,3.6,2.92,2.18,1.4,0.6,-0.18,-0.92,-1.6,-2.17,-2.61,-2.9,-3,-2.96,-2.83,-2.62,-2.34,-2,-1.59,-1.11,-0.58,0,0.59,1.15,1.69,2.2,2.67,3.13,3.56,3.96,4.34,4.69,5.01,5.31,5.59,5.83,6.06,6.26,6.43,6.59,6.71,6.82,6.9,6.95,6.99,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6.97,6.89,6.76,6.59,6.37,6.12,5.84,5.53,5.2,4.85,4.48,4.11,3.74,3.36,2.98,2.62,2.25,1.91,1.59,1.28,1,0.76,0.53,0.35,0.2,0.09,0.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.02,0.09,0.21,0.36,0.54,0.76,1,1.27,1.55,1.86,2.17,2.5,2.83,3.17,3.5,3.83,4.14,4.45,4.73,5,5.24,5.46,5.64,5.79,5.91,5.98,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5.986,5.95,5.88,5.8,5.69,5.57,5.42,5.26,5.09,4.91,4.71,4.51,4.29,4.07,3.85,3.62,3.38,3.15,2.91,2.68,2.44,2.22,1.99,1.78,1.56,1.36,1.17,0.98,0.81,0.66,0.51,0.38,0.27,0.18,0.1,0.05,0.01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.05,-0.2,-0.44,-0.76,-1.14,-1.57,-2.06,-2.56,-3.1,-3.65,-4.21,-4.75,-5.28,-5.78,-6.25,-6.68,-7.06,-7.39,-7.65,-7.84,-7.96,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-7.97,-7.87,-7.72,-7.53,-7.28,-6.99,-6.67,-6.31,-5.93,-5.54,-5.12,-4.69,-4.26,-3.83,-3.4,-2.98,-2.56,-2.17,-1.8,-1.45,-1.13,-0.85,-0.59,-0.38,-0.21,-0.08,-0.01,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02 +PARAM_BODY_ANGLE_Z=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.06,0.22,0.47,0.78,1.13,1.5,1.87,2.22,2.53,2.78,2.94,3,2.95,2.81,2.58,2.3,1.96,1.59,1.2,0.8,0.41,0.04,-0.3,-0.58,-0.81,-0.95,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-0.97,-0.9,-0.79,-0.63,-0.44,-0.22,0.03,0.29,0.58,0.88,1.19,1.5,1.81,2.12,2.42,2.71,2.97,3.22,3.44,3.63,3.79,3.9,3.97,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3.984,3.94,3.86,3.76,3.64,3.5,3.33,3.16,2.97,2.77,2.56,2.35,2.13,1.92,1.71,1.5,1.29,1.09,0.91,0.73,0.57,0.43,0.31,0.2,0.11,0.05,0.01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.03,0.13,0.28,0.48,0.72,1.01,1.33,1.69,2.07,2.48,2.9,3.33,3.78,4.22,4.67,5.1,5.52,5.93,6.31,6.67,6.99,7.28,7.52,7.72,7.87,7.97,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7.982,7.93,7.84,7.73,7.59,7.42,7.23,7.02,6.79,6.55,6.28,6.01,5.72,5.43,5.13,4.82,4.51,4.2,3.88,3.57,3.26,2.96,2.66,2.37,2.09,1.82,1.56,1.31,1.08,0.88,0.68,0.51,0.36,0.24,0.14,0.06,0.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.05,-0.18,-0.39,-0.66,-1,-1.37,-1.8,-2.24,-2.72,-3.2,-3.68,-4.15,-4.62,-5.06,-5.47,-5.84,-6.18,-6.46,-6.69,-6.86,-6.96,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-6.97,-6.89,-6.76,-6.58,-6.37,-6.12,-5.83,-5.52,-5.19,-4.85,-4.47,-4.1,-3.73,-3.34,-2.97,-2.6,-2.24,-1.9,-1.57,-1.27,-0.98,-0.74,-0.51,-0.33,-0.18,-0.07,0,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02,0.02 +PARAM_BODY_ANGLE_Y=0 +PARAM_BREATH=0 +PARAM_HAIR_FRONT=0 +PARAM_HAIR_BACK=0 +PARAM_NECKLACE=0 +VISIBLE:PARTS_01_CLOTHES_01_ARM_L_02=0 +VISIBLE:PARTS_01_CLOTHES_01_ARM_R_02=0 +VISIBLE:PARTS_01_CLOTHES_01_ARM_L_01=1 +VISIBLE:PARTS_01_CLOTHES_01_ARM_R_01=1 \ No newline at end of file diff --git a/media/live2d/histoire/model/histoire/motions/idle/NOZOMU_M02.mtn b/media/live2d/histoire/model/histoire/motions/idle/NOZOMU_M02.mtn new file mode 100644 index 0000000..35b5fe8 --- /dev/null +++ b/media/live2d/histoire/model/histoire/motions/idle/NOZOMU_M02.mtn @@ -0,0 +1,36 @@ +# Live2D Animator Motion Data +$fps=30 +PARAM_ANGLE_X=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.12,-0.45,-0.99,-1.71,-2.56,-3.53,-4.64,-5.77,-6.99,-8.22,-9.47,-10.68,-11.88,-13.01,-14.07,-15.03,-15.88,-16.62,-17.2,-17.64,-17.91,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-17.93,-17.72,-17.38,-16.93,-16.37,-15.73,-15,-14.19,-13.34,-12.43,-11.48,-10.5,-9.5,-8.5,-7.5,-6.52,-5.57,-4.66,-3.81,-3,-2.27,-1.63,-1.07,-0.62,-0.28,-0.07,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_ANGLE_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.11,-0.4,-0.88,-1.52,-2.28,-3.14,-4.12,-5.13,-6.21,-7.31,-8.42,-9.49,-10.56,-11.56,-12.51,-13.36,-14.12,-14.77,-15.29,-15.68,-15.92,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-15.94,-15.75,-15.45,-15.05,-14.55,-13.98,-13.33,-12.62,-11.86,-11.05,-10.2,-9.33,-8.45,-7.55,-6.67,-5.8,-4.95,-4.14,-3.38,-2.67,-2.02,-1.45,-0.95,-0.55,-0.25,-0.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_ANGLE_Z=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.05,-0.18,-0.39,-0.66,-1,-1.39,-1.81,-2.27,-2.76,-3.25,-3.75,-4.24,-4.73,-5.19,-5.61,-6,-6.34,-6.61,-6.82,-6.95,-7,-6.97,-6.89,-6.75,-6.56,-6.32,-6.04,-5.72,-5.37,-4.97,-4.55,-4.09,-3.62,-3.11,-2.59,-2.05,-1.5,-0.93,-0.37,0.21,0.79,1.37,1.93,2.5,3.05,3.59,4.11,4.62,5.09,5.55,5.97,6.37,6.72,7.04,7.32,7.56,7.75,7.89,7.97,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7.93,7.73,7.44,7.05,6.6,6.08,5.53,4.96,4.37,3.78,3.2,2.63,2.09,1.6,1.15,0.76,0.44,0.21,0.05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.11,-0.4,-0.88,-1.52,-2.28,-3.14,-4.12,-5.13,-6.21,-7.31,-8.42,-9.49,-10.56,-11.56,-12.51,-13.36,-14.12,-14.77,-15.29,-15.68,-15.92,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-15.94,-15.75,-15.45,-15.05,-14.55,-13.98,-13.33,-12.62,-11.86,-11.05,-10.2,-9.33,-8.45,-7.55,-6.67,-5.8,-4.95,-4.14,-3.38,-2.67,-2.02,-1.45,-0.95,-0.55,-0.25,-0.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_EYE_L_OPEN=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.74,0.26,0,0.24,0.64,0.91,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.76,0.36,0.09,0,0.24,0.64,0.91,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.76,0.36,0.09,0,0.24,0.64,0.91,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.76,0.36,0.09,0,0.24,0.64,0.91,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_EYE_L_SMILE=0 +PARAM_EYE_R_OPEN=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.74,0.26,0,0.24,0.64,0.91,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.76,0.36,0.09,0,0.24,0.64,0.91,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.76,0.36,0.09,0,0.24,0.64,0.91,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.76,0.36,0.09,0,0.24,0.64,0.91,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_EYE_R_SMILE=0 +PARAM_EYE_FORM=0 +PARAM_EYE_BALL_X=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.012,0.04,0.09,0.15,0.22,0.29,0.36,0.43,0.48,0.53,0.57,0.59,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.598,0.591,0.579,0.564,0.546,0.52,0.5,0.47,0.44,0.41,0.38,0.35,0.32,0.28,0.25,0.22,0.19,0.16,0.13,0.1,0.08,0.05,0.036,0.021,0.009,0.002,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_EYE_BALL_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.003,0.01,0.02,0.033,0.048,0.063,0.078,0.092,0.105,0.115,0.123,0.128,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.129,0.128,0.126,0.122,0.118,0.114,0.108,0.103,0.096,0.09,0.083,0.076,0.069,0.061,0.054,0.047,0.04,0.034,0.027,0.022,0.016,0.012,0.008,0.004,0.002,0.001,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_EYE_BALL_FORM=0 +PARAM_BROW_L_Y=0 +PARAM_BROW_R_Y=0 +PARAM_BROW_L_X=0 +PARAM_BROW_R_X=0 +PARAM_BROW_L_ANGLE=0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58,0.58 +PARAM_BROW_R_ANGLE=0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57,0.57 +PARAM_BROW_L_FORM=0 +PARAM_BROW_R_FORM=0 +PARAM_MOUTH_FORM=1 +PARAM_MOUTH_OPEN_Y=0 +PARAM_CHEEK=0 +PARAM_SWEAT=0 +PARAM_BODY_ANGLE_X=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.05,-0.19,-0.41,-0.7,-1.02,-1.39,-1.76,-2.14,-2.51,-2.86,-3.18,-3.46,-3.69,-3.86,-3.96,-4,-3.95,-3.82,-3.61,-3.34,-3,-2.63,-2.2,-1.76,-1.28,-0.8,-0.32,0.15,0.62,1.06,1.47,1.84,2.18,2.46,2.69,2.86,2.96,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2.985,2.94,2.87,2.78,2.66,2.53,2.38,2.22,2.05,1.87,1.69,1.5,1.31,1.13,0.95,0.78,0.62,0.47,0.34,0.22,0.13,0.06,0.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.018,0.07,0.15,0.25,0.38,0.52,0.67,0.83,1,1.17,1.33,1.48,1.62,1.75,1.85,1.93,1.98,2,1.95,1.8,1.56,1.24,0.86,0.43,-0.06,-0.56,-1.1,-1.65,-2.21,-2.75,-3.28,-3.78,-4.25,-4.68,-5.06,-5.39,-5.65,-5.84,-5.96,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-5.981,-5.92,-5.83,-5.71,-5.57,-5.4,-5.2,-4.99,-4.76,-4.52,-4.26,-4,-3.73,-3.46,-3.18,-2.89,-2.62,-2.35,-2.08,-1.82,-1.56,-1.32,-1.1,-0.89,-0.7,-0.52,-0.37,-0.24,-0.14,-0.06,-0.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BODY_ANGLE_Z=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.04,-0.14,-0.31,-0.52,-0.77,-1.04,-1.32,-1.61,-1.88,-2.15,-2.39,-2.6,-2.77,-2.89,-2.97,-3,-2.93,-2.75,-2.45,-2.05,-1.58,-1.04,-0.42,0.21,0.88,1.57,2.26,2.93,3.6,4.23,4.82,5.35,5.82,6.23,6.56,6.8,6.95,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6.96,6.86,6.7,6.48,6.22,5.91,5.56,5.19,4.79,4.36,3.94,3.5,3.06,2.64,2.21,1.81,1.44,1.09,0.78,0.52,0.3,0.14,0.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.018,0.07,0.15,0.25,0.38,0.52,0.67,0.83,1,1.17,1.33,1.48,1.62,1.75,1.85,1.93,1.98,2,1.95,1.81,1.59,1.29,0.93,0.53,0.07,-0.4,-0.91,-1.43,-1.95,-2.45,-2.95,-3.42,-3.86,-4.26,-4.62,-4.92,-5.17,-5.35,-5.46,-5.5,-5.496,-5.483,-5.463,-5.44,-5.41,-5.37,-5.33,-5.29,-5.25,-5.21,-5.17,-5.13,-5.09,-5.06,-5.04,-5.017,-5.004,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-4.984,-4.94,-4.86,-4.76,-4.64,-4.5,-4.34,-4.16,-3.97,-3.76,-3.55,-3.34,-3.11,-2.88,-2.65,-2.41,-2.18,-1.95,-1.73,-1.51,-1.3,-1.1,-0.92,-0.74,-0.58,-0.44,-0.31,-0.2,-0.12,-0.05,-0.01,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BODY_ANGLE_Y=0 +PARAM_BREATH=0 +PARAM_HAIR_FRONT=0 +PARAM_HAIR_BACK=0 +PARAM_NECKLACE=0 +VISIBLE:PARTS_01_CLOTHES_01_ARM_L_02=0 +VISIBLE:PARTS_01_CLOTHES_01_ARM_R_02=0 +VISIBLE:PARTS_01_CLOTHES_01_ARM_L_01=1 +VISIBLE:PARTS_01_CLOTHES_01_ARM_R_01=1 \ No newline at end of file diff --git a/media/live2d/histoire/model/histoire/motions/idle/NOZOMU_M04.mtn b/media/live2d/histoire/model/histoire/motions/idle/NOZOMU_M04.mtn new file mode 100644 index 0000000..cf28556 --- /dev/null +++ b/media/live2d/histoire/model/histoire/motions/idle/NOZOMU_M04.mtn @@ -0,0 +1,36 @@ +# Live2D Animator Motion Data +$fps=30 +PARAM_ANGLE_X=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.26,1,2.11,3.56,5.26,7.19,9.25,11.38,13.6,15.83,18.01,20.14,22.16,24,25.7,27.15,28.34,29.23,29.8,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,29.85,29.42,28.75,27.85,26.79,25.54,24.16,22.68,21.12,19.47,17.8,16.08,14.34,12.66,11,9.37,7.84,6.38,5.02,3.8,2.72,1.79,1.03,0.47,0.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.05,0.18,0.39,0.66,1,1.39,1.81,2.27,2.76,3.25,3.75,4.24,4.73,5.19,5.61,6,6.34,6.61,6.82,6.95,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6.79,6.24,5.45,4.46,3.37,2.22,1.07,-0.06,-1.11,-2.06,-2.84,-3.46,-3.86,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-3.98,-3.92,-3.83,-3.7,-3.55,-3.38,-3.18,-2.97,-2.75,-2.51,-2.27,-2.03,-1.79,-1.55,-1.32,-1.1,-0.89,-0.7,-0.53,-0.37,-0.24,-0.14,-0.06,-0.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_ANGLE_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.21,0.76,1.55,2.54,3.63,4.78,5.93,7.06,8.11,9.06,9.84,10.46,10.86,11,10.63,9.59,7.95,5.81,3.29,0.39,-2.77,-6.09,-9.5,-12.91,-16.23,-19.39,-22.29,-24.81,-26.95,-28.59,-29.63,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-29.85,-29.42,-28.75,-27.85,-26.79,-25.54,-24.16,-22.68,-21.12,-19.47,-17.8,-16.08,-14.34,-12.66,-11,-9.37,-7.84,-6.38,-5.02,-3.8,-2.72,-1.79,-1.03,-0.47,-0.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.07,0.26,0.55,0.95,1.43,1.99,2.59,3.25,3.94,4.65,5.35,6.06,6.75,7.41,8.01,8.57,9.05,9.45,9.74,9.93,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9.5,8.21,6.33,4,1.41,-1.29,-4.03,-6.69,-9.17,-11.41,-13.27,-14.73,-15.67,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-15.92,-15.69,-15.31,-14.82,-14.21,-13.52,-12.72,-11.88,-10.98,-10.04,-9.1,-8.12,-7.16,-6.21,-5.28,-4.39,-3.57,-2.81,-2.11,-1.5,-0.98,-0.56,-0.25,-0.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_ANGLE_Z=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.13,-0.48,-0.99,-1.61,-2.31,-3.04,-3.78,-4.49,-5.16,-5.76,-6.26,-6.66,-6.91,-7,-6.78,-6.17,-5.24,-4.03,-2.62,-1.01,0.7,2.49,4.33,6.2,8.01,9.78,11.46,13,14.42,15.63,16.62,17.36,17.83,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,17.91,17.65,17.25,16.71,16.07,15.32,14.5,13.61,12.67,11.68,10.68,9.65,8.6,7.59,6.6,5.62,4.71,3.83,3.01,2.28,1.63,1.07,0.62,0.28,0.07,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.013,0.05,0.11,0.19,0.29,0.4,0.52,0.65,0.79,0.93,1.07,1.21,1.35,1.48,1.6,1.71,1.81,1.89,1.95,1.99,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1.89,1.59,1.15,0.62,0.02,-0.61,-1.24,-1.85,-2.42,-2.94,-3.37,-3.71,-3.92,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-3.98,-3.92,-3.83,-3.7,-3.55,-3.38,-3.18,-2.97,-2.75,-2.51,-2.27,-2.03,-1.79,-1.55,-1.32,-1.1,-0.89,-0.7,-0.53,-0.37,-0.24,-0.14,-0.06,-0.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_EYE_L_OPEN=0 +PARAM_EYE_L_SMILE=0 +PARAM_EYE_R_OPEN=0 +PARAM_EYE_R_SMILE=0 +PARAM_EYE_FORM=0 +PARAM_EYE_BALL_X=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.014,-0.05,-0.11,-0.18,-0.25,-0.33,-0.42,-0.49,-0.56,-0.61,-0.65,-0.68,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.687,-0.677,-0.661,-0.64,-0.62,-0.59,-0.56,-0.52,-0.49,-0.45,-0.41,-0.37,-0.33,-0.29,-0.25,-0.22,-0.18,-0.15,-0.12,-0.09,-0.06,-0.04,-0.024,-0.011,-0.003,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.001,-0.002,-0.004,-0.007,-0.009,-0.013,-0.016,-0.02,-0.025,-0.03,-0.035,-0.041,-0.047,-0.054,-0.061,-0.068,-0.075,-0.083,-0.091,-0.1,-0.109,-0.117,-0.127,-0.136,-0.146,-0.155,-0.165,-0.176,-0.186,-0.197,-0.207,-0.218,-0.229,-0.24,-0.252,-0.263,-0.274,-0.286,-0.297,-0.309,-0.32,-0.332,-0.343,-0.355,-0.367,-0.378,-0.39,-0.401,-0.413,-0.424,-0.435,-0.446,-0.457,-0.468,-0.479,-0.49,-0.5,-0.511,-0.521,-0.531,-0.541,-0.55,-0.56,-0.569,-0.578,-0.586,-0.595,-0.603,-0.611,-0.618,-0.625,-0.632,-0.639,-0.645,-0.651,-0.656,-0.662,-0.666,-0.671,-0.675,-0.678,-0.681,-0.684,-0.686,-0.688,-0.689,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.686,-0.677,-0.66,-0.64,-0.61,-0.58,-0.55,-0.51,-0.47,-0.43,-0.39,-0.35,-0.31,-0.27,-0.23,-0.19,-0.15,-0.12,-0.09,-0.06,-0.04,-0.024,-0.011,-0.003,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_EYE_BALL_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.019,-0.07,-0.14,-0.23,-0.33,-0.43,-0.54,-0.64,-0.74,-0.82,-0.89,-0.95,-0.99,-1,-0.982,-0.93,-0.85,-0.75,-0.62,-0.48,-0.33,-0.17,0,0.17,0.33,0.48,0.62,0.75,0.85,0.93,0.98,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.995,0.982,0.961,0.94,0.91,0.88,0.85,0.82,0.8,0.78,0.763,0.753,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.746,0.736,0.719,0.7,0.67,0.64,0.6,0.57,0.53,0.49,0.44,0.4,0.36,0.32,0.28,0.23,0.2,0.16,0.13,0.09,0.07,0.04,0.026,0.012,0.003,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.001,0.003,0.005,0.007,0.01,0.014,0.018,0.022,0.027,0.033,0.038,0.045,0.052,0.059,0.066,0.074,0.082,0.09,0.099,0.108,0.118,0.128,0.138,0.148,0.158,0.169,0.18,0.191,0.202,0.214,0.226,0.237,0.249,0.261,0.274,0.286,0.298,0.311,0.323,0.336,0.348,0.361,0.373,0.386,0.399,0.411,0.424,0.436,0.448,0.461,0.473,0.485,0.497,0.509,0.521,0.533,0.544,0.555,0.566,0.577,0.588,0.598,0.608,0.618,0.628,0.637,0.647,0.655,0.664,0.672,0.68,0.687,0.694,0.701,0.708,0.714,0.719,0.724,0.729,0.733,0.737,0.74,0.743,0.746,0.748,0.749,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.746,0.735,0.718,0.69,0.67,0.63,0.6,0.56,0.51,0.47,0.43,0.38,0.34,0.29,0.25,0.21,0.17,0.13,0.1,0.07,0.05,0.026,0.012,0.003,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_EYE_BALL_FORM=0 +PARAM_BROW_L_Y=0 +PARAM_BROW_R_Y=0 +PARAM_BROW_L_X=0 +PARAM_BROW_R_X=0 +PARAM_BROW_L_ANGLE=0 +PARAM_BROW_R_ANGLE=0 +PARAM_BROW_L_FORM=0 +PARAM_BROW_R_FORM=0 +PARAM_MOUTH_FORM=0 +PARAM_MOUTH_OPEN_Y=0 +PARAM_CHEEK=0 +PARAM_SWEAT=0 +PARAM_BODY_ANGLE_X=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.08,-0.27,-0.56,-0.92,-1.32,-1.74,-2.16,-2.57,-2.95,-3.29,-3.58,-3.8,-3.95,-4,-3.89,-3.57,-3.09,-2.46,-1.72,-0.89,0.01,0.93,1.89,2.86,3.81,4.73,5.6,6.4,7.14,7.77,8.28,8.67,8.91,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8.95,8.83,8.62,8.36,8.04,7.66,7.25,6.8,6.34,5.84,5.34,4.82,4.3,3.8,3.3,2.81,2.35,1.91,1.51,1.14,0.81,0.54,0.31,0.14,0.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.016,0.06,0.14,0.24,0.37,0.52,0.69,0.88,1.08,1.29,1.52,1.76,2,2.25,2.5,2.75,3,3.24,3.48,3.71,3.92,4.12,4.31,4.48,4.63,4.76,4.86,4.94,4.98,5,4.91,4.66,4.26,3.73,3.12,2.41,1.64,0.83,0,-0.83,-1.64,-2.41,-3.12,-3.73,-4.26,-4.66,-4.91,-5,-4.91,-4.67,-4.3,-3.81,-3.25,-2.6,-1.92,-1.21,-0.47,0.28,1,1.71,2.39,3,3.57,4.05,4.45,4.74,4.93,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4.97,4.9,4.79,4.63,4.44,4.22,3.98,3.71,3.43,3.14,2.84,2.54,2.24,1.94,1.65,1.37,1.12,0.88,0.66,0.47,0.31,0.18,0.08,0.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BODY_ANGLE_Z=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.04,-0.14,-0.28,-0.46,-0.66,-0.87,-1.08,-1.28,-1.47,-1.65,-1.79,-1.9,-1.97,-2,-1.92,-1.7,-1.37,-0.93,-0.42,0.16,0.77,1.42,2.08,2.75,3.4,4.04,4.65,5.2,5.71,6.15,6.5,6.77,6.94,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6.96,6.86,6.7,6.48,6.22,5.91,5.56,5.19,4.79,4.37,3.93,3.48,3.02,2.56,2.1,1.64,1.2,0.76,0.35,-0.05,-0.41,-0.75,-1.06,-1.33,-1.56,-1.75,-1.89,-1.97,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-1.984,-1.94,-1.86,-1.76,-1.63,-1.48,-1.31,-1.12,-0.92,-0.71,-0.48,-0.24,0,0.25,0.5,0.75,1,1.24,1.48,1.71,1.92,2.12,2.31,2.48,2.63,2.76,2.86,2.94,2.98,3,2.95,2.79,2.55,2.24,1.87,1.45,0.99,0.5,0,-0.5,-0.99,-1.45,-1.87,-2.24,-2.55,-2.79,-2.95,-3,-2.93,-2.73,-2.44,-2.05,-1.6,-1.08,-0.53,0.04,0.63,1.22,1.8,2.37,2.91,3.4,3.85,4.24,4.56,4.79,4.95,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4.97,4.9,4.79,4.63,4.44,4.22,3.98,3.71,3.43,3.14,2.84,2.54,2.24,1.94,1.65,1.37,1.12,0.88,0.66,0.47,0.31,0.18,0.08,0.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BODY_ANGLE_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.03,0.1,0.22,0.38,0.56,0.78,1.01,1.25,1.5,1.75,1.99,2.22,2.44,2.62,2.78,2.9,2.97,3,2.87,2.52,2.01,1.39,0.69,-0.04,-0.78,-1.49,-2.16,-2.76,-3.26,-3.66,-3.91,-4,-3.96,-3.83,-3.65,-3.41,-3.12,-2.8,-2.46,-2.1,-1.73,-1.36,-1,-0.64,-0.31,0,0.28,0.53,0.72,0.87,0.97,1,0.996,0.984,0.966,0.94,0.91,0.87,0.83,0.79,0.74,0.69,0.64,0.58,0.53,0.47,0.42,0.36,0.31,0.26,0.21,0.17,0.13,0.09,0.06,0.03,0.016,0.004,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BREATH=0 +PARAM_HAIR_FRONT=0 +PARAM_HAIR_BACK=0 +PARAM_NECKLACE=0 +VISIBLE:PARTS_01_CLOTHES_01_ARM_L_02=0 +VISIBLE:PARTS_01_CLOTHES_01_ARM_R_02=0 +VISIBLE:PARTS_01_CLOTHES_01_ARM_L_01=1 +VISIBLE:PARTS_01_CLOTHES_01_ARM_R_01=1 \ No newline at end of file diff --git a/media/live2d/histoire/model/histoire/motions/tap/DK_NOZOMU_0011.mtn b/media/live2d/histoire/model/histoire/motions/tap/DK_NOZOMU_0011.mtn new file mode 100644 index 0000000..c7f837f --- /dev/null +++ b/media/live2d/histoire/model/histoire/motions/tap/DK_NOZOMU_0011.mtn @@ -0,0 +1,33 @@ +# Live2D Animator Motion Data +$fps=30 +PARAM_ANGLE_X=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.1,0.38,0.83,1.42,2.13,2.95,3.86,4.81,5.82,6.85,7.9,8.9,9.9,10.84,11.73,12.52,13.24,13.85,14.34,14.7,14.92,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,14.88,14.53,13.98,13.28,12.42,11.46,10.4,9.27,8.09,6.89,5.65,4.43,3.24,2.06,0.97,-0.06,-1.01,-1.86,-2.59,-3.18,-3.63,-3.9,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +PARAM_ANGLE_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.06,-0.23,-0.5,-0.85,-1.28,-1.77,-2.32,-2.88,-3.49,-4.11,-4.74,-5.34,-5.94,-6.5,-7.04,-7.51,-7.94,-8.31,-8.6,-8.82,-8.95,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 +PARAM_ANGLE_Z=0,-0.14,-0.53,-1.13,-1.9,-2.81,-3.83,-4.93,-6.07,-7.25,-8.45,-9.61,-10.74,-11.82,-12.8,-13.71,-14.48,-15.12,-15.59,-15.89,-16,-15.9,-15.6,-15.14,-14.55,-13.83,-13.02,-12.13,-11.18,-10.18,-9.17,-8.13,-7.1,-6.09,-5.11,-4.18,-3.32,-2.52,-1.8,-1.19,-0.69,-0.31,-0.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.05,0.18,0.39,0.66,1,1.37,1.8,2.24,2.72,3.2,3.68,4.15,4.62,5.06,5.47,5.84,6.18,6.46,6.69,6.86,6.96,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6.95,6.82,6.61,6.33,5.99,5.59,5.14,4.64,4.12,3.54,2.95,2.34,1.71,1.06,0.41,-0.25,-0.89,-1.53,-2.15,-2.76,-3.35,-3.91,-4.43,-4.93,-5.37,-5.78,-6.13,-6.43,-6.67,-6.85,-6.96,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7 +PARAM_EYE_L_OPEN=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.76,0.36,0.09,0,0,0,0.18,0.46,0.73,0.92,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.76,0.36,0.09,0,0,0,0.18,0.46,0.73,0.92,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.76,0.36,0.09,0,0,0,0.18,0.46,0.73,0.92,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_EYE_L_SMILE=0 +PARAM_EYE_R_OPEN=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.76,0.36,0.09,0,0,0,0.18,0.46,0.73,0.92,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.76,0.36,0.09,0,0,0,0.18,0.46,0.73,0.92,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.76,0.36,0.09,0,0,0,0.18,0.46,0.73,0.92,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_EYE_R_SMILE=0 +PARAM_EYE_FORM=0 +PARAM_EYE_BALL_X=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.001,0,0.002,0.003,0,0.004,0,0.006,0.006,0.01,0.007,0.01,0.008,0.01,0.009,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.004,-0.011,-0.03,-0.06,-0.09,-0.12,-0.15,-0.18,-0.21,-0.24,-0.26,-0.275,-0.286,-0.29,-0.29,-0.29,-0.29,-0.29,-0.29,-0.29,-0.29,-0.29,-0.29,-0.29,-0.29,-0.29,-0.29,-0.29,-0.29,-0.29,-0.29,-0.29,-0.29,-0.29,-0.29,-0.29,-0.29,-0.29,-0.285,-0.272,-0.25,-0.22,-0.19,-0.16,-0.12,-0.09,-0.05,-0.02,0.01,0.04,0.06,0.076,0.087,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09 +PARAM_EYE_BALL_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.001,0.004,0.009,0.014,0.022,0.03,0.039,0.048,0.058,0.068,0.079,0.089,0.099,0.109,0.118,0.127,0.135,0.142,0.148,0.153,0.157,0.159,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.166,0.183,0.21,0.24,0.27,0.31,0.34,0.38,0.41,0.44,0.46,0.483,0.496,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.498,0.492,0.482,0.47,0.456,0.441,0.425,0.409,0.393,0.378,0.365,0.353,0.343,0.336,0.332,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33 +PARAM_EYE_BALL_FORM=0 +PARAM_BROW_L_Y=0 +PARAM_BROW_R_Y=0 +PARAM_BROW_L_X=0 +PARAM_BROW_R_X=0 +PARAM_BROW_L_ANGLE=0 +PARAM_BROW_R_ANGLE=0 +PARAM_BROW_L_FORM=0 +PARAM_BROW_R_FORM=0 +PARAM_MOUTH_FORM=0 +PARAM_MOUTH_OPEN_Y=0,0.2,0.4,1,1,1,0.08,0.74,1,1,1,0.96,0.64,0.32,0,0.59,1,1,1,1,0.42,0.44,0.46,1,1,1,1,0.9,0.73,0.99,1,0.9,0.55,0.52,0.49,0.6,0.71,0.69,0.675,0.47,0.26,0.15,0.05,0.046,0.045,0.043,0.042,0.041,0.04,0.038,0.037,0.036,0.035,0.033,0.032,0.031,0.03,0.028,0.027,0.026,0.025,0.024,0.022,0.021,0.02,0.019,0.017,0.016,0.015,0.014,0.012,0.011,0.01,0.009,0.007,0.006,0.005,0.004,0.002,0.001,0,0.34,0.68,0.95,1,1,0.8,0.59,0.38,0.23,0.08,0.075,0.071,0.068,0.064,0.061,0.057,0.053,0.05,0.046,0.043,0.039,0.036,0.032,0.029,0.025,0.021,0.018,0.014,0.011,0.007,0.004,0,0.14,0.28,0.14,0,0.14,0.27,0.85,1,1,1,1,0.05,0.03,0.01,0.14,0.28,0.41,0.55,1,1,1,0.31,0.98,1,0.84,0.02,0.05,0.08,0.35,0.62,0.47,0.32,0.16,0,0.04,0.08,0.35,0.62,0.47,0.32,0.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_CHEEK=0 +PARAM_SWEAT=0 +PARAM_ARM_L=0 +PARAM_BODY_ANGLE_X=0,-0.03,-0.13,-0.28,-0.47,-0.7,-0.96,-1.23,-1.52,-1.81,-2.11,-2.4,-2.68,-2.95,-3.2,-3.43,-3.62,-3.78,-3.9,-3.97,-4,-3.97,-3.9,-3.78,-3.64,-3.46,-3.25,-3.03,-2.79,-2.54,-2.29,-2.03,-1.77,-1.52,-1.28,-1.05,-0.83,-0.63,-0.45,-0.3,-0.17,-0.08,-0.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.05,0.21,0.44,0.75,1.12,1.54,1.99,2.46,2.94,3.42,3.88,4.32,4.73,5.09,5.4,5.66,5.84,5.96,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5.96,5.84,5.65,5.39,5.09,4.74,4.35,3.93,3.48,3.02,2.54,2.05,1.56,1.09,0.62,0.15,-0.28,-0.69,-1.08,-1.42,-1.73,-1.99,-2.21,-2.37,-2.47,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +PARAM_BODY_ANGLE_Z=0,-0.021,-0.08,-0.17,-0.3,-0.45,-0.63,-0.82,-1.04,-1.27,-1.51,-1.75,-2,-2.25,-2.49,-2.73,-2.96,-3.18,-3.38,-3.55,-3.7,-3.83,-3.92,-3.98,-4,-3.98,-3.92,-3.83,-3.7,-3.55,-3.38,-3.18,-2.96,-2.73,-2.49,-2.25,-2,-1.75,-1.51,-1.27,-1.04,-0.82,-0.63,-0.45,-0.3,-0.17,-0.08,-0.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.018,0.07,0.15,0.25,0.37,0.51,0.66,0.82,0.98,1.14,1.29,1.44,1.58,1.7,1.8,1.89,1.95,1.99,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1.981,1.92,1.83,1.71,1.56,1.38,1.18,0.95,0.71,0.45,0.18,-0.09,-0.38,-0.67,-0.96,-1.25,-1.54,-1.83,-2.1,-2.37,-2.62,-2.86,-3.08,-3.28,-3.46,-3.62,-3.75,-3.86,-3.94,-3.98,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +PARAM_BODY_ANGLE_Y=0 +PARAM_BREATH=0 +PARAM_HAIR_FRONT=0 +PARAM_HAIR_BACK=0 +PARAM_ACCESSORIES=0 \ No newline at end of file diff --git a/media/live2d/histoire/model/histoire/motions/tap/DK_NOZOMU_0041.mtn b/media/live2d/histoire/model/histoire/motions/tap/DK_NOZOMU_0041.mtn new file mode 100644 index 0000000..b613516 --- /dev/null +++ b/media/live2d/histoire/model/histoire/motions/tap/DK_NOZOMU_0041.mtn @@ -0,0 +1,33 @@ +# Live2D Animator Motion Data +$fps=30 +PARAM_ANGLE_X=0,0.001,0.006,0.013,0.023,0.036,0.052,0.071,0.09,0.12,0.15,0.18,0.21,0.25,0.29,0.33,0.38,0.43,0.48,0.54,0.6,0.66,0.73,0.8,0.87,0.94,1.02,1.11,1.19,1.28,1.38,1.47,1.57,1.68,1.78,1.89,2.01,2.13,2.25,2.37,2.5,2.64,2.77,2.91,3.04,3.17,3.3,3.42,3.54,3.65,3.76,3.86,3.96,4.06,4.15,4.24,4.33,4.41,4.48,4.55,4.61,4.67,4.73,4.78,4.83,4.87,4.9,4.93,4.96,4.975,4.989,4.997,5,4.96,4.84,4.67,4.44,4.18,3.87,3.55,3.21,2.86,2.5,2.15,1.81,1.48,1.17,0.89,0.64,0.42,0.26,0.14,0.07,0.03,0.01,-0.007,-0.013,-0.014,-0.012,-0.008,-0.004,-0.001,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_ANGLE_Y=0,0,0,0,0,0,0,0.8,2.82,5.55,8.74,12.06,15.33,18.43,21.04,23.14,24.5,25,24.75,24.04,22.89,21.38,19.52,17.4,14.97,12.38,9.63,6.75,3.86,0.86,-2.08,-4.99,-7.82,-10.55,-13.06,-15.41,-17.54,-19.41,-21.01,-22.28,-23.22,-23.8,-24,-23.98,-23.91,-23.81,-23.66,-23.48,-23.26,-23.01,-22.72,-22.41,-22.06,-21.69,-21.29,-20.87,-20.42,-19.96,-19.47,-18.96,-18.43,-17.9,-17.34,-16.77,-16.19,-15.6,-15.01,-14.41,-13.79,-13.17,-12.56,-11.93,-11.31,-10.68,-10.07,-9.44,-8.83,-8.21,-7.61,-7.02,-6.42,-5.84,-5.28,-4.73,-4.19,-3.66,-3.15,-2.66,-2.19,-1.73,-1.3,-0.89,-0.51,-0.16,0.07,0.19,0.23,0.211,0.17,0.11,0.05,0.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_ANGLE_Z=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.07,0.27,0.59,1.02,1.56,2.19,2.9,3.68,4.53,5.44,6.4,7.39,8.42,9.46,10.5,11.54,12.58,13.61,14.6,15.56,16.47,17.32,18.1,18.81,19.44,19.98,20.41,20.73,20.93,21,20.81,20.27,19.45,18.39,17.14,15.73,14.22,12.65,11.03,9.39,7.79,6.23,4.75,3.4,2.15,1.09,0.21,-0.43,-0.85,-1,-0.97,-0.88,-0.75,-0.6,-0.44,-0.3,-0.17,-0.08,-0.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_EYE_L_OPEN=1.06,1.06,1.06,1.06,1.06,1.059,1.06,1.057,1.057,1.056,1.055,1.053,1.052,1.05,1.049,1.047,1.045,1.043,1.041,1.039,1.036,1.034,1.031,1.028,1.025,1.022,1.019,1.015,1.012,1.008,1.004,1,0.76,0.36,0.09,0,0,0,0.18,0.46,0.73,0.92,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.76,0.36,0.09,0,0,0,0.18,0.46,0.73,0.92,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_EYE_L_SMILE=0 +PARAM_EYE_R_OPEN=1.06,1.06,1.06,1.06,1.06,1.059,1.06,1.057,1.057,1.056,1.055,1.053,1.052,1.05,1.049,1.047,1.045,1.043,1.041,1.039,1.036,1.034,1.031,1.028,1.025,1.022,1.019,1.015,1.012,1.008,1.004,1,0.76,0.36,0.09,0,0,0,0.18,0.46,0.73,0.92,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.76,0.36,0.09,0,0,0,0.18,0.46,0.73,0.92,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_EYE_R_SMILE=0 +PARAM_EYE_FORM=0 +PARAM_EYE_BALL_X=0 +PARAM_EYE_BALL_Y=0,-0.007,-0.027,-0.06,-0.09,-0.14,-0.18,-0.23,-0.28,-0.33,-0.38,-0.43,-0.47,-0.51,-0.54,-0.56,-0.575,-0.58,-0.58,-0.58,-0.58,-0.58,-0.58,-0.58,-0.58,-0.58,-0.58,-0.578,-0.577,-0.576,-0.574,-0.571,-0.569,-0.566,-0.562,-0.558,-0.553,-0.548,-0.542,-0.535,-0.528,-0.521,-0.512,-0.503,-0.494,-0.485,-0.475,-0.466,-0.457,-0.448,-0.439,-0.43,-0.421,-0.412,-0.403,-0.394,-0.385,-0.376,-0.368,-0.359,-0.35,-0.342,-0.333,-0.325,-0.316,-0.308,-0.3,-0.291,-0.283,-0.275,-0.267,-0.259,-0.252,-0.244,-0.236,-0.229,-0.221,-0.214,-0.206,-0.199,-0.192,-0.185,-0.178,-0.171,-0.165,-0.158,-0.152,-0.145,-0.139,-0.133,-0.127,-0.121,-0.115,-0.109,-0.104,-0.098,-0.093,-0.088,-0.083,-0.078,-0.073,-0.068,-0.064,-0.059,-0.055,-0.051,-0.047,-0.043,-0.039,-0.036,-0.032,-0.029,-0.026,-0.023,-0.02,-0.018,-0.016,-0.013,-0.011,-0.009,-0.008,-0.006,-0.005,-0.003,-0.002,-0.002,-0.001,0,0,0 +PARAM_EYE_BALL_FORM=0 +PARAM_BROW_L_Y=1 +PARAM_BROW_R_Y=1 +PARAM_BROW_L_X=0 +PARAM_BROW_R_X=0 +PARAM_BROW_L_ANGLE=-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37,-0.37 +PARAM_BROW_R_ANGLE=-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45,-0.45 +PARAM_BROW_L_FORM=-2 +PARAM_BROW_R_FORM=-2 +PARAM_MOUTH_FORM=1 +PARAM_MOUTH_OPEN_Y=0,0.73,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.92,0.05,0.89,1,1,0.36,0.38,0.41,0.86,1,1,1,0.98,0.66,0.34,0.02,0.15,0.28,0.41,0.54,0.68,0.81,0.66,0.52,0.502,0.486,0.471,0.455,0.49,0.52,0.33,0.14,0.25,0.36,0.69,1,1,1,1,1,1,1,0.992,0.14,0.4,0.66,1,1,1,1,1,1,1,1,0.62,0.02,0.012,0,0.19,0.38,0.58,0.77,1,1,1,1,1,1,1,0.93,0.77,0.6,0.608,0.612,0.53,0.44,0.435,0.431,0.25,0.08,0.21,0.35,0.48,0.61,0.607,0.601,0.596,0.591,0.586,0.58,0.34,0.1,0.26,0.42,0.24,0.06,0.22,0.38,0.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_CHEEK=0 +PARAM_SWEAT=0 +PARAM_ARM_L=0 +PARAM_BODY_ANGLE_X=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.05,0.18,0.39,0.65,0.94,1.27,1.61,1.95,2.3,2.63,2.95,3.24,3.49,3.7,3.86,3.96,4,3.98,3.92,3.83,3.71,3.56,3.39,3.19,2.99,2.77,2.54,2.3,2.06,1.83,1.59,1.37,1.15,0.95,0.76,0.59,0.44,0.31,0.21,0.13,0.08,0.068,0.07,0.07,0.07,0.07,0.07,0.07,0.07,0.07,0.07,0.07,0.07,0.07,0.07,0.07,0.07,0.07,0.07,0.07,0.07,0.07,0.07,0.07,0.07,0.07,0.07,0.07,0.07 +PARAM_BODY_ANGLE_Z=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.04,0.15,0.33,0.57,0.86,1.19,1.55,1.95,2.36,2.79,3.21,3.64,4.05,4.45,4.81,5.14,5.43,5.67,5.85,5.96,6,5.96,5.85,5.67,5.44,5.15,4.83,4.47,4.08,3.68,3.26,2.84,2.42,2.02,1.63,1.27,0.95,0.66,0.43,0.25,0.14,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1 +PARAM_BODY_ANGLE_Y=0,0,0,0,0,0,0,0.19,0.68,1.33,2.1,2.89,3.68,4.42,5.05,5.55,5.88,6,5.996,5.983,5.96,5.93,5.89,5.85,5.79,5.73,5.65,5.57,5.49,5.39,5.29,5.18,5.06,4.93,4.8,4.67,4.52,4.37,4.21,4.05,3.88,3.71,3.53,3.32,3.1,2.88,2.64,2.41,2.17,1.92,1.68,1.45,1.22,1.01,0.81,0.62,0.45,0.3,0.17,0.07,0,-0.06,-0.11,-0.16,-0.2,-0.23,-0.26,-0.29,-0.31,-0.34,-0.36,-0.39,-0.41,-0.44,-0.47,-0.5,-0.53,-0.57,-0.62,-0.68,-0.73,-0.79,-0.84,-0.88,-0.92,-0.95,-0.98,-0.994,-1,-0.981,-0.93,-0.86,-0.77,-0.67,-0.57,-0.47,-0.36,-0.27,-0.18,-0.11,-0.06,-0.02,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01,-0.01 +PARAM_BREATH=0 +PARAM_HAIR_FRONT=0 +PARAM_HAIR_BACK=0 +PARAM_ACCESSORIES=0 \ No newline at end of file diff --git a/media/live2d/histoire/model/histoire/motions/tap/DK_NOZOMU_0061.mtn b/media/live2d/histoire/model/histoire/motions/tap/DK_NOZOMU_0061.mtn new file mode 100644 index 0000000..a565eec --- /dev/null +++ b/media/live2d/histoire/model/histoire/motions/tap/DK_NOZOMU_0061.mtn @@ -0,0 +1,33 @@ +# Live2D Animator Motion Data +$fps=30 +PARAM_ANGLE_X=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.013,0.05,0.12,0.21,0.32,0.45,0.6,0.76,0.95,1.14,1.36,1.58,1.82,2.06,2.31,2.57,2.83,3.1,3.37,3.63,3.9,4.17,4.43,4.69,4.94,5.18,5.42,5.64,5.86,6.05,6.24,6.4,6.55,6.68,6.79,6.88,6.95,6.99,7,6.96,6.86,6.71,6.5,6.25,5.96,5.64,5.29,4.93,4.54,4.15,3.75,3.35,2.95,2.57,2.19,1.83,1.49,1.17,0.89,0.63,0.42,0.24,0.11,0.03,0,0.03,0.12,0.25,0.4,0.56,0.7,0.83,0.92,0.98,1,0.93,0.79,0.62,0.43,0.27,0.13,0.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_ANGLE_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.019,0.08,0.17,0.29,0.45,0.64,0.85,1.09,1.35,1.63,1.94,2.26,2.59,2.94,3.3,3.67,4.05,4.42,4.81,5.19,5.58,5.95,6.33,6.7,7.06,7.41,7.74,8.06,8.37,8.65,8.91,9.15,9.36,9.55,9.71,9.83,9.92,9.98,10,9.8,9.23,8.33,7.14,5.72,4.05,2.22,0.24,-1.84,-4.05,-6.27,-8.57,-10.88,-13.12,-15.33,-17.51,-19.54,-21.49,-23.3,-24.93,-26.38,-27.62,-28.62,-29.37,-29.84,-30,-28.59,-24.89,-19.55,-13.44,-7.1,-1.19,3.86,7.71,10.14,11,9.23,5.41,0.64,-4.31,-8.84,-12.58,-15.07,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16 +PARAM_ANGLE_Z=-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-29.83,-29.35,-28.58,-27.57,-26.33,-24.9,-23.26,-21.5,-19.53,-17.48,-15.29,-12.96,-10.52,-8.02,-5.43,-2.75,0,3.19,5.69,7.65,9.21,10.41,11.32,12.01,12.48,12.78,12.95,13,12.98,12.91,12.8,12.65,12.47,12.24,11.98,11.69,11.37,11.03,10.64,10.24,9.82,9.37,8.91,8.43,7.93,7.43,6.91,6.38,5.84,5.3,4.75,4.2,3.65,3.1,2.54,2,1.39,0.83,0.31,-0.17,-0.6,-1.01,-1.38,-1.71,-2.01,-2.29,-2.54,-2.77,-2.97,-3.15,-3.31,-3.45,-3.56,-3.67,-3.75,-3.83,-3.88,-3.93,-3.96,-3.98,-3.996,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +PARAM_EYE_L_OPEN=0,0,0,0,0,0,0,0.001,0,0,0.002,0,0.003,0,0.005,0.005,0.01,0.007,0.008,0.008,0.009,0.01,0.011,0.013,0.014,0.015,0.016,0.017,0.019,0.02,0.022,0.023,0.025,0.026,0.028,0.03,0.032,0.033,0.035,0.037,0.039,0.041,0.043,0.046,0.048,0.05,0.052,0.055,0.057,0.06,0.062,0.065,0.068,0.071,0.073,0.076,0.079,0.082,0.085,0.089,0.092,0.095,0.098,0.102,0.105,0.109,0.112,0.116,0.12,0.123,0.127,0.131,0.135,0.139,0.143,0.147,0.151,0.156,0.16,0.165,0.169,0.174,0.24,0.39,0.59,0.79,0.94,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_EYE_L_SMILE=0 +PARAM_EYE_R_OPEN=0,0,0,0,0,0,0,0.001,0,0.002,0,0.003,0,0.004,0.005,0.01,0.007,0.008,0.008,0.009,0.011,0.012,0.013,0.014,0.015,0.017,0.018,0.019,0.021,0.022,0.024,0.026,0.028,0.029,0.031,0.033,0.035,0.037,0.039,0.042,0.044,0.046,0.048,0.051,0.053,0.056,0.059,0.061,0.064,0.067,0.07,0.073,0.076,0.079,0.082,0.085,0.088,0.092,0.095,0.099,0.102,0.106,0.11,0.113,0.117,0.121,0.125,0.129,0.133,0.137,0.142,0.146,0.151,0.155,0.16,0.164,0.169,0.174,0.179,0.184,0.189,0.194,0.26,0.41,0.6,0.79,0.94,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_EYE_R_SMILE=0 +PARAM_EYE_FORM=0 +PARAM_EYE_BALL_X=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.002,-0.005,-0.009,-0.014,-0.02,-0.027,-0.035,-0.043,-0.052,-0.062,-0.072,-0.083,-0.094,-0.106,-0.117,-0.129,-0.142,-0.154,-0.166,-0.178,-0.191,-0.203,-0.214,-0.226,-0.237,-0.248,-0.258,-0.268,-0.277,-0.285,-0.293,-0.3,-0.306,-0.311,-0.315,-0.318,-0.319,-0.32,-0.309,-0.28,-0.23,-0.18,-0.13,-0.08,-0.03,0,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.009,0.007,0.006,0.004,0.003,0.002,0.001,0,0,0,0.002,0.004,0.006,0.007,0.009,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01 +PARAM_EYE_BALL_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.001,0.002,0.003,0.004,0.005,0.007,0.009,0.01,0.012,0.014,0.017,0.019,0.022,0.025,0.028,0.031,0.034,0.038,0.041,0.045,0.049,0.053,0.058,0.062,0.067,0.072,0.077,0.082,0.087,0.093,0.099,0.105,0.111,0.117,0.123,0.13,0.136,0.142,0.147,0.151,0.154,0.157,0.159,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.141,0.09,0.02,-0.06,-0.14,-0.22,-0.29,-0.34,-0.37,-0.38,-0.34,-0.27,-0.17,-0.07,0.02,0.09,0.14,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16,0.16 +PARAM_EYE_BALL_FORM=0 +PARAM_BROW_L_Y=0 +PARAM_BROW_R_Y=0 +PARAM_BROW_L_X=0 +PARAM_BROW_R_X=0 +PARAM_BROW_L_ANGLE=0 +PARAM_BROW_R_ANGLE=0 +PARAM_BROW_L_FORM=0 +PARAM_BROW_R_FORM=0 +PARAM_MOUTH_FORM=0 +PARAM_MOUTH_OPEN_Y=0,0.02,0.05,0.91,1,1,1,1,1,0.93,0.6,1,1,1,1,1,1,1,1,1,1,0.98,0.41,0.56,0.71,0.52,0.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.15,0.3,1,1,1,0.9,0.87,0.84,1,1,1,1,0.7,0.4,0.6,0.8,1,1,1,1,1,1,0.76,0.15,0.11,0.06,0.36,0.65,0.45,0.26,0.39,0.52,0.48,0.45,0.83,1,1,1,1,1,1,0.95,1,1,0.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_CHEEK=0 +PARAM_SWEAT=0 +PARAM_ARM_L=0 +PARAM_BODY_ANGLE_X=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.004,0.015,0.034,0.06,0.09,0.13,0.18,0.24,0.3,0.37,0.44,0.52,0.61,0.71,0.81,0.92,1.03,1.15,1.28,1.41,1.55,1.7,1.85,2,2.17,2.33,2.51,2.69,2.87,3.06,3.26,3.46,3.66,3.87,4.09,4.31,4.54,4.77,5,5.24,5.47,5.69,5.9,6.09,6.27,6.41,6.53,6.61,6.67,6.73,6.78,6.82,6.86,6.89,6.91,6.93,6.951,6.965,6.976,6.985,6.991,6.995,6.998,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7 +PARAM_BODY_ANGLE_Z=-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-1.981,-1.93,-1.85,-1.76,-1.64,-1.51,-1.37,-1.23,-1.07,-0.92,-0.77,-0.62,-0.47,-0.34,-0.21,-0.1,0,0.09,0.19,0.28,0.37,0.46,0.54,0.63,0.71,0.79,0.87,0.95,1.03,1.11,1.18,1.26,1.33,1.41,1.48,1.55,1.62,1.69,1.76,1.83,1.9,1.98,2.04,2.12,2.19,2.26,2.33,2.4,2.47,2.55,2.62,2.69,2.77,2.84,2.92,3,3.09,3.19,3.29,3.4,3.5,3.6,3.69,3.76,3.8,3.83,3.86,3.89,3.91,3.926,3.942,3.955,3.966,3.975,3.982,3.988,3.992,3.995,3.998,3.999,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4 +PARAM_BODY_ANGLE_Y=0,0.1,0.39,0.83,1.4,2.08,2.82,3.6,4.4,5.18,5.92,6.6,7.17,7.61,7.9,8,7.96,7.84,7.66,7.41,7.11,6.75,6.35,5.93,5.47,4.99,4.5,4,3.5,3.01,2.53,2.07,1.65,1.25,0.89,0.59,0.34,0.16,0.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.03,0.12,0.25,0.4,0.56,0.7,0.83,0.92,0.98,1,0.93,0.79,0.62,0.43,0.27,0.13,0.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BREATH=0 +PARAM_HAIR_FRONT=0 +PARAM_HAIR_BACK=0 +PARAM_ACCESSORIES=0 \ No newline at end of file diff --git a/media/live2d/histoire/model/histoire/motions/tap/DK_NOZOMU_0067.mtn b/media/live2d/histoire/model/histoire/motions/tap/DK_NOZOMU_0067.mtn new file mode 100644 index 0000000..c1feaf1 --- /dev/null +++ b/media/live2d/histoire/model/histoire/motions/tap/DK_NOZOMU_0067.mtn @@ -0,0 +1,33 @@ +# Live2D Animator Motion Data +$fps=30 +PARAM_ANGLE_X=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.04,-0.16,-0.36,-0.65,-1.03,-1.48,-2.03,-2.65,-3.37,-4.17,-5.05,-6,-7.04,-8.15,-9.34,-10.61,-11.93,-13.34,-14.8,-16.62,-18.27,-19.83,-21.25,-22.55,-23.74,-24.83,-25.8,-26.69,-27.45,-28.12,-28.69,-29.16,-29.52,-29.79,-29.95,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30 +PARAM_ANGLE_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0.33,0.73,1.27,1.94,2.74,3.65,4.64,5.73,6.91,8.15,9.42,10.76,12.12,13.52,14.94,16.35,17.78,19.2,20.88,22.32,23.61,24.72,25.68,26.52,27.25,27.85,28.38,28.81,29.16,29.44,29.66,29.82,29.92,29.98,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30 +PARAM_ANGLE_Z=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.08,-0.31,-0.65,-1.12,-1.66,-2.28,-2.95,-3.65,-4.36,-5.07,-5.76,-6.41,-7.01,-7.55,-8.01,-8.39,-8.67,-8.84,-8.9,-8.41,-7.1,-5.1,-2.61,0.27,3.41,6.75,10.09,13.5,16.72,19.78,22.59,25.07,27.11,28.66,29.65,30,29.86,29.47,28.86,28.08,27.18,26.18,25.16,24.11,23.1,22.12,21.25,20.48,19.85,19.39,19.1,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19 +PARAM_EYE_L_OPEN=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.76,0.36,0.09,0,0,0,0.18,0.46,0.73,0.92,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_EYE_L_SMILE=0 +PARAM_EYE_R_OPEN=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.76,0.36,0.09,0,0,0,0.18,0.46,0.73,0.92,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_EYE_R_SMILE=0 +PARAM_EYE_FORM=0 +PARAM_EYE_BALL_X=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.003,0.011,0.025,0.043,0.07,0.09,0.12,0.16,0.19,0.23,0.27,0.31,0.35,0.39,0.43,0.47,0.51,0.56,0.59,0.64,0.68,0.71,0.74,0.77,0.788,0.806,0.82,0.833,0.842,0.85,0.856,0.86,0.863,0.865,0.866,0.866,0.87,0.87,0.87,0.87,0.87,0.87,0.87,0.87,0.87,0.87,0.87,0.87,0.87,0.87,0.87,0.87,0.87,0.87,0.87,0.87,0.87,0.87,0.87,0.87,0.87,0.87,0.87,0.87,0.87,0.87 +PARAM_EYE_BALL_Y=0 +PARAM_EYE_BALL_FORM=0 +PARAM_BROW_L_Y=0 +PARAM_BROW_R_Y=0 +PARAM_BROW_L_X=0 +PARAM_BROW_R_X=0 +PARAM_BROW_L_ANGLE=0 +PARAM_BROW_R_ANGLE=0 +PARAM_BROW_L_FORM=0 +PARAM_BROW_R_FORM=0 +PARAM_MOUTH_FORM=0 +PARAM_MOUTH_OPEN_Y=0,0.39,0.78,0.71,0.64,0.32,0,0.4,0.79,0.775,0.758,0.741,0.724,0.707,0.69,0.38,0.08,0.075,0.072,0.069,0.066,0.063,0.06,0.057,0.054,0.051,0.048,0.045,0.042,0.039,0.036,0.033,0.03,0.027,0.024,0.021,0.018,0.015,0.012,0.009,0.006,0.003,0,0.09,0.19,0.5,0.82,0.42,0.03,0.98,1,1,0.37,1,1,1,1,1,1,1,1,1,0.84,0.65,0.47,0.43,0.38,0.34,0.29,0.6,0.9,0.67,0.43,0.48,0.53,0.58,0.63,0.78,0.94,1,1,0.54,0.02,0.19,0.36,0.18,0,0,0,0,0,0,0,0 +PARAM_CHEEK=0 +PARAM_SWEAT=0 +PARAM_ARM_L=0 +PARAM_BODY_ANGLE_X=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.014,-0.06,-0.13,-0.23,-0.37,-0.53,-0.72,-0.94,-1.19,-1.48,-1.79,-2.12,-2.49,-2.88,-3.29,-3.74,-4.2,-4.69,-5.2,-5.76,-6.28,-6.77,-7.22,-7.61,-7.97,-8.27,-8.53,-8.73,-8.88,-8.97,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 +PARAM_BODY_ANGLE_Z=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.012,-0.05,-0.1,-0.19,-0.29,-0.42,-0.58,-0.75,-0.95,-1.18,-1.42,-1.69,-1.98,-2.28,-2.61,-2.96,-3.32,-3.7,-4.1,-4.54,-4.94,-5.31,-5.65,-5.95,-6.23,-6.46,-6.65,-6.8,-6.91,-6.98,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7 +PARAM_BODY_ANGLE_Y=0 +PARAM_BREATH=0 +PARAM_HAIR_FRONT=0 +PARAM_HAIR_BACK=0 +PARAM_ACCESSORIES=0 \ No newline at end of file diff --git a/media/live2d/histoire/model/histoire/motions/tap/m_06.mtn b/media/live2d/histoire/model/histoire/motions/tap/m_06.mtn new file mode 100644 index 0000000..72c4fb1 --- /dev/null +++ b/media/live2d/histoire/model/histoire/motions/tap/m_06.mtn @@ -0,0 +1,46 @@ +# Live2D Animator Motion Data +$fps=30 + +$fadein=300 + +$fadeout=500 + +PARAM_ANGLE_X=0 +PARAM_ANGLE_Y=0,0,0,0,0,0,0,0,-1.03,-3.74,-7.65,-12.12,-16.75,-21.08,-24.77,-27.6,-29.37,-30,-29.3,-27.35,-24.27,-20.36,-15.69,-10.61,-5.24,0.24,5.61,10.69,15.36,19.27,22.35,24.3,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25 +PARAM_ANGLE_Z=0 +PARAM_EYE_L_OPEN=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_EYE_L_SMILE=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.73,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_EYE_R_OPEN=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_EYE_R_SMILE=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.73,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_EYE_FORM=0 +PARAM_EYE_BALL_X=0,0,0,0,0,0,0,0,-0.002,-0.006,-0.012,-0.017,-0.022,-0.026,-0.029,-0.03,-0.03,-0.03,-0.03,-0.03,-0.03,-0.03,-0.03,-0.028,-0.022,-0.015,-0.008,-0.002,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_EYE_BALL_Y=0,0,0,0,0,0,0,0,0.07,0.21,0.38,0.57,0.73,0.87,0.97,1,1,1,1,1,1,1,1,0.92,0.74,0.5,0.26,0.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_EYE_BALL_FORM=0 +PARAM_BROW_L_Y=0 +PARAM_BROW_R_Y=0 +PARAM_BROW_L_X=0 +PARAM_BROW_R_X=0 +PARAM_BROW_L_ANGLE=0 +PARAM_BROW_R_ANGLE=0 +PARAM_BROW_L_FORM=0 +PARAM_BROW_R_FORM=0 +PARAM_MOUTH_FORM=1 +PARAM_MOUTH_OPEN_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.26,0.74,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_CHEEK=0 +PARAM_ARM_L_01=0,0,0,0,0,0,0,0,-0.44,-1.51,-2.82,-4.1,-5.13,-5.78,-6,-6.014,-6.019,-5.96,-5.8,-5.53,-5.17,-4.75,-4.3,-3.83,-3.36,-2.94,-2.56,-2.26,-2.07,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +PARAM_ARM_L_02=0,0,0,0,0,0,0,0,0.29,1.01,1.94,2.91,3.79,4.5,5,5.28,5.37,5.64,6.13,6.62,7.13,7.63,8.09,8.54,8.95,9.29,9.59,9.81,9.95,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10 +PARAM_HAND_L=0 +PARAM_ARM_R_01=0,0,0,0,0,0,0,0,-0.29,-1.01,-1.88,-2.73,-3.42,-3.85,-4,-3.997,-3.85,-3.35,-2,-0.57,0.91,2.43,4,7.73,11.93,15.1,17,18.39,18.91,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19 +PARAM_ARM_R_02=0,0,0,0,0,0,0,0,0.18,0.66,1.36,2.2,3.12,4.07,5,6,6.77,7.59,8.68,9.31,9.71,9.93,10,9.8,9.03,7.71,6,2.15,-1.99,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +PARAM_HAND_R=0 +PARAM_LEG_L=0,0,0,0,0,0,0,0,-0.1,-0.37,-0.76,-1.21,-1.68,-2.11,-2.48,-2.76,-2.94,-3,-2.94,-2.76,-2.48,-2.12,-1.7,-1.24,-0.75,-0.25,0.24,0.7,1.12,1.48,1.76,1.94,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 +PARAM_LEG_R=0,0,0,0,0,0,0,0,-0.1,-0.37,-0.76,-1.21,-1.68,-2.11,-2.48,-2.76,-2.94,-3,-2.96,-2.86,-2.69,-2.47,-2.22,-1.94,-1.65,-1.35,-1.06,-0.78,-0.53,-0.31,-0.14,-0.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BODY_ANGLE_X=0 +PARAM_BODY_ANGLE_Y=0,0,0,0,0,0,0,0,-0.34,-1.25,-2.55,-4.04,-5.58,-7.03,-8.26,-9.2,-9.79,-10,-9.76,-9.08,-8.02,-6.67,-5.06,-3.3,-1.44,0.44,2.3,4.06,5.67,7.02,8.08,8.76,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9 +PARAM_BODY_ANGLE_Z=0,0,0,0,0,0,0,0,0.21,0.76,1.56,2.51,3.49,4.44,5.24,5.79,6,5.86,5.47,4.86,4.08,3.18,2.18,1.16,0.11,-0.9,-1.88,-2.75,-3.52,-4.15,-4.61,-4.9,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5 +PARAM_BREATH=0 +PARAM_HAIR_FLUFFY=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.07,0.21,0.38,0.57,0.73,0.87,0.97,1,0.88,0.62,0.29,-0.05,-0.36,-0.62,-0.79,-0.85,-0.77,-0.58,-0.36,-0.12,0.09,0.27,0.39,0.43,0.415,0.38,0.32,0.26,0.19,0.13,0.07,0.03,0.01,0,0,0,0,0,0 +PARAM_HAIR_FRONT=0 +PARAM_HAIR_BACK=0 +PARAM_BASE_X=0 +PARAM_BASE_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.67,2.71,5.75,9.4,15.27,19.98,22,19.5,15.18,10.59,6.36,2.92,0.62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 \ No newline at end of file diff --git a/media/live2d/histoire/model/histoire/motions/tap/m_13.mtn b/media/live2d/histoire/model/histoire/motions/tap/m_13.mtn new file mode 100644 index 0000000..0e14449 --- /dev/null +++ b/media/live2d/histoire/model/histoire/motions/tap/m_13.mtn @@ -0,0 +1,46 @@ +# Live2D Animator Motion Data +$fps=30 + +$fadein=200 + +$fadeout=500 + +PARAM_ANGLE_X=0 +PARAM_ANGLE_Y=0,0,0,0,0,0,-0.69,-2.49,-5.1,-8.08,-11.17,-14.05,-16.52,-18.4,-19.58,-20,-19.62,-18.63,-17.18,-15.39,-13.4,-11.31,-9.21,-7.16,-5.25,-3.53,-2.1,-0.98,-0.25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_ANGLE_Z=0 +PARAM_EYE_L_OPEN=1,1,1,1,1,1,1,1,1,0.74,0.26,0,0,0,0.24,0.64,0.91,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_EYE_L_SMILE=0 +PARAM_EYE_R_OPEN=1,1,1,1,1,1,1,1,1,0.74,0.26,0,0,0,0.24,0.64,0.91,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_EYE_R_SMILE=0 +PARAM_EYE_FORM=0 +PARAM_EYE_BALL_X=0 +PARAM_EYE_BALL_Y=0 +PARAM_EYE_BALL_FORM=0 +PARAM_BROW_L_Y=0 +PARAM_BROW_R_Y=0 +PARAM_BROW_L_X=0,0,0,0,0,0,-0.003,-0.012,-0.026,-0.045,-0.07,-0.09,-0.12,-0.15,-0.18,-0.21,-0.23,-0.26,-0.28,-0.31,-0.324,-0.339,-0.351,-0.358,-0.36,-0.36,-0.36,-0.36,-0.36,-0.36,-0.36,-0.36,-0.36,-0.36,-0.36,-0.36,-0.36,-0.36,-0.36,-0.36,-0.36,-0.36,-0.36,-0.36,-0.36,-0.36,-0.36,-0.36,-0.36,-0.36,-0.36,-0.36,-0.36,-0.36 +PARAM_BROW_R_X=0,0,0,0,0,0,-0.003,-0.012,-0.026,-0.044,-0.07,-0.09,-0.12,-0.14,-0.17,-0.2,-0.23,-0.25,-0.28,-0.3,-0.315,-0.33,-0.341,-0.348,-0.35,-0.35,-0.35,-0.35,-0.35,-0.35,-0.35,-0.35,-0.35,-0.35,-0.35,-0.35,-0.35,-0.35,-0.35,-0.35,-0.35,-0.35,-0.35,-0.35,-0.35,-0.35,-0.35,-0.35,-0.35,-0.35,-0.35,-0.35,-0.35,-0.35 +PARAM_BROW_L_ANGLE=0,0,0,0,0,0,-0.004,-0.015,-0.032,-0.05,-0.08,-0.11,-0.14,-0.18,-0.21,-0.25,-0.28,-0.31,-0.34,-0.36,-0.39,-0.405,-0.419,-0.427,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43 +PARAM_BROW_R_ANGLE=0,0,0,0,0,0,-0.004,-0.015,-0.032,-0.05,-0.08,-0.11,-0.14,-0.18,-0.21,-0.25,-0.28,-0.31,-0.34,-0.36,-0.39,-0.405,-0.419,-0.427,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43,-0.43 +PARAM_BROW_L_FORM=0,0,0,0,0,0,-0.004,-0.016,-0.035,-0.06,-0.09,-0.12,-0.16,-0.19,-0.23,-0.27,-0.3,-0.34,-0.37,-0.4,-0.42,-0.443,-0.458,-0.467,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47 +PARAM_BROW_R_FORM=0,0,0,0,0,0,-0.004,-0.017,-0.035,-0.06,-0.09,-0.12,-0.16,-0.2,-0.24,-0.27,-0.31,-0.35,-0.38,-0.41,-0.43,-0.452,-0.467,-0.477,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48,-0.48 +PARAM_MOUTH_FORM=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.87,0.59,0.23,-0.13,-0.47,-0.75,-0.93,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +PARAM_MOUTH_OPEN_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.07,0.21,0.38,0.57,0.73,0.87,0.97,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_CHEEK=0 +PARAM_ARM_L_01=0,0,0,0,0,0,0.05,0.21,0.45,0.76,1.13,1.55,2.01,2.5,3,3.5,3.99,4.45,4.87,5.24,5.55,5.79,5.95,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 +PARAM_ARM_L_02=0,0,0,0,0,0,-0.18,-0.69,-1.49,-2.53,-3.76,-5.18,-6.72,-8.34,-10,-11.66,-13.28,-14.82,-16.24,-17.47,-18.51,-19.31,-19.82,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +PARAM_HAND_L=0 +PARAM_ARM_R_01=0,0,0,0,0,0,0.005,0.03,0.11,0.26,0.48,0.79,1.2,1.7,2.3,3,4.71,6.95,9.38,11.75,13.83,15.5,16.6,17,16.4,14.94,13,11.06,9.6,9,9.24,9.89,10.82,11.93,13.07,14.18,15.11,15.76,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16 +PARAM_ARM_R_02=0,0,0,0,0,0,0.34,1.25,2.55,4.04,5.58,7.03,8.26,9.2,9.79,10,9.41,8.14,6.55,4.9,3.39,2.14,1.31,1,1.68,3.32,5.5,7.68,9.32,10,9.72,8.99,7.92,6.65,5.35,4.08,3.01,2.28,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 +PARAM_HAND_R=0 +PARAM_LEG_L=0,0,0,0,0,0,0.06,0.24,0.52,0.89,1.32,1.81,2.35,2.92,3.5,4.08,4.65,5.19,5.68,6.11,6.48,6.76,6.94,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7 +PARAM_LEG_R=0,0,0,0,0,0,-0.04,-0.14,-0.3,-0.51,-0.75,-1.04,-1.34,-1.67,-2,-2.33,-2.66,-2.96,-3.25,-3.49,-3.7,-3.86,-3.96,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +PARAM_BODY_ANGLE_X=0,0,0,0,0,0,0.09,0.34,0.74,1.26,1.87,2.56,3.32,4.1,4.9,5.7,6.47,7.2,7.88,8.48,9,9.43,9.74,9.93,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10 +PARAM_BODY_ANGLE_Y=0,0,0,0,0,0,-0.04,-0.14,-0.29,-0.5,-0.75,-1.02,-1.33,-1.64,-1.96,-2.28,-2.59,-2.88,-3.15,-3.39,-3.6,-3.77,-3.9,-3.97,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +PARAM_BODY_ANGLE_Z=0,0,0,0,0,0,0.09,0.34,0.74,1.26,1.87,2.56,3.32,4.1,4.9,5.7,6.47,7.2,7.88,8.48,9,9.43,9.74,9.93,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10 +PARAM_BREATH=0 +PARAM_HAIR_FLUFFY=0 +PARAM_HAIR_FRONT=0 +PARAM_HAIR_BACK=0 +PARAM_BASE_X=0 +PARAM_BASE_Y=0 \ No newline at end of file diff --git a/media/live2d/histoire/model/histoire/motions/tap/nep_touch_boobs_1.mtn b/media/live2d/histoire/model/histoire/motions/tap/nep_touch_boobs_1.mtn new file mode 100644 index 0000000..0e373b1 --- /dev/null +++ b/media/live2d/histoire/model/histoire/motions/tap/nep_touch_boobs_1.mtn @@ -0,0 +1,44 @@ +# Live2D Animator Motion Data +$fps=30 +PARAM_SHOULDER_X=6.4,6.36,6.24,6.05,5.79,5.48,5.13,4.74,4.32,3.88,3.42,2.98,2.52,2.08,1.66,1.27,0.92,0.61,0.35,0.16,0.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.14,0.49,1,1.64,2.34,3.08,3.83,4.56,5.23,5.85,6.35,6.75,7.01,7.1,7.099,7.097,7.092,7.084,7.072,7.057,7.04,7.01,6.98,6.94,6.9,6.84,6.78,6.71,6.63,6.54,6.44,6.33,6.2,6.07,5.92,5.76,5.58,5.39,5.1,4.69,4.19,3.63,3.04,2.44,1.87,1.35,0.89,0.51,0.23,0.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_MOUTH_OPEN_Y=0,0,0,0,0,0,0,0,0.22,0.45,0.4,0.35,0.3,0.25,0.2,0.15,0.38,0.61,0.58,0.54,0.51,0.47,0.481,0.492,0.502,0.512,0.523,0.533,0.46,0.38,0.19,0,0.46,0.93,0.74,0.55,0.58,0.61,0.64,0.67,0.7,0.73,0.62,0.51,0.4,0.29,0.56,0.84,0.76,0.67,0.65,0.63,0.61,0.59,0.57,0.55,0.53,0.51,0.48,0.46,0.24,0.01,0.35,0.69,0.53,0.37,0.55,0.73,0.733,0.737,0.64,0.53,0.43,0.33,0.62,0.91,0.84,0.76,0.767,0.773,0.778,0.784,0.68,0.58,0.47,0.37,0.378,0.388,0.398,0.408,0.34,0.27,0.2,0.14,0.07,0,0.01,0.02,0.029,0.039,0.34,0.64,0.58,0.52,0.27,0.02,0.47,0.91,0.82,0.73,0.65,0.56,0.6,0.64,0.68,0.72,0.69,0.66,0.63,0.6,0.45,0.3,0.6,0.91,0.77,0.63,0.69,0.75,0.67,0.6,0.36,0.12,0.44,0.77,0.75,0.732,0.714,0.695,0.677,0.659,0.58,0.51,0.514,0.518,0.26,0,0.43,0.86,0.82,0.77,0.38,0,0.29,0.58,0.51,0.43,0.53,0.64,0.51,0.38,0.19,0,0.38,0.77,0.759,0.75,0.741,0.732,0.723,0.714,0.66,0.61,0.46,0.31,0.15,0,0,0,0,0,0,0 +PARAM_FACE_COVER=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.82,0.54,0.27,0.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_FEAR=0 +PARAM_EYE_L_OPEN=1,1,1,0.999,0.998,0.996,0.995,0.993,0.99,0.988,0.985,0.983,0.979,0.976,0.973,0.969,0.965,0.961,0.956,0.952,0.947,0.943,0.938,0.933,0.927,0.922,0.917,0.911,0.906,0.9,0.894,0.889,0.883,0.877,0.871,0.865,0.859,0.853,0.847,0.841,0.835,0.829,0.823,0.817,0.811,0.806,0.8,0.794,0.789,0.783,0.778,0.773,0.767,0.762,0.757,0.753,0.748,0.744,0.739,0.735,0.731,0.727,0.724,0.721,0.717,0.715,0.712,0.71,0.707,0.705,0.704,0.702,0.701,0.701,0.7,0.7,0.71,0.74,0.78,0.82,0.87,0.91,0.95,0.98,0.994,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.999,0.997,0.993,0.987,0.981,0.974,0.967,0.959,0.951,0.943,0.935,0.928,0.921,0.915,0.91,0.906,0.903,0.901,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.901,0.905,0.91,0.917,0.926,0.935,0.944,0.954,0.963,0.972,0.98,0.987,0.992,0.996,0.999,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_EYE_L_SMILE=0 +PARAM_BROW_L_FORM=-1 +PARAM_TEAR=0 +PARAM_BROW_L_X=0 +PARAM_BROW_DEFORMED=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.82,0.54,0.27,0.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BROW_L_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.06,-0.16,-0.25,-0.31,-0.34,-0.34,-0.34,-0.34,-0.34,-0.34,-0.34,-0.34,-0.34,-0.342,-0.344,-0.347,-0.351,-0.355,-0.36,-0.367,-0.374,-0.382,-0.392,-0.402,-0.414,-0.427,-0.441,-0.456,-0.473,-0.49,-0.51,-0.531,-0.551,-0.57,-0.589,-0.608,-0.626,-0.643,-0.66,-0.677,-0.693,-0.709,-0.723,-0.737,-0.751,-0.764,-0.776,-0.787,-0.797,-0.807,-0.816,-0.824,-0.832,-0.838,-0.844,-0.849,-0.853,-0.856,-0.858,-0.86,-0.86,-0.859,-0.856,-0.851,-0.845,-0.837,-0.827,-0.816,-0.803,-0.79,-0.775,-0.76,-0.743,-0.726,-0.708,-0.689,-0.67,-0.651,-0.632,-0.612,-0.593,-0.573,-0.554,-0.535,-0.516,-0.498,-0.48,-0.463,-0.446,-0.431,-0.416,-0.403,-0.391,-0.379,-0.369,-0.361,-0.353,-0.348,-0.343,-0.341,-0.34 +PARAM_EYE_R_SMILE=0 +PARAM_EYE_R_OPEN=1,1,1,0.999,0.998,0.996,0.995,0.993,0.99,0.988,0.985,0.983,0.979,0.976,0.973,0.969,0.965,0.961,0.956,0.952,0.947,0.943,0.938,0.933,0.927,0.922,0.917,0.911,0.906,0.9,0.894,0.889,0.883,0.877,0.871,0.865,0.859,0.853,0.847,0.841,0.835,0.829,0.823,0.817,0.811,0.806,0.8,0.794,0.789,0.783,0.778,0.773,0.767,0.762,0.757,0.753,0.748,0.744,0.739,0.735,0.731,0.727,0.724,0.721,0.717,0.715,0.712,0.71,0.707,0.705,0.704,0.702,0.701,0.701,0.7,0.7,0.71,0.74,0.78,0.82,0.87,0.91,0.95,0.98,0.994,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.999,0.997,0.994,0.989,0.984,0.978,0.971,0.964,0.957,0.949,0.942,0.935,0.928,0.922,0.916,0.911,0.906,0.903,0.9,0.898,0.896,0.894,0.893,0.892,0.891,0.89,0.89,0.89,0.89,0.89,0.89,0.89,0.89,0.89,0.89,0.891,0.895,0.901,0.909,0.918,0.928,0.938,0.949,0.959,0.969,0.977,0.985,0.991,0.996,0.999,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_HAIR_BACK=0 +PARAM_EYE_BALL_X=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.009,0.03,0.07,0.13,0.19,0.26,0.34,0.42,0.5,0.58,0.66,0.74,0.81,0.87,0.93,0.97,0.99,1,1,1,0.999,0.998,0.996,0.995,0.993,0.99,0.987,0.984,0.981,0.977,0.972,0.968,0.962,0.957,0.951,0.944,0.937,0.929,0.921,0.913,0.903,0.894,0.883,0.873,0.861,0.849,0.837,0.823,0.81,0.795,0.78,0.762,0.745,0.728,0.712,0.696,0.681,0.667,0.654,0.641,0.63,0.62,0.611,0.604,0.598,0.594,0.591,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59 +PARAM_HAIR_FRONT=0 +PARAM_EYE_BALL_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.002,0.007,0.016,0.027,0.039,0.054,0.071,0.088,0.105,0.122,0.139,0.156,0.171,0.183,0.194,0.203,0.208,0.21,0.209,0.205,0.199,0.191,0.182,0.17,0.157,0.142,0.126,0.109,0.091,0.072,0.052,0.03,0.011,-0.01,-0.03,-0.05,-0.072,-0.09,-0.112,-0.131,-0.149,-0.166,-0.182,-0.197,-0.21,-0.222,-0.231,-0.239,-0.245,-0.249,-0.25,-0.242,-0.22,-0.19,-0.15,-0.1,-0.05,0,0.06,0.11,0.16,0.21,0.26,0.3,0.33,0.36,0.374,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38 +PARAM_BROW_L_ANGLE=-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-0.91,-0.78,-0.65,-0.56,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.521,-0.52,-0.52,-0.52,-0.52,-0.521,-0.52,-0.519,-0.518,-0.517,-0.516,-0.514,-0.512,-0.51,-0.506,-0.499,-0.491,-0.48,-0.467,-0.452,-0.436,-0.418,-0.399,-0.38,-0.36,-0.34,-0.32,-0.29,-0.27,-0.25,-0.23,-0.21,-0.188,-0.169,-0.15,-0.133,-0.117,-0.102,-0.089,-0.078,-0.068,-0.06,-0.055,-0.051,-0.05,-0.053,-0.061,-0.075,-0.092,-0.11,-0.14,-0.17,-0.2,-0.23,-0.26,-0.29,-0.32,-0.35,-0.38,-0.41,-0.44,-0.46,-0.48,-0.495,-0.505,-0.51,-0.512,-0.514,-0.515,-0.517,-0.518,-0.519,-0.519,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52 +PARAM_EYE_DEFORMED_04=0 +PARAM_EYE_DEFORMED_03=0 +PARAM_EYE_DEFORMED_02=0 +PARAM_EYE_DEFORMED_01=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.82,0.54,0.27,0.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_ANGLE_Z=0,-0.08,-0.31,-0.68,-1.18,-1.78,-2.48,-3.27,-4.11,-5.03,-5.98,-6.95,-7.94,-8.94,-9.9,-10.86,-11.78,-12.62,-13.41,-14.11,-14.71,-15.21,-15.58,-15.81,-15.89,-15.89,-15.89,-15.89,-15.89,-15.89,-15.89,-15.89,-15.89,-15.89,-15.89,-15.89,-15.89,-15.89,-15.89,-15.54,-14.6,-13.16,-11.38,-9.31,-7.06,-4.67,-2.27,0.17,2.48,4.67,6.69,8.47,9.93,11.04,11.75,12,12,12,12,12,12,12,11.97,11.89,11.75,11.56,11.32,11.05,10.73,10.38,9.99,9.58,9.13,8.66,8.17,7.67,7.15,6.63,6.1,5.55,5.02,4.47,3.95,3.43,2.92,2.43,1.96,1.51,1.09,0.69,0.33,0,-0.32,-0.63,-0.93,-1.22,-1.5,-1.78,-2.04,-2.31,-2.56,-2.8,-3.04,-3.27,-3.49,-3.71,-3.93,-4.14,-4.34,-4.54,-4.74,-4.93,-5.12,-5.31,-5.49,-5.67,-5.84,-6.02,-6.19,-6.36,-6.53,-6.69,-6.86,-7.02,-7.18,-7.35,-7.51,-7.67,-7.84,-8,-8.16,-8.32,-8.46,-8.6,-8.73,-8.85,-8.97,-9.07,-9.17,-9.26,-9.35,-9.43,-9.5,-9.57,-9.63,-9.68,-9.73,-9.78,-9.82,-9.85,-9.88,-9.91,-9.93,-9.953,-9.968,-9.98,-9.989,-9.995,-9.999,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10 +PARAM_BODY_ANGLE_X=0,-0.07,-0.26,-0.55,-0.95,-1.43,-1.99,-2.59,-3.25,-3.94,-4.65,-5.35,-6.06,-6.75,-7.41,-8.01,-8.57,-9.05,-9.45,-9.74,-9.93,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-9.75,-9.04,-7.93,-6.52,-4.88,-3.06,-1.2,0.7,2.55,4.32,5.9,7.3,8.45,9.29,9.82,10,10,10,10,10,10,10,10,10,10,10,9.987,9.95,9.88,9.79,9.67,9.53,9.36,9.18,8.97,8.73,8.48,8.2,7.91,7.6,7.26,6.92,6.55,6.17,5.77,5.35,4.92,4.48,4.03,3.56,3.08,2.59,2.09,1.58,1.06,0.53,0,-0.6,-1.16,-1.72,-2.24,-2.74,-3.23,-3.69,-4.14,-4.56,-4.96,-5.35,-5.72,-6.07,-6.4,-6.71,-7.01,-7.3,-7.56,-7.82,-8.05,-8.27,-8.48,-8.67,-8.85,-9.01,-9.17,-9.3,-9.43,-9.54,-9.64,-9.72,-9.8,-9.86,-9.91,-9.95,-9.98,-9.995,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10 +PARAM_BODY_ANGLE_Y=-10,-9.93,-9.74,-9.45,-9.05,-8.57,-8.01,-7.41,-6.75,-6.06,-5.35,-4.65,-3.94,-3.25,-2.59,-1.99,-1.43,-0.95,-0.55,-0.26,-0.07,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.09,-0.34,-0.74,-1.27,-1.88,-2.59,-3.36,-4.17,-5,-5.83,-6.64,-7.41,-8.12,-8.73,-9.26,-9.66,-9.91,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-9.6,-8.53,-6.92,-4.9,-2.67,-0.29,2.04,4.22,6.14,7.76,8.98,9.74,10,9.8,9.26,8.44,7.41,6.23,4.94,3.56,2.19,0.79,-0.54,-1.8,-2.95,-3.97,-4.81,-5.45,-5.86,-6,-5.96,-5.85,-5.67,-5.43,-5.15,-4.82,-4.45,-4.08,-3.67,-3.26,-2.84,-2.44,-2.04,-1.66,-1.31,-0.99,-0.71,-0.46,-0.27,-0.12,-0.03,0 +PARAM_BODY_ANGLE_Z=0 +PARAM_BROW_R_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.09,-0.23,-0.36,-0.45,-0.49,-0.49,-0.49,-0.49,-0.49,-0.49,-0.49,-0.49,-0.492,-0.494,-0.497,-0.501,-0.506,-0.511,-0.517,-0.523,-0.531,-0.538,-0.546,-0.555,-0.564,-0.573,-0.583,-0.593,-0.603,-0.614,-0.624,-0.635,-0.646,-0.657,-0.668,-0.679,-0.69,-0.701,-0.712,-0.723,-0.733,-0.744,-0.754,-0.764,-0.773,-0.783,-0.791,-0.8,-0.808,-0.816,-0.823,-0.829,-0.836,-0.841,-0.846,-0.85,-0.853,-0.856,-0.858,-0.86,-0.86,-0.859,-0.857,-0.854,-0.849,-0.843,-0.836,-0.829,-0.82,-0.81,-0.8,-0.789,-0.777,-0.764,-0.752,-0.739,-0.725,-0.712,-0.698,-0.684,-0.67,-0.656,-0.642,-0.629,-0.615,-0.602,-0.59,-0.577,-0.566,-0.555,-0.544,-0.535,-0.526,-0.518,-0.511,-0.505,-0.5,-0.495,-0.492,-0.491,-0.49 +PARAM_ANGLE_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.27,-1.03,-2.23,-3.8,-5.64,-7.76,-10.07,-12.51,-15,-17.49,-19.93,-22.24,-24.36,-26.2,-27.77,-28.97,-29.73,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-29.02,-26.4,-22.45,-17.51,-12.03,-6.22,-0.51,4.83,9.55,13.52,16.5,18.36,19,18.52,17.24,15.29,12.85,10.04,6.98,3.71,0.45,-2.88,-6.03,-9.02,-11.76,-14.19,-16.17,-17.69,-18.66,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19 +PARAM_BREATH=0 +PARAM_BROW_R_X=0 +PARAM_ANGLE_X=0,-0.07,-0.28,-0.61,-1.04,-1.58,-2.19,-2.85,-3.57,-4.33,-5.11,-5.89,-6.67,-7.43,-8.15,-8.81,-9.42,-9.96,-10.39,-10.72,-10.93,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-10.86,-10.47,-9.86,-9.08,-8.18,-7.18,-6.16,-5.11,-4.1,-3.12,-2.25,-1.48,-0.85,-0.39,-0.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.27,-1.03,-2.23,-3.8,-5.64,-7.76,-10.07,-12.51,-15,-17.49,-19.93,-22.24,-24.36,-26.2,-27.77,-28.97,-29.73,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-29.84,-29.37,-28.65,-27.72,-26.62,-25.42,-24.15,-22.85,-21.58,-20.38,-19.28,-18.35,-17.63,-17.16,-17,-17.013,-17.05,-17.1,-17.18,-17.26,-17.35,-17.45,-17.55,-17.65,-17.74,-17.82,-17.9,-17.95,-17.99,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18 +PARAM_ARM_R=-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-9.87,-9.52,-8.96,-8.25,-7.4,-6.47,-5.5,-4.5,-3.53,-2.6,-1.75,-1.04,-0.48,-0.13,0,-0.07,-0.25,-0.55,-0.95,-1.42,-1.96,-2.58,-3.21,-3.88,-4.57,-5.26,-5.93,-6.6,-7.23,-7.82,-8.35,-8.82,-9.23,-9.56,-9.8,-9.95,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10 +PARAM_ARM_L=-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-9.87,-9.52,-8.96,-8.25,-7.4,-6.47,-5.5,-4.5,-3.53,-2.6,-1.75,-1.04,-0.48,-0.13,0,-0.07,-0.25,-0.55,-0.95,-1.42,-1.96,-2.58,-3.21,-3.88,-4.57,-5.26,-5.93,-6.6,-7.23,-7.82,-8.35,-8.82,-9.23,-9.56,-9.8,-9.95,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10 +PARAM_MOUTH_FORM=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.18,-0.46,-0.73,-0.92,-1,-0.96,-0.87,-0.76,-0.64,-0.55,-0.51,-0.51,-0.51,-0.51,-0.51,-0.51,-0.51,-0.511,-0.51,-0.51,-0.512,-0.51,-0.51,-0.513,-0.51,-0.514,-0.515,-0.52,-0.516,-0.52,-0.518,-0.518,-0.52,-0.52,-0.521,-0.521,-0.522,-0.52,-0.524,-0.525,-0.526,-0.526,-0.527,-0.528,-0.529,-0.53,-0.531,-0.532,-0.533,-0.534,-0.535,-0.536,-0.537,-0.538,-0.539,-0.54,-0.54,-0.542,-0.543,-0.544,-0.545,-0.546,-0.547,-0.548,-0.549,-0.55,-0.551,-0.552,-0.553,-0.554,-0.554,-0.555,-0.556,-0.557,-0.56,-0.559,-0.559,-0.56,-0.561,-0.56,-0.562,-0.563,-0.56,-0.564,-0.56,-0.566,-0.566,-0.57,-0.567,-0.57,-0.57,-0.568,-0.57,-0.57,-0.569,-0.57,-0.57,-0.57,-0.57,-0.57,-0.57 +PARAM_HAIR_SIDE=0 +PARAM_EYE_BALL_FORM=0 +PARAM_BROW_R_ANGLE=-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-0.91,-0.78,-0.65,-0.56,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.521,-0.52,-0.52,-0.52,-0.52,-0.521,-0.52,-0.519,-0.518,-0.517,-0.516,-0.514,-0.512,-0.51,-0.506,-0.5,-0.491,-0.481,-0.468,-0.454,-0.438,-0.422,-0.404,-0.385,-0.365,-0.345,-0.324,-0.3,-0.28,-0.26,-0.241,-0.222,-0.202,-0.183,-0.166,-0.149,-0.134,-0.12,-0.107,-0.096,-0.087,-0.08,-0.074,-0.071,-0.07,-0.073,-0.081,-0.093,-0.11,-0.13,-0.15,-0.18,-0.21,-0.24,-0.27,-0.3,-0.33,-0.36,-0.39,-0.42,-0.44,-0.46,-0.481,-0.495,-0.505,-0.51,-0.512,-0.514,-0.515,-0.517,-0.518,-0.519,-0.519,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52 +PARAM_SWEAT=0 +PARAM_BROW_R_FORM=-1 +PARAM_TERE=0 +PARAM_EYE_BALL_GLITTER=0 +PARAM_STRING=0 \ No newline at end of file diff --git a/media/live2d/histoire/model/histoire/motions/tap/tsumiki_m_01.mtn b/media/live2d/histoire/model/histoire/motions/tap/tsumiki_m_01.mtn new file mode 100644 index 0000000..dfb0dc4 --- /dev/null +++ b/media/live2d/histoire/model/histoire/motions/tap/tsumiki_m_01.mtn @@ -0,0 +1,60 @@ +# Live2D Animator Motion Data +$fps=30 + +$fadein=1000 + +$fadeout=0 + +$fadein:PARAM_EYE_L_OPEN=200 +$fadeout:PARAM_EYE_L_OPEN=200 +$fadein:PARAM_EYE_L_SMILE=200 +$fadeout:PARAM_EYE_L_SMILE=200 +$fadein:PARAM_EYE_R_OPEN=200 +$fadeout:PARAM_EYE_R_OPEN=200 +$fadein:PARAM_EYE_R_SMILE=200 +$fadeout:PARAM_EYE_R_SMILE=200 +PARAM_ANGLE_X=0 +PARAM_ANGLE_Y=0,0.07,0.28,0.59,1.01,1.5,2.05,2.65,3.28,3.92,4.56,5.18,5.76,6.3,6.78,7.2,7.54,7.79,7.95,8,7.93,7.73,7.4,6.96,6.43,5.81,5.12,4.38,3.57,2.73,1.88,1,0.12,-0.73,-1.57,-2.38,-3.12,-3.81,-4.43,-4.96,-5.4,-5.73,-5.93,-6,-5.81,-5.31,-4.53,-3.57,-2.46,-1.25,0.04,1.32,2.64,3.88,5.06,6.14,7.1,7.88,8.48,8.87,9,8.97,8.89,8.75,8.57,8.35,8.1,7.8,7.48,7.15,6.78,6.4,6,5.6,5.18,4.76,4.34,3.93,3.52,3.12,2.72,2.35,1.99,1.65,1.33,1.05,0.79,0.56,0.36,0.21,0.09,0.02,0,0,0,0,0,0 +PARAM_ANGLE_Z=0,-0.05,-0.2,-0.43,-0.74,-1.12,-1.56,-2.06,-2.59,-3.16,-3.77,-4.37,-5,-5.63,-6.23,-6.84,-7.41,-7.94,-8.44,-8.88,-9.26,-9.57,-9.8,-9.95,-10,-9.94,-9.75,-9.44,-9.03,-8.51,-7.92,-7.24,-6.49,-5.68,-4.82,-3.9,-2.96,-1.98,-0.99,0,0.99,1.98,2.96,3.9,4.82,5.68,6.49,7.24,7.92,8.51,9.03,9.44,9.75,9.94,10,9.98,9.91,9.8,9.66,9.49,9.28,9.04,8.77,8.49,8.18,7.85,7.51,7.15,6.79,6.41,6.03,5.64,5.25,4.85,4.46,4.07,3.7,3.32,2.96,2.61,2.27,1.95,1.64,1.35,1.09,0.85,0.64,0.45,0.29,0.17,0.08,0.02,0,0,0,0,0,0 +PARAM_EYE_L_OPEN=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.74,0.26,0,0,0.07,0.25,0.47,0.68,0.85,0.96,1,1,1,1,1,0.74,0.26,0,0,0.07,0.25,0.47,0.68,0.85,0.96,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_EYE_L_SMILE=0,0.001,0.005,0.012,0.02,0.031,0.043,0.058,0.074,0.091,0.11,0.13,0.15,0.17,0.19,0.22,0.24,0.26,0.28,0.31,0.33,0.35,0.37,0.39,0.409,0.426,0.442,0.457,0.469,0.48,0.488,0.495,0.499,0.5,0.37,0.13,0,0,0.04,0.13,0.24,0.34,0.43,0.48,0.5,0.5,0.5,0.5,0.5,0.37,0.13,0,0,0.04,0.13,0.24,0.34,0.43,0.48,0.5,0.499,0.495,0.488,0.48,0.469,0.457,0.442,0.426,0.409,0.39,0.37,0.35,0.33,0.31,0.28,0.26,0.24,0.22,0.19,0.17,0.15,0.13,0.11,0.091,0.074,0.058,0.043,0.031,0.02,0.012,0.005,0.001,0,0,0,0,0,0 +PARAM_EYE_R_OPEN=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.74,0.26,0,0,0.07,0.25,0.47,0.68,0.85,0.96,1,1,1,1,1,0.74,0.26,0,0,0.07,0.25,0.47,0.68,0.85,0.96,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_EYE_R_SMILE=0,0.001,0.005,0.012,0.02,0.031,0.043,0.058,0.074,0.091,0.11,0.13,0.15,0.17,0.19,0.22,0.24,0.26,0.28,0.31,0.33,0.35,0.37,0.39,0.409,0.426,0.442,0.457,0.469,0.48,0.488,0.495,0.499,0.5,0.37,0.13,0,0,0.04,0.13,0.24,0.34,0.43,0.48,0.5,0.5,0.5,0.5,0.5,0.37,0.13,0,0,0.04,0.13,0.24,0.34,0.43,0.48,0.5,0.499,0.495,0.488,0.48,0.469,0.457,0.442,0.426,0.409,0.39,0.37,0.35,0.33,0.31,0.28,0.26,0.24,0.22,0.19,0.17,0.15,0.13,0.11,0.091,0.074,0.058,0.043,0.031,0.02,0.012,0.005,0.001,0,0,0,0,0,0 +PARAM_EYE_FORM=0 +PARAM_TEAR=0 +PARAM_EYE_BALL_X=0 +PARAM_EYE_BALL_Y=-0.5 +PARAM_EYE_BALL_FORM=1 +PARAM_BROW_L_Y=0 +PARAM_BROW_R_Y=0 +PARAM_BROW_L_X=0 +PARAM_BROW_R_X=0 +PARAM_BROW_L_ANGLE=0 +PARAM_BROW_R_ANGLE=0 +PARAM_BROW_L_FORM=0 +PARAM_BROW_R_FORM=0 +PARAM_MOUTH_FORM=1 +PARAM_MOUTH_OPEN_Y=0 +PARAM_CHEEK_01=0 +PARAM_CHEEK_02=0 +PARAM_CHEEK_03=0 +PARAM_CHEEK_04=0 +PARAM_BODY_ANGLE_X=0,-0.03,-0.1,-0.22,-0.38,-0.57,-0.79,-1.03,-1.28,-1.55,-1.83,-2.11,-2.37,-2.64,-2.89,-3.13,-3.34,-3.53,-3.69,-3.82,-3.92,-3.98,-4,-3.987,-3.95,-3.88,-3.79,-3.68,-3.55,-3.4,-3.24,-3.05,-2.86,-2.64,-2.42,-2.18,-1.94,-1.69,-1.43,-1.17,-0.9,-0.63,-0.37,-0.1,0.17,0.43,0.69,0.94,1.18,1.42,1.64,1.86,2.05,2.24,2.4,2.55,2.68,2.79,2.88,2.95,2.99,3,2.99,2.96,2.92,2.85,2.78,2.69,2.59,2.48,2.36,2.23,2.09,1.95,1.81,1.66,1.52,1.37,1.23,1.09,0.95,0.82,0.69,0.57,0.46,0.36,0.27,0.19,0.12,0.07,0.03,0.01,0,0,0,0,0,0 +PARAM_BODY_ANGLE_Y=0 +PARAM_BODY_ANGLE_Z=0,-0.01,-0.04,-0.09,-0.15,-0.22,-0.31,-0.41,-0.52,-0.63,-0.74,-0.86,-0.99,-1.11,-1.22,-1.34,-1.45,-1.55,-1.65,-1.74,-1.81,-1.88,-1.93,-1.97,-1.99,-2,-1.989,-1.96,-1.91,-1.84,-1.75,-1.65,-1.54,-1.41,-1.27,-1.12,-0.97,-0.81,-0.64,-0.46,-0.29,-0.11,0.07,0.24,0.42,0.59,0.76,0.92,1.07,1.22,1.35,1.48,1.59,1.7,1.78,1.86,1.92,1.96,1.99,2,1.995,1.979,1.95,1.92,1.88,1.83,1.77,1.7,1.64,1.56,1.48,1.4,1.31,1.23,1.14,1.05,0.95,0.86,0.77,0.69,0.6,0.52,0.44,0.36,0.3,0.23,0.17,0.12,0.08,0.05,0.02,0.005,0,0,0,0,0,0 +PARAM_BREATH=0,0.003,0.01,0.021,0.037,0.056,0.08,0.1,0.13,0.16,0.19,0.22,0.25,0.28,0.31,0.33,0.36,0.39,0.41,0.43,0.453,0.469,0.482,0.492,0.498,0.5,0.496,0.483,0.463,0.44,0.41,0.37,0.33,0.29,0.25,0.21,0.17,0.13,0.09,0.06,0.04,0.017,0.004,0,0.006,0.024,0.05,0.09,0.13,0.17,0.22,0.27,0.31,0.36,0.4,0.43,0.46,0.48,0.496,0.5,0.499,0.495,0.488,0.48,0.469,0.457,0.442,0.426,0.409,0.39,0.37,0.35,0.33,0.31,0.28,0.26,0.24,0.22,0.19,0.17,0.15,0.13,0.11,0.091,0.074,0.058,0.043,0.031,0.02,0.012,0.005,0.001,0,0,0,0,0,0 +PARAM_UPBACK=0 +PARAM_BUST_Y=0 +PARAM_TIE=0 +PARAM_SKIRT=0 +PARAM_HAIR_FRONT=0 +PARAM_HAIR_SIDE=0 +PARAM_HAIR_BACK=0 +PARAM_HAIR_AHO=0,-0.001,-0.004,-0.009,-0.015,-0.022,-0.031,-0.041,-0.052,-0.063,-0.074,-0.086,-0.099,-0.111,-0.122,-0.134,-0.145,-0.155,-0.165,-0.174,-0.181,-0.188,-0.193,-0.197,-0.199,-0.2,-0.199,-0.196,-0.192,-0.186,-0.179,-0.17,-0.161,-0.15,-0.138,-0.125,-0.111,-0.096,-0.081,-0.066,-0.05,-0.033,-0.017,0,0.017,0.033,0.05,0.066,0.081,0.096,0.111,0.125,0.138,0.15,0.161,0.17,0.179,0.186,0.192,0.196,0.199,0.2,0.199,0.197,0.194,0.19,0.185,0.179,0.173,0.165,0.157,0.148,0.139,0.13,0.121,0.111,0.101,0.092,0.082,0.072,0.063,0.054,0.046,0.038,0.031,0.024,0.018,0.013,0.008,0.005,0.002,0.001,0,0,0,0,0,0 +PARAM_HAIR_TAIR=0 +PARAM_RIBON_L=0 +PARAM_RIBON_R=0 +PARAM_ARM=0,0.001,0.002,0.005,0.01,0.017,0.025,0.035,0.048,0.063,0.079,0.094,0.109,0.123,0.135,0.147,0.158,0.167,0.175,0.183,0.189,0.194,0.197,0.199,0.2,0.197,0.19,0.179,0.164,0.147,0.128,0.11,0.09,0.06,0.04,0.02,-0.001,-0.022,-0.04,-0.057,-0.072,-0.083,-0.092,-0.098,-0.1,-0.096,-0.086,-0.069,-0.05,-0.02,0.01,0.04,0.06,0.09,0.12,0.15,0.17,0.186,0.196,0.2,0.2,0.198,0.196,0.193,0.19,0.186,0.181,0.175,0.17,0.164,0.157,0.15,0.143,0.136,0.128,0.121,0.113,0.105,0.097,0.089,0.081,0.074,0.066,0.059,0.052,0.045,0.039,0.033,0.027,0.022,0.017,0.013,0.009,0.006,0.003,0.002,0,0 +PARAM_ARM_L=0 +PARAM_ARM_R=0 +PARAM_FINGER=0.5 \ No newline at end of file diff --git a/media/live2d/histoire/model/histoire/motions/tap/tsumiki_m_09.mtn b/media/live2d/histoire/model/histoire/motions/tap/tsumiki_m_09.mtn new file mode 100644 index 0000000..f1826ab --- /dev/null +++ b/media/live2d/histoire/model/histoire/motions/tap/tsumiki_m_09.mtn @@ -0,0 +1,49 @@ +# Live2D Animator Motion Data +$fps=30 + +$fadein=1000 + +$fadeout=0 + +$fadein:PARAM_EYE_L_OPEN=200 +$fadeout:PARAM_EYE_L_OPEN=200 +$fadein:PARAM_EYE_L_SMILE=200 +$fadeout:PARAM_EYE_L_SMILE=200 +$fadein:PARAM_EYE_R_OPEN=200 +$fadeout:PARAM_EYE_R_OPEN=200 +$fadein:PARAM_EYE_R_SMILE=200 +$fadeout:PARAM_EYE_R_SMILE=200 +PARAM_ANGLE_X=0 +PARAM_ANGLE_Y=0,0,0,0,0,0,-0.69,-2.49,-5.1,-8.08,-11.17,-14.05,-16.52,-18.4,-19.58,-20,-16.72,-9.64,-0.81,8.36,16.73,23.67,28.28,30,29.7,28.9,27.66,26.1,24.37,22.5,20.63,18.9,17.34,16.1,15.3,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15 +PARAM_ANGLE_Z=0,0,0,0,0,0,-0.19,-0.72,-1.55,-2.61,-3.84,-5.2,-6.6,-8.03,-9.41,-10.74,-11.93,-12.98,-13.84,-14.47,-14.87,-15,-14.81,-14.28,-13.45,-12.39,-11.16,-9.8,-8.4,-6.97,-5.59,-4.26,-3.07,-2.02,-1.16,-0.53,-0.13,0,0,0,0,0,0,0,0,0.6,2.21,4.69,7.8,11.26,15,18.74,22.2,25.31,27.79,29.4,30,29.94,29.76,29.48,29.11,28.68,28.19,27.65,27.08,26.5,25.92,25.35,24.81,24.32,23.89,23.52,23.24,23.06,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23 +PARAM_EYE_L_OPEN=1,1,1,1,1,1,0.82,0.54,0.27,0.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.03,0.13,0.26,0.42,0.58,0.74,0.87,0.97,1,0.993,0.975,0.95,0.92,0.88,0.85,0.83,0.807,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8 +PARAM_EYE_L_SMILE=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.03,0.13,0.26,0.42,0.58,0.74,0.87,0.97,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_EYE_R_OPEN=1,1,1,1,1,1,0.82,0.54,0.27,0.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.03,0.13,0.26,0.42,0.58,0.74,0.87,0.97,1,0.993,0.975,0.95,0.92,0.88,0.85,0.83,0.807,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8 +PARAM_EYE_R_SMILE=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.03,0.13,0.26,0.42,0.58,0.74,0.87,0.97,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_EYE_BALL_X=0 +PARAM_EYE_BALL_Y=-0.5 +PARAM_EYE_BALL_FORM=1 +PARAM_BROW_L_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.07,0.25,0.47,0.68,0.85,0.96,1,0.992,0.972,0.94,0.91,0.88,0.85,0.82,0.79,0.77,0.755,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75 +PARAM_BROW_R_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.07,0.25,0.47,0.68,0.85,0.96,1,0.992,0.972,0.94,0.91,0.88,0.85,0.82,0.79,0.77,0.755,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.75 +PARAM_BROW_L_X=0 +PARAM_BROW_R_X=0 +PARAM_BROW_L_ANGLE=0,0,0,0,0,0,-0.001,-0.002,-0.005,-0.009,-0.014,-0.019,-0.026,-0.033,-0.041,-0.05,-0.06,-0.07,-0.081,-0.092,-0.104,-0.117,-0.13,-0.143,-0.156,-0.17,-0.184,-0.199,-0.213,-0.228,-0.243,-0.257,-0.272,-0.287,-0.301,-0.316,-0.33,-0.344,-0.357,-0.37,-0.383,-0.396,-0.408,-0.419,-0.43,-0.44,-0.45,-0.459,-0.467,-0.474,-0.481,-0.486,-0.491,-0.495,-0.498,-0.499,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +PARAM_BROW_R_ANGLE=0,0,0,0,0,0,-0.001,-0.002,-0.005,-0.009,-0.013,-0.019,-0.025,-0.032,-0.04,-0.049,-0.059,-0.069,-0.079,-0.09,-0.102,-0.114,-0.127,-0.14,-0.153,-0.167,-0.181,-0.195,-0.209,-0.223,-0.238,-0.252,-0.267,-0.281,-0.295,-0.309,-0.323,-0.337,-0.35,-0.363,-0.376,-0.388,-0.4,-0.411,-0.421,-0.431,-0.441,-0.45,-0.458,-0.465,-0.471,-0.477,-0.481,-0.485,-0.488,-0.489,-0.49,-0.49,-0.49,-0.49,-0.49,-0.49,-0.49,-0.49,-0.49,-0.49,-0.49,-0.49,-0.49,-0.49,-0.49,-0.49,-0.49,-0.49,-0.49,-0.49,-0.49,-0.49,-0.49,-0.49,-0.49,-0.49,-0.49,-0.49,-0.49,-0.49,-0.49,-0.49,-0.49,-0.49 +PARAM_BROW_L_FORM=0 +PARAM_BROW_R_FORM=0 +PARAM_MOUTH_FORM=1 +PARAM_MOUTH_OPEN_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.06,0.19,0.35,0.51,0.64,0.72,0.75,0.735,0.69,0.63,0.56,0.47,0.39,0.3,0.22,0.14,0.08,0.04,0.01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_CHEEK_02=1 +PARAM_BODY_ANGLE_X=0 +PARAM_BODY_ANGLE_Y=0,0,0,0,0,0,-0.17,-0.62,-1.27,-2.02,-2.79,-3.51,-4.13,-4.6,-4.9,-5,-4.02,-1.89,0.76,3.51,6.02,8.1,9.48,10,9.8,9.26,8.44,7.4,6.25,5,3.75,2.6,1.56,0.74,0.2,0,0.34,1.27,2.6,4.18,5.82,7.4,8.73,9.66,10,9.66,8.73,7.4,5.82,4.18,2.6,1.27,0.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BODY_ANGLE_Z=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.07,0.25,0.52,0.84,1.16,1.48,1.75,1.93,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 +PARAM_BREATH=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.013,0.05,0.1,0.17,0.26,0.35,0.44,0.54,0.63,0.72,0.8,0.87,0.92,0.96,0.99,1,0.995,0.98,0.96,0.93,0.89,0.84,0.8,0.74,0.69,0.63,0.57,0.51,0.45,0.39,0.33,0.27,0.22,0.18,0.13,0.09,0.06,0.04,0.016,0.004,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_UPBACK=0,0,0,0,0,0,-0.007,-0.026,-0.06,-0.09,-0.14,-0.2,-0.26,-0.32,-0.39,-0.46,-0.54,-0.61,-0.68,-0.74,-0.8,-0.86,-0.91,-0.94,-0.97,-0.993,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +PARAM_BUST_Y=0 +PARAM_HAIR_AHO=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.07,-0.21,-0.38,-0.57,-0.73,-0.87,-0.97,-1,-0.98,-0.93,-0.84,-0.74,-0.62,-0.5,-0.38,-0.26,-0.16,-0.07,-0.02,0,-0.016,-0.06,-0.11,-0.17,-0.24,-0.31,-0.37,-0.42,-0.46,-0.49,-0.5,-0.45,-0.33,-0.17,0.02,0.22,0.42,0.61,0.76,0.89,0.97,1,0.99,0.96,0.92,0.87,0.81,0.75,0.69,0.63,0.58,0.54,0.51,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5 +PARAM_HAIR_TAIR=0 +PARAM_RIBON_R=0 +PARAM_ARM=0 +PARAM_ARM_L=-1 +PARAM_ARM_R=-1 +PARAM_FINGER=0.5 \ No newline at end of file diff --git a/media/live2d/histoire/model/histoire/motions/tap/tsumiki_m_13.mtn b/media/live2d/histoire/model/histoire/motions/tap/tsumiki_m_13.mtn new file mode 100644 index 0000000..2d3779a --- /dev/null +++ b/media/live2d/histoire/model/histoire/motions/tap/tsumiki_m_13.mtn @@ -0,0 +1,52 @@ +# Live2D Animator Motion Data +$fps=30 + +$fadein=1000 + +$fadeout=0 + +PARAM_ANGLE_X=0,0.03,0.13,0.3,0.53,0.81,1.15,1.54,1.98,2.47,3.01,3.59,4.2,4.85,5.54,6.25,7.01,7.78,8.58,9.39,10.22,11.06,11.93,12.81,13.68,14.56,15.44,16.32,17.19,18.07,18.94,19.78,20.61,21.42,22.22,22.99,23.75,24.46,25.15,25.8,26.41,26.99,27.53,28.02,28.46,28.85,29.19,29.47,29.7,29.87,29.97,30,29.6,28.49,26.69,24.3,21.47,18.22,14.55,10.77,6.72,2.59,-1.58,-5.6,-9.6,-13.37,-16.91,-20.09,-22.94,-25.39,-27.34,-28.8,-29.69,-30,-29.994,-29.973,-29.94,-29.89,-29.82,-29.73,-29.62,-29.49,-29.34,-29.17,-28.97,-28.74,-28.48,-28.2,-27.89,-27.54,-27.16,-26.75,-26.3,-25.82,-25.3,-24.74,-24.14,-23.5,-22.81,-22.09,-21.3,-20.49,-19.61,-18.7,-17.72,-16.71,-15.63,-14.51,-13.32,-12.09,-10.78,-9.41,-8,-6.44,-4.83,-3.22,-1.58,0.05,1.7,3.36,5.01,6.62,8.26,9.84,11.4,12.94,14.44,15.9,17.33,18.68,19.99,21.24,22.42,23.54,24.59,25.55,26.44,27.23,27.94,28.55,29.06,29.46,29.76,29.94,30,29.98,29.92,29.81,29.65,29.45,29.2,28.88,28.52,28.1,27.61,27.07,26.48,25.81,25.08,24.29,23.44,22.53,21.54,20.5,19.39,18.23,17,15.51,14.05,12.67,11.34,10.07,8.86,7.72,6.66,5.66,4.72,3.87,3.09,2.39,1.78,1.25,0.81,0.46,0.21,0.05,0 +PARAM_ANGLE_Y=0,-0.03,-0.13,-0.3,-0.53,-0.81,-1.15,-1.54,-1.98,-2.47,-3.01,-3.59,-4.2,-4.85,-5.54,-6.25,-7.01,-7.78,-8.58,-9.39,-10.22,-11.06,-11.93,-12.81,-13.68,-14.56,-15.44,-16.32,-17.19,-18.07,-18.94,-19.78,-20.61,-21.42,-22.22,-22.99,-23.75,-24.46,-25.15,-25.8,-26.41,-26.99,-27.53,-28.02,-28.46,-28.85,-29.19,-29.47,-29.7,-29.87,-29.97,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-29.89,-29.54,-28.98,-28.24,-27.29,-26.18,-24.88,-23.46,-21.88,-20.19,-18.36,-16.46,-14.43,-12.36,-10.19,-8,-5.73,-3.46,-1.14,1.14,3.46,5.73,8,10.19,12.36,14.43,16.46,18.36,20.19,21.88,23.46,24.88,26.18,27.29,28.24,28.98,29.54,29.89,30,29.98,29.9,29.77,29.6,29.37,29.08,28.74,28.35,27.91,27.39,26.84,26.22,25.54,24.8,24,23.13,22.21,21.22,20.17,19.05,17.86,16.59,15.28,13.87,12.41,10.87,9.24,7.55,5.78,3.94,2.01,0,-2.21,-4.35,-6.48,-8.57,-10.55,-12.47,-14.37,-16.1,-17.8,-19.38,-20.87,-22.22,-23.49,-24.62,-25.63,-26.51,-27.26,-27.89,-28.37,-28.72,-28.93,-29,-28.75,-28.04,-26.96,-25.56,-23.92,-22.05,-20.06,-17.99,-15.86,-13.69,-11.59,-9.54,-7.58,-5.8,-4.15,-2.75,-1.6,-0.75,-0.19,0 +PARAM_ANGLE_Z=0,0.03,0.13,0.3,0.53,0.81,1.15,1.54,1.98,2.47,3.01,3.59,4.2,4.85,5.54,6.25,7.01,7.78,8.58,9.39,10.22,11.06,11.93,12.81,13.68,14.56,15.44,16.32,17.19,18.07,18.94,19.78,20.61,21.42,22.22,22.99,23.75,24.46,25.15,25.8,26.41,26.99,27.53,28.02,28.46,28.85,29.19,29.47,29.7,29.87,29.97,30,29.6,28.49,26.69,24.3,21.47,18.22,14.55,10.77,6.72,2.59,-1.58,-5.6,-9.6,-13.37,-16.91,-20.09,-22.94,-25.39,-27.34,-28.8,-29.69,-30,-29.91,-29.66,-29.24,-28.68,-27.96,-27.13,-26.16,-25.1,-23.91,-22.64,-21.27,-19.85,-18.32,-16.77,-15.14,-13.5,-11.79,-10.1,-8.36,-6.64,-4.9,-3.21,-1.5,0.14,1.77,3.32,4.85,6.27,7.64,8.91,10.1,11.16,12.13,12.96,13.68,14.24,14.66,14.91,15,14.991,14.97,14.92,14.87,14.79,14.71,14.6,14.49,14.36,14.22,14.07,13.9,13.73,13.54,13.34,13.14,12.92,12.7,12.46,12.22,11.97,11.72,11.46,11.19,10.92,10.64,10.36,10.07,9.79,9.49,9.2,8.9,8.6,8.3,7.99,7.69,7.38,7.08,6.78,6.48,6.18,5.89,5.59,5.3,5.01,4.73,4.44,4.17,3.9,3.63,3.38,3.12,2.87,2.63,2.4,2.18,1.96,1.76,1.56,1.37,1.2,1.03,0.87,0.73,0.6,0.48,0.37,0.27,0.19,0.12,0.07,0.03,0.01,0 +PARAM_EYE_L_OPEN=1,1,1.001,1.002,1.004,1.005,1.008,1.01,1.013,1.016,1.02,1.024,1.028,1.032,1.037,1.042,1.047,1.052,1.057,1.063,1.068,1.074,1.08,1.085,1.091,1.097,1.103,1.109,1.115,1.12,1.126,1.132,1.137,1.143,1.148,1.153,1.158,1.163,1.168,1.172,1.176,1.18,1.184,1.187,1.19,1.192,1.195,1.196,1.198,1.199,1.2,1.2,1.2,1.199,1.199,1.197,1.196,1.194,1.192,1.19,1.188,1.185,1.182,1.179,1.176,1.172,1.169,1.165,1.161,1.157,1.153,1.148,1.144,1.139,1.135,1.13,1.125,1.12,1.115,1.111,1.106,1.101,1.096,1.091,1.086,1.081,1.076,1.071,1.067,1.062,1.058,1.053,1.049,1.045,1.041,1.037,1.033,1.029,1.026,1.022,1.019,1.016,1.014,1.011,1.009,1.007,1.005,1.004,1.002,1.001,1.001,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_EYE_L_SMILE=0,0.001,0.004,0.01,0.018,0.027,0.038,0.051,0.066,0.082,0.1,0.12,0.14,0.16,0.18,0.21,0.23,0.26,0.29,0.31,0.34,0.37,0.4,0.43,0.46,0.49,0.51,0.54,0.57,0.6,0.63,0.66,0.69,0.71,0.74,0.77,0.79,0.82,0.84,0.86,0.88,0.9,0.918,0.934,0.949,0.962,0.973,0.982,0.99,0.996,0.999,1,0.999,0.997,0.993,0.987,0.98,0.972,0.962,0.951,0.939,0.926,0.912,0.896,0.88,0.862,0.844,0.825,0.805,0.78,0.76,0.74,0.72,0.7,0.67,0.65,0.63,0.6,0.58,0.55,0.53,0.5,0.48,0.45,0.43,0.4,0.38,0.36,0.33,0.31,0.29,0.27,0.24,0.223,0.2,0.183,0.164,0.146,0.128,0.112,0.097,0.082,0.069,0.056,0.045,0.035,0.026,0.018,0.012,0.007,0.003,0.001,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_EYE_R_OPEN=1,1,1.001,1.002,1.004,1.005,1.008,1.01,1.013,1.016,1.02,1.024,1.028,1.032,1.037,1.042,1.047,1.052,1.057,1.063,1.068,1.074,1.08,1.085,1.091,1.097,1.103,1.109,1.115,1.12,1.126,1.132,1.137,1.143,1.148,1.153,1.158,1.163,1.168,1.172,1.176,1.18,1.184,1.187,1.19,1.192,1.195,1.196,1.198,1.199,1.2,1.2,1.2,1.199,1.199,1.197,1.196,1.194,1.192,1.19,1.188,1.185,1.182,1.179,1.176,1.172,1.169,1.165,1.161,1.157,1.153,1.148,1.144,1.139,1.135,1.13,1.125,1.12,1.115,1.111,1.106,1.101,1.096,1.091,1.086,1.081,1.076,1.071,1.067,1.062,1.058,1.053,1.049,1.045,1.041,1.037,1.033,1.029,1.026,1.022,1.019,1.016,1.014,1.011,1.009,1.007,1.005,1.004,1.002,1.001,1.001,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_EYE_R_SMILE=0,0.001,0.004,0.01,0.018,0.027,0.038,0.051,0.066,0.082,0.1,0.12,0.14,0.16,0.18,0.21,0.23,0.26,0.29,0.31,0.34,0.37,0.4,0.43,0.46,0.49,0.51,0.54,0.57,0.6,0.63,0.66,0.69,0.71,0.74,0.77,0.79,0.82,0.84,0.86,0.88,0.9,0.918,0.934,0.949,0.962,0.973,0.982,0.99,0.996,0.999,1,0.999,0.997,0.993,0.987,0.98,0.972,0.962,0.951,0.939,0.926,0.912,0.896,0.88,0.862,0.844,0.825,0.805,0.78,0.76,0.74,0.72,0.7,0.67,0.65,0.63,0.6,0.58,0.55,0.53,0.5,0.48,0.45,0.43,0.4,0.38,0.36,0.33,0.31,0.29,0.27,0.24,0.223,0.2,0.183,0.164,0.146,0.128,0.112,0.097,0.082,0.069,0.056,0.045,0.035,0.026,0.018,0.012,0.007,0.003,0.001,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_EYE_FORM=0,0.001,0.004,0.01,0.018,0.027,0.038,0.051,0.066,0.082,0.1,0.12,0.14,0.16,0.18,0.21,0.23,0.26,0.29,0.31,0.34,0.37,0.4,0.43,0.46,0.49,0.51,0.54,0.57,0.6,0.63,0.66,0.69,0.71,0.74,0.77,0.79,0.82,0.84,0.86,0.88,0.9,0.918,0.934,0.949,0.962,0.973,0.982,0.99,0.996,0.999,1,0.999,0.997,0.993,0.987,0.98,0.972,0.962,0.951,0.939,0.926,0.912,0.896,0.88,0.862,0.844,0.825,0.805,0.78,0.76,0.74,0.72,0.7,0.67,0.65,0.63,0.6,0.58,0.55,0.53,0.5,0.48,0.45,0.43,0.4,0.38,0.36,0.33,0.31,0.29,0.27,0.24,0.223,0.2,0.183,0.164,0.146,0.128,0.112,0.097,0.082,0.069,0.056,0.045,0.035,0.026,0.018,0.012,0.007,0.003,0.001,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_TEAR=0 +PARAM_EYE_BALL_X=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.007,-0.025,-0.06,-0.09,-0.14,-0.2,-0.26,-0.32,-0.39,-0.46,-0.53,-0.59,-0.66,-0.72,-0.78,-0.83,-0.88,-0.92,-0.96,-0.98,-0.995,-1,-0.999,-0.998,-0.995,-0.991,-0.986,-0.98,-0.972,-0.964,-0.954,-0.943,-0.93,-0.917,-0.902,-0.886,-0.868,-0.849,-0.83,-0.81,-0.78,-0.76,-0.73,-0.71,-0.68,-0.65,-0.61,-0.58,-0.55,-0.51,-0.47,-0.43,-0.39,-0.35,-0.3,-0.26,-0.21,-0.16,-0.11,-0.05,0,0.06,0.12,0.17,0.22,0.28,0.33,0.38,0.42,0.47,0.51,0.55,0.59,0.63,0.67,0.7,0.74,0.77,0.8,0.82,0.85,0.87,0.89,0.914,0.932,0.947,0.961,0.973,0.983,0.99,0.996,0.999,1,0.993,0.975,0.94,0.91,0.86,0.8,0.74,0.68,0.61,0.54,0.47,0.41,0.34,0.28,0.22,0.17,0.12,0.08,0.04,0.02,0.005,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_EYE_BALL_Y=-0.5,-0.501,-0.502,-0.505,-0.509,-0.514,-0.519,-0.526,-0.533,-0.541,-0.55,-0.56,-0.57,-0.581,-0.592,-0.604,-0.617,-0.63,-0.643,-0.656,-0.67,-0.684,-0.699,-0.713,-0.728,-0.743,-0.757,-0.772,-0.787,-0.801,-0.816,-0.83,-0.844,-0.857,-0.87,-0.883,-0.896,-0.908,-0.919,-0.93,-0.94,-0.95,-0.959,-0.967,-0.974,-0.981,-0.986,-0.991,-0.995,-0.998,-0.999,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-0.996,-0.985,-0.966,-0.94,-0.91,-0.87,-0.83,-0.78,-0.73,-0.67,-0.61,-0.55,-0.48,-0.41,-0.34,-0.27,-0.19,-0.12,-0.04,0.04,0.12,0.19,0.27,0.34,0.41,0.48,0.55,0.61,0.67,0.73,0.78,0.83,0.87,0.91,0.94,0.97,0.985,0.996,1,0.999,0.997,0.993,0.987,0.98,0.971,0.96,0.947,0.932,0.916,0.897,0.877,0.85,0.83,0.8,0.78,0.74,0.71,0.68,0.64,0.6,0.56,0.51,0.47,0.42,0.37,0.31,0.25,0.2,0.13,0.07,0,-0.07,-0.15,-0.22,-0.29,-0.36,-0.43,-0.49,-0.55,-0.61,-0.66,-0.72,-0.76,-0.81,-0.85,-0.88,-0.91,-0.94,-0.96,-0.978,-0.99,-0.998,-1,-0.996,-0.983,-0.965,-0.94,-0.91,-0.88,-0.85,-0.81,-0.77,-0.74,-0.7,-0.66,-0.63,-0.6,-0.57,-0.55,-0.528,-0.513,-0.503,-0.5 +PARAM_EYE_BALL_FORM=1 +PARAM_BROW_L_Y=0,0.001,0.004,0.01,0.018,0.027,0.038,0.051,0.066,0.082,0.1,0.12,0.14,0.16,0.18,0.21,0.23,0.26,0.29,0.31,0.34,0.37,0.4,0.43,0.46,0.49,0.51,0.54,0.57,0.6,0.63,0.66,0.69,0.71,0.74,0.77,0.79,0.82,0.84,0.86,0.88,0.9,0.918,0.934,0.949,0.962,0.973,0.982,0.99,0.996,0.999,1,0.999,0.997,0.993,0.987,0.98,0.972,0.962,0.951,0.939,0.926,0.912,0.896,0.88,0.862,0.844,0.825,0.805,0.78,0.76,0.74,0.72,0.7,0.67,0.65,0.63,0.6,0.58,0.55,0.53,0.5,0.48,0.45,0.43,0.4,0.38,0.36,0.33,0.31,0.29,0.27,0.24,0.223,0.2,0.183,0.164,0.146,0.128,0.112,0.097,0.082,0.069,0.056,0.045,0.035,0.026,0.018,0.012,0.007,0.003,0.001,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BROW_R_Y=0,0.001,0.004,0.01,0.018,0.027,0.038,0.051,0.066,0.082,0.1,0.12,0.14,0.16,0.18,0.21,0.23,0.26,0.29,0.31,0.34,0.37,0.4,0.43,0.46,0.49,0.51,0.54,0.57,0.6,0.63,0.66,0.69,0.71,0.74,0.77,0.79,0.82,0.84,0.86,0.88,0.9,0.918,0.934,0.949,0.962,0.973,0.982,0.99,0.996,0.999,1,0.999,0.997,0.993,0.987,0.98,0.972,0.962,0.951,0.939,0.926,0.912,0.896,0.88,0.862,0.844,0.825,0.805,0.78,0.76,0.74,0.72,0.7,0.67,0.65,0.63,0.6,0.58,0.55,0.53,0.5,0.48,0.45,0.43,0.4,0.38,0.36,0.33,0.31,0.29,0.27,0.24,0.223,0.2,0.183,0.164,0.146,0.128,0.112,0.097,0.082,0.069,0.056,0.045,0.035,0.026,0.018,0.012,0.007,0.003,0.001,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BROW_L_X=0,0.001,0.004,0.01,0.018,0.027,0.038,0.051,0.066,0.082,0.1,0.12,0.14,0.16,0.18,0.21,0.23,0.26,0.29,0.31,0.34,0.37,0.4,0.43,0.46,0.49,0.51,0.54,0.57,0.6,0.63,0.66,0.69,0.71,0.74,0.77,0.79,0.82,0.84,0.86,0.88,0.9,0.918,0.934,0.949,0.962,0.973,0.982,0.99,0.996,0.999,1,0.999,0.997,0.993,0.987,0.98,0.972,0.962,0.951,0.939,0.926,0.912,0.896,0.88,0.862,0.844,0.825,0.805,0.78,0.76,0.74,0.72,0.7,0.67,0.65,0.63,0.6,0.58,0.55,0.53,0.5,0.48,0.45,0.43,0.4,0.38,0.36,0.33,0.31,0.29,0.27,0.24,0.223,0.2,0.183,0.164,0.146,0.128,0.112,0.097,0.082,0.069,0.056,0.045,0.035,0.026,0.018,0.012,0.007,0.003,0.001,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BROW_R_X=0,0.001,0.004,0.01,0.018,0.027,0.038,0.051,0.066,0.082,0.1,0.12,0.14,0.16,0.18,0.21,0.23,0.26,0.29,0.31,0.34,0.37,0.4,0.43,0.46,0.49,0.51,0.54,0.57,0.6,0.63,0.66,0.69,0.71,0.74,0.77,0.79,0.82,0.84,0.86,0.88,0.9,0.918,0.934,0.949,0.962,0.973,0.982,0.99,0.996,0.999,1,0.999,0.997,0.993,0.987,0.98,0.972,0.962,0.951,0.939,0.926,0.912,0.896,0.88,0.862,0.844,0.825,0.805,0.78,0.76,0.74,0.72,0.7,0.67,0.65,0.63,0.6,0.58,0.55,0.53,0.5,0.48,0.45,0.43,0.4,0.38,0.36,0.33,0.31,0.29,0.27,0.24,0.223,0.2,0.183,0.164,0.146,0.128,0.112,0.097,0.082,0.069,0.056,0.045,0.035,0.026,0.018,0.012,0.007,0.003,0.001,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BROW_L_ANGLE=0,0.001,0.004,0.01,0.018,0.027,0.038,0.051,0.066,0.082,0.1,0.12,0.14,0.16,0.18,0.21,0.23,0.26,0.29,0.31,0.34,0.37,0.4,0.43,0.46,0.49,0.51,0.54,0.57,0.6,0.63,0.66,0.69,0.71,0.74,0.77,0.79,0.82,0.84,0.86,0.88,0.9,0.918,0.934,0.949,0.962,0.973,0.982,0.99,0.996,0.999,1,0.999,0.997,0.993,0.987,0.98,0.972,0.962,0.951,0.939,0.926,0.912,0.896,0.88,0.862,0.844,0.825,0.805,0.78,0.76,0.74,0.72,0.7,0.67,0.65,0.63,0.6,0.58,0.55,0.53,0.5,0.48,0.45,0.43,0.4,0.38,0.36,0.33,0.31,0.29,0.27,0.24,0.223,0.2,0.183,0.164,0.146,0.128,0.112,0.097,0.082,0.069,0.056,0.045,0.035,0.026,0.018,0.012,0.007,0.003,0.001,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BROW_R_ANGLE=0,0.001,0.004,0.01,0.018,0.027,0.038,0.051,0.066,0.082,0.1,0.12,0.14,0.16,0.18,0.21,0.23,0.26,0.29,0.31,0.34,0.37,0.4,0.43,0.46,0.49,0.51,0.54,0.57,0.6,0.63,0.66,0.69,0.71,0.74,0.77,0.79,0.82,0.84,0.86,0.88,0.9,0.918,0.934,0.949,0.962,0.973,0.982,0.99,0.996,0.999,1,0.999,0.997,0.993,0.987,0.98,0.972,0.962,0.951,0.939,0.926,0.912,0.896,0.88,0.862,0.844,0.825,0.805,0.78,0.76,0.74,0.72,0.7,0.67,0.65,0.63,0.6,0.58,0.55,0.53,0.5,0.48,0.45,0.43,0.4,0.38,0.36,0.33,0.31,0.29,0.27,0.24,0.223,0.2,0.183,0.164,0.146,0.128,0.112,0.097,0.082,0.069,0.056,0.045,0.035,0.026,0.018,0.012,0.007,0.003,0.001,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BROW_L_FORM=0,0.001,0.004,0.01,0.018,0.027,0.038,0.051,0.066,0.082,0.1,0.12,0.14,0.16,0.18,0.21,0.23,0.26,0.29,0.31,0.34,0.37,0.4,0.43,0.46,0.49,0.51,0.54,0.57,0.6,0.63,0.66,0.69,0.71,0.74,0.77,0.79,0.82,0.84,0.86,0.88,0.9,0.918,0.934,0.949,0.962,0.973,0.982,0.99,0.996,0.999,1,0.999,0.997,0.993,0.987,0.98,0.972,0.962,0.951,0.939,0.926,0.912,0.896,0.88,0.862,0.844,0.825,0.805,0.78,0.76,0.74,0.72,0.7,0.67,0.65,0.63,0.6,0.58,0.55,0.53,0.5,0.48,0.45,0.43,0.4,0.38,0.36,0.33,0.31,0.29,0.27,0.24,0.223,0.2,0.183,0.164,0.146,0.128,0.112,0.097,0.082,0.069,0.056,0.045,0.035,0.026,0.018,0.012,0.007,0.003,0.001,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BROW_R_FORM=0,0.001,0.004,0.01,0.018,0.027,0.038,0.051,0.066,0.082,0.1,0.12,0.14,0.16,0.18,0.21,0.23,0.26,0.29,0.31,0.34,0.37,0.4,0.43,0.46,0.49,0.51,0.54,0.57,0.6,0.63,0.66,0.69,0.71,0.74,0.77,0.79,0.82,0.84,0.86,0.88,0.9,0.918,0.934,0.949,0.962,0.973,0.982,0.99,0.996,0.999,1,0.999,0.997,0.993,0.987,0.98,0.972,0.962,0.951,0.939,0.926,0.912,0.896,0.88,0.862,0.844,0.825,0.805,0.78,0.76,0.74,0.72,0.7,0.67,0.65,0.63,0.6,0.58,0.55,0.53,0.5,0.48,0.45,0.43,0.4,0.38,0.36,0.33,0.31,0.29,0.27,0.24,0.223,0.2,0.183,0.164,0.146,0.128,0.112,0.097,0.082,0.069,0.056,0.045,0.035,0.026,0.018,0.012,0.007,0.003,0.001,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_MOUTH_FORM=1 +PARAM_MOUTH_OPEN_Y=0,0.001,0.004,0.01,0.018,0.027,0.038,0.051,0.066,0.082,0.1,0.12,0.14,0.16,0.18,0.21,0.23,0.26,0.29,0.31,0.34,0.37,0.4,0.43,0.46,0.49,0.51,0.54,0.57,0.6,0.63,0.66,0.69,0.71,0.74,0.77,0.79,0.82,0.84,0.86,0.88,0.9,0.918,0.934,0.949,0.962,0.973,0.982,0.99,0.996,0.999,1,0.993,0.975,0.94,0.91,0.86,0.8,0.74,0.68,0.61,0.54,0.47,0.41,0.34,0.28,0.22,0.17,0.12,0.08,0.04,0.02,0.005,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_CHEEK_01=0 +PARAM_CHEEK_02=0 +PARAM_CHEEK_03=0 +PARAM_CHEEK_04=0 +PARAM_BODY_ANGLE_X=0,0.011,0.04,0.1,0.18,0.27,0.38,0.51,0.66,0.82,1,1.2,1.4,1.62,1.85,2.08,2.34,2.59,2.86,3.13,3.41,3.69,3.98,4.27,4.56,4.85,5.15,5.44,5.73,6.02,6.31,6.59,6.87,7.14,7.41,7.66,7.92,8.15,8.38,8.6,8.8,9,9.18,9.34,9.49,9.62,9.73,9.82,9.9,9.96,9.99,10,9.87,9.5,8.9,8.1,7.16,6.07,4.85,3.59,2.24,0.86,-0.53,-1.87,-3.2,-4.46,-5.64,-6.7,-7.65,-8.46,-9.11,-9.6,-9.9,-10,-9.981,-9.92,-9.83,-9.71,-9.55,-9.36,-9.15,-8.91,-8.65,-8.37,-8.06,-7.74,-7.41,-7.06,-6.7,-6.33,-5.95,-5.58,-5.19,-4.81,-4.42,-4.05,-3.67,-3.3,-2.94,-2.59,-2.26,-1.94,-1.63,-1.35,-1.09,-0.85,-0.64,-0.45,-0.29,-0.17,-0.08,-0.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BODY_ANGLE_Y=0,-0.011,-0.04,-0.1,-0.18,-0.27,-0.38,-0.51,-0.66,-0.82,-1,-1.2,-1.4,-1.62,-1.85,-2.08,-2.34,-2.59,-2.86,-3.13,-3.41,-3.69,-3.98,-4.27,-4.56,-4.85,-5.15,-5.44,-5.73,-6.02,-6.31,-6.59,-6.87,-7.14,-7.41,-7.66,-7.92,-8.15,-8.38,-8.6,-8.8,-9,-9.18,-9.34,-9.49,-9.62,-9.73,-9.82,-9.9,-9.96,-9.99,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-9.981,-9.92,-9.83,-9.71,-9.55,-9.36,-9.15,-8.91,-8.65,-8.37,-8.06,-7.74,-7.41,-7.06,-6.7,-6.33,-5.95,-5.58,-5.19,-4.81,-4.42,-4.05,-3.67,-3.3,-2.94,-2.59,-2.26,-1.94,-1.63,-1.35,-1.09,-0.85,-0.64,-0.45,-0.29,-0.17,-0.08,-0.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BODY_ANGLE_Z=0,0.011,0.04,0.1,0.18,0.27,0.38,0.51,0.66,0.82,1,1.2,1.4,1.62,1.85,2.08,2.34,2.59,2.86,3.13,3.41,3.69,3.98,4.27,4.56,4.85,5.15,5.44,5.73,6.02,6.31,6.59,6.87,7.14,7.41,7.66,7.92,8.15,8.38,8.6,8.8,9,9.18,9.34,9.49,9.62,9.73,9.82,9.9,9.96,9.99,10,9.87,9.5,8.9,8.1,7.16,6.07,4.85,3.59,2.24,0.86,-0.53,-1.87,-3.2,-4.46,-5.64,-6.7,-7.65,-8.46,-9.11,-9.6,-9.9,-10,-9.98,-9.9,-9.78,-9.62,-9.41,-9.17,-8.89,-8.58,-8.24,-7.88,-7.48,-7.07,-6.63,-6.18,-5.71,-5.23,-4.74,-4.25,-3.75,-3.25,-2.75,-2.26,-1.77,-1.29,-0.82,-0.37,0.07,0.48,0.88,1.24,1.58,1.89,2.17,2.41,2.62,2.78,2.9,2.98,3,2.998,2.99,2.978,2.961,2.94,2.91,2.88,2.84,2.8,2.75,2.69,2.63,2.56,2.49,2.41,2.33,2.23,2.14,2.03,1.92,1.8,1.67,1.54,1.4,1.25,1.1,0.93,0.76,0.59,0.4,0.2,0,-0.22,-0.44,-0.66,-0.87,-1.08,-1.28,-1.47,-1.65,-1.83,-1.99,-2.15,-2.29,-2.42,-2.54,-2.65,-2.74,-2.82,-2.88,-2.93,-2.97,-2.99,-3,-2.97,-2.9,-2.79,-2.64,-2.47,-2.28,-2.08,-1.86,-1.64,-1.42,-1.2,-0.99,-0.78,-0.6,-0.43,-0.28,-0.17,-0.08,-0.02,0 +PARAM_BREATH=0 +PARAM_UPBACK=0,0.001,0.004,0.01,0.018,0.027,0.038,0.051,0.066,0.082,0.1,0.12,0.14,0.16,0.18,0.21,0.23,0.26,0.29,0.31,0.34,0.37,0.4,0.43,0.46,0.49,0.51,0.54,0.57,0.6,0.63,0.66,0.69,0.71,0.74,0.77,0.79,0.82,0.84,0.86,0.88,0.9,0.918,0.934,0.949,0.962,0.973,0.982,0.99,0.996,0.999,1,0.999,0.997,0.993,0.987,0.98,0.972,0.962,0.951,0.939,0.926,0.912,0.896,0.88,0.862,0.844,0.825,0.805,0.78,0.76,0.74,0.72,0.7,0.67,0.65,0.63,0.6,0.58,0.55,0.53,0.5,0.48,0.45,0.43,0.4,0.38,0.36,0.33,0.31,0.29,0.27,0.24,0.223,0.2,0.183,0.164,0.146,0.128,0.112,0.097,0.082,0.069,0.056,0.045,0.035,0.026,0.018,0.012,0.007,0.003,0.001,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BUST_Y=0 +PARAM_TIE=0 +PARAM_SKIRT=0 +PARAM_HAIR_FRONT=0 +PARAM_HAIR_SIDE=0 +PARAM_HAIR_AHO=0,-0.012,-0.04,-0.1,-0.16,-0.23,-0.31,-0.38,-0.45,-0.51,-0.57,-0.6,-0.61,-0.57,-0.47,-0.32,-0.16,0.02,0.18,0.31,0.42,0.49,0.51,0.49,0.43,0.34,0.22,0.1,-0.04,-0.17,-0.29,-0.4,-0.49,-0.56,-0.61,-0.62,-0.612,-0.59,-0.56,-0.51,-0.46,-0.4,-0.35,-0.29,-0.23,-0.18,-0.13,-0.08,-0.05,-0.02,-0.006,0,-0.007,-0.025,-0.06,-0.09,-0.14,-0.2,-0.26,-0.32,-0.39,-0.46,-0.53,-0.59,-0.66,-0.72,-0.78,-0.83,-0.88,-0.92,-0.96,-0.98,-0.995,-1,-0.998,-0.992,-0.983,-0.971,-0.955,-0.936,-0.91,-0.89,-0.86,-0.84,-0.81,-0.77,-0.74,-0.71,-0.67,-0.63,-0.6,-0.56,-0.52,-0.48,-0.44,-0.4,-0.37,-0.33,-0.29,-0.26,-0.23,-0.19,-0.16,-0.14,-0.11,-0.09,-0.06,-0.045,-0.029,-0.017,-0.008,-0.002,0,-0.003,-0.013,-0.028,-0.048,-0.07,-0.1,-0.13,-0.17,-0.21,-0.25,-0.29,-0.33,-0.38,-0.42,-0.47,-0.52,-0.56,-0.61,-0.65,-0.7,-0.74,-0.78,-0.82,-0.85,-0.88,-0.91,-0.94,-0.96,-0.977,-0.989,-0.997,-1,-0.993,-0.975,-0.94,-0.91,-0.86,-0.8,-0.74,-0.68,-0.61,-0.54,-0.47,-0.41,-0.34,-0.28,-0.22,-0.17,-0.12,-0.08,-0.04,-0.02,-0.005,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_HAIR_TAIR=0,0,0.001,0.003,0.005,0.007,0.011,0.015,0.019,0.025,0.031,0.038,0.046,0.055,0.064,0.074,0.086,0.098,0.111,0.125,0.14,0.156,0.173,0.191,0.21,0.231,0.25,0.27,0.3,0.32,0.35,0.38,0.41,0.44,0.47,0.5,0.54,0.58,0.62,0.67,0.71,0.75,0.79,0.83,0.87,0.9,0.93,0.96,0.975,0.988,0.997,1,0.987,0.95,0.89,0.81,0.72,0.61,0.48,0.36,0.22,0.09,-0.05,-0.19,-0.32,-0.45,-0.56,-0.67,-0.76,-0.85,-0.91,-0.96,-0.99,-1,-0.998,-0.992,-0.983,-0.971,-0.955,-0.936,-0.91,-0.89,-0.86,-0.84,-0.81,-0.77,-0.74,-0.71,-0.67,-0.63,-0.6,-0.56,-0.52,-0.48,-0.44,-0.4,-0.37,-0.33,-0.29,-0.26,-0.23,-0.19,-0.16,-0.14,-0.11,-0.09,-0.06,-0.045,-0.029,-0.017,-0.008,-0.002,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_RIBON_L=0 +PARAM_RIBON_R=0 +PARAM_ARM=0,0.001,0.004,0.01,0.018,0.027,0.038,0.051,0.066,0.082,0.1,0.12,0.14,0.16,0.18,0.21,0.23,0.26,0.29,0.31,0.34,0.37,0.4,0.43,0.46,0.49,0.51,0.54,0.57,0.6,0.63,0.66,0.69,0.71,0.74,0.77,0.79,0.82,0.84,0.86,0.88,0.9,0.918,0.934,0.949,0.962,0.973,0.982,0.99,0.996,0.999,1,0.993,0.975,0.94,0.91,0.86,0.8,0.74,0.68,0.61,0.54,0.47,0.41,0.34,0.28,0.22,0.17,0.12,0.08,0.04,0.02,0.005,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_ARM_L=0 +PARAM_ARM_R=0 +PARAM_FINGER=0.5 +PARAM_LEG_L=0,0.001,0.004,0.01,0.018,0.027,0.038,0.051,0.066,0.082,0.1,0.12,0.14,0.16,0.18,0.21,0.23,0.26,0.29,0.31,0.34,0.37,0.4,0.43,0.46,0.49,0.51,0.54,0.57,0.6,0.63,0.66,0.69,0.71,0.74,0.77,0.79,0.82,0.84,0.86,0.88,0.9,0.918,0.934,0.949,0.962,0.973,0.982,0.99,0.996,0.999,1,0.987,0.95,0.89,0.81,0.72,0.61,0.48,0.36,0.22,0.09,-0.05,-0.19,-0.32,-0.45,-0.56,-0.67,-0.76,-0.85,-0.91,-0.96,-0.99,-1,-0.998,-0.992,-0.983,-0.971,-0.955,-0.936,-0.91,-0.89,-0.86,-0.84,-0.81,-0.77,-0.74,-0.71,-0.67,-0.63,-0.6,-0.56,-0.52,-0.48,-0.44,-0.4,-0.37,-0.33,-0.29,-0.26,-0.23,-0.19,-0.16,-0.14,-0.11,-0.09,-0.06,-0.045,-0.029,-0.017,-0.008,-0.002,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 \ No newline at end of file diff --git a/media/live2d/histoire/model/histoire/motions/tap/tsumiki_m_14.mtn b/media/live2d/histoire/model/histoire/motions/tap/tsumiki_m_14.mtn new file mode 100644 index 0000000..df1589a --- /dev/null +++ b/media/live2d/histoire/model/histoire/motions/tap/tsumiki_m_14.mtn @@ -0,0 +1,76 @@ +# Live2D Animator Motion Data +$fps=30 + +$fadein=1000 + +$fadeout=0 + +PARAM_ANGLE_X=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.07,-0.26,-0.59,-1.02,-1.54,-2.17,-2.88,-3.68,-4.54,-5.45,-6.44,-7.47,-8.54,-9.64,-10.77,-11.92,-13.09,-14.25,-15.44,-16.62,-17.78,-18.91,-20.03,-21.12,-22.18,-23.19,-24.16,-25.08,-25.94,-26.72,-27.44,-28.09,-28.64,-29.12,-29.49,-29.77,-29.94,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-29.81,-29.26,-28.39,-27.28,-25.92,-24.41,-22.74,-20.96,-19.08,-17.19,-15.24,-13.31,-11.43,-9.57,-7.84,-6.22,-4.72,-3.38,-2.23,-1.29,-0.59,-0.15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_ANGLE_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.07,0.26,0.59,1.02,1.54,2.17,2.88,3.68,4.54,5.45,6.44,7.47,8.54,9.64,10.77,11.92,13.09,14.25,15.44,16.62,17.78,18.91,20.03,21.12,22.18,23.19,24.16,25.08,25.94,26.72,27.44,28.09,28.64,29.12,29.49,29.77,29.94,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,29.81,29.26,28.39,27.28,25.92,24.41,22.74,20.96,19.08,17.19,15.24,13.31,11.43,9.57,7.84,6.22,4.72,3.38,2.23,1.29,0.59,0.15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_ANGLE_Z=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.07,-0.26,-0.59,-1.02,-1.54,-2.17,-2.88,-3.68,-4.54,-5.45,-6.44,-7.47,-8.54,-9.64,-10.77,-11.92,-13.09,-14.25,-15.44,-16.62,-17.78,-18.91,-20.03,-21.12,-22.18,-23.19,-24.16,-25.08,-25.94,-26.72,-27.44,-28.09,-28.64,-29.12,-29.49,-29.77,-29.94,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-29.61,-28.5,-26.84,-24.66,-22.11,-19.22,-16.13,-12.92,-9.61,-6.25,-2.98,0.2,3.24,6,8.55,10.73,12.52,13.84,14.7,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,14.43,12.94,10.77,8.08,5.09,1.97,-1.19,-4.25,-7.12,-9.71,-11.85,-13.53,-14.62,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-14.9,-14.63,-14.19,-13.64,-12.96,-12.2,-11.37,-10.48,-9.54,-8.6,-7.62,-6.66,-5.71,-4.79,-3.92,-3.11,-2.36,-1.69,-1.12,-0.64,-0.29,-0.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_EYE_L_OPEN=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.994,0.975,0.95,0.91,0.86,0.81,0.76,0.7,0.64,0.57,0.51,0.44,0.38,0.32,0.26,0.21,0.16,0.11,0.07,0.04,0.02,0.005,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.007,0.027,0.06,0.09,0.14,0.19,0.25,0.3,0.36,0.42,0.48,0.54,0.59,0.64,0.69,0.72,0.76,0.78,0.795,0.8,0.793,0.773,0.74,0.71,0.66,0.61,0.55,0.5,0.44,0.38,0.32,0.26,0.21,0.16,0.11,0.08,0.04,0.02,0.005,0,0.007,0.028,0.06,0.1,0.15,0.2,0.27,0.33,0.39,0.46,0.52,0.58,0.63,0.68,0.72,0.75,0.78,0.795,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.801,0.803,0.806,0.81,0.814,0.82,0.827,0.834,0.841,0.849,0.858,0.867,0.876,0.885,0.894,0.904,0.913,0.922,0.931,0.939,0.948,0.956,0.963,0.97,0.977,0.983,0.988,0.992,0.995,0.998,0.999,1 +PARAM_EYE_L_SMILE=0 +PARAM_EYE_R_OPEN=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.994,0.975,0.95,0.91,0.86,0.81,0.76,0.7,0.64,0.57,0.51,0.44,0.38,0.32,0.26,0.21,0.16,0.11,0.07,0.04,0.02,0.005,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.007,0.027,0.06,0.09,0.14,0.19,0.25,0.3,0.36,0.42,0.48,0.54,0.59,0.64,0.69,0.72,0.76,0.78,0.795,0.8,0.793,0.773,0.74,0.71,0.66,0.61,0.55,0.5,0.44,0.38,0.32,0.26,0.21,0.16,0.11,0.08,0.04,0.02,0.005,0,0.007,0.028,0.06,0.1,0.15,0.2,0.27,0.33,0.39,0.46,0.52,0.58,0.63,0.68,0.72,0.75,0.78,0.795,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.801,0.803,0.806,0.81,0.814,0.82,0.827,0.834,0.841,0.849,0.858,0.867,0.876,0.885,0.894,0.904,0.913,0.922,0.931,0.939,0.948,0.956,0.963,0.97,0.977,0.983,0.988,0.992,0.995,0.998,0.999,1 +PARAM_EYE_R_SMILE=0 +PARAM_EYE_FORM=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.006,-0.025,-0.05,-0.09,-0.14,-0.19,-0.24,-0.3,-0.36,-0.43,-0.49,-0.56,-0.62,-0.68,-0.74,-0.79,-0.84,-0.89,-0.93,-0.96,-0.98,-0.995,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-0.997,-0.987,-0.972,-0.952,-0.93,-0.9,-0.87,-0.83,-0.79,-0.75,-0.71,-0.67,-0.62,-0.58,-0.53,-0.48,-0.44,-0.39,-0.35,-0.3,-0.26,-0.22,-0.18,-0.15,-0.12,-0.09,-0.06,-0.04,-0.023,-0.011,-0.003,0 +PARAM_TEAR=0 +PARAM_EYE_BALL_X=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.002,-0.009,-0.02,-0.034,-0.051,-0.07,-0.1,-0.12,-0.15,-0.18,-0.21,-0.25,-0.28,-0.32,-0.36,-0.4,-0.44,-0.48,-0.51,-0.55,-0.59,-0.63,-0.67,-0.7,-0.74,-0.77,-0.81,-0.84,-0.86,-0.89,-0.91,-0.94,-0.955,-0.971,-0.983,-0.992,-0.998,-1,-0.999,-0.995,-0.99,-0.982,-0.973,-0.961,-0.947,-0.932,-0.915,-0.896,-0.875,-0.85,-0.83,-0.81,-0.78,-0.75,-0.72,-0.69,-0.66,-0.63,-0.6,-0.56,-0.53,-0.49,-0.46,-0.42,-0.38,-0.34,-0.3,-0.27,-0.23,-0.19,-0.15,-0.11,-0.07,-0.03,0.01,0.05,0.09,0.12,0.16,0.2,0.24,0.27,0.31,0.34,0.38,0.41,0.45,0.48,0.51,0.54,0.57,0.6,0.62,0.65,0.67,0.69,0.71,0.733,0.75,0.767,0.781,0.794,0.805,0.814,0.821,0.826,0.829,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.83,0.813,0.77,0.7,0.61,0.52,0.42,0.31,0.22,0.13,0.06,0.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_EYE_BALL_Y=-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.501,-0.504,-0.51,-0.517,-0.526,-0.536,-0.548,-0.561,-0.576,-0.591,-0.607,-0.625,-0.642,-0.661,-0.679,-0.699,-0.718,-0.738,-0.757,-0.777,-0.796,-0.815,-0.834,-0.852,-0.87,-0.887,-0.903,-0.918,-0.932,-0.945,-0.957,-0.968,-0.977,-0.985,-0.992,-0.996,-0.999,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-0.98,-0.93,-0.84,-0.74,-0.62,-0.5,-0.38,-0.26,-0.16,-0.07,-0.02,0,-0.002,-0.006,-0.014,-0.024,-0.036,-0.05,-0.066,-0.084,-0.103,-0.12,-0.14,-0.17,-0.19,-0.21,-0.24,-0.26,-0.28,-0.3,-0.33,-0.35,-0.37,-0.39,-0.408,-0.426,-0.442,-0.456,-0.469,-0.48,-0.488,-0.495,-0.499,-0.5 +PARAM_EYE_BALL_FORM=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.998,0.991,0.98,0.966,0.949,0.93,0.9,0.88,0.85,0.82,0.79,0.75,0.72,0.68,0.64,0.6,0.56,0.52,0.49,0.45,0.41,0.37,0.33,0.3,0.26,0.23,0.19,0.16,0.14,0.11,0.09,0.06,0.045,0.029,0.017,0.008,0.002,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.003,0.013,0.028,0.048,0.07,0.1,0.13,0.17,0.21,0.25,0.29,0.33,0.38,0.42,0.47,0.52,0.56,0.61,0.65,0.7,0.74,0.78,0.82,0.85,0.88,0.91,0.94,0.96,0.977,0.989,0.997,1 +PARAM_BROW_L_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.006,-0.025,-0.05,-0.09,-0.14,-0.19,-0.24,-0.3,-0.36,-0.43,-0.49,-0.56,-0.62,-0.68,-0.74,-0.79,-0.84,-0.89,-0.93,-0.96,-0.98,-0.995,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-0.991,-0.97,-0.93,-0.88,-0.82,-0.76,-0.69,-0.62,-0.55,-0.47,-0.4,-0.33,-0.26,-0.2,-0.14,-0.09,-0.06,-0.03,-0.007,0,-0.009,-0.03,-0.07,-0.12,-0.18,-0.24,-0.31,-0.38,-0.45,-0.53,-0.6,-0.67,-0.74,-0.8,-0.86,-0.91,-0.94,-0.97,-0.993,-1,-0.991,-0.97,-0.93,-0.87,-0.81,-0.74,-0.67,-0.59,-0.51,-0.43,-0.35,-0.28,-0.21,-0.15,-0.1,-0.06,-0.03,-0.007,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BROW_R_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.006,-0.025,-0.05,-0.09,-0.14,-0.19,-0.24,-0.3,-0.36,-0.43,-0.49,-0.56,-0.62,-0.68,-0.74,-0.79,-0.84,-0.89,-0.93,-0.96,-0.98,-0.995,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-0.991,-0.97,-0.93,-0.88,-0.82,-0.76,-0.69,-0.62,-0.55,-0.47,-0.4,-0.33,-0.26,-0.2,-0.14,-0.09,-0.06,-0.03,-0.007,0,-0.009,-0.03,-0.07,-0.12,-0.18,-0.24,-0.31,-0.38,-0.45,-0.53,-0.6,-0.67,-0.74,-0.8,-0.86,-0.91,-0.94,-0.97,-0.993,-1,-0.991,-0.97,-0.93,-0.87,-0.81,-0.74,-0.67,-0.59,-0.51,-0.43,-0.35,-0.28,-0.21,-0.15,-0.1,-0.06,-0.03,-0.007,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BROW_L_X=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.002,-0.009,-0.02,-0.034,-0.051,-0.07,-0.1,-0.12,-0.15,-0.18,-0.21,-0.25,-0.28,-0.32,-0.36,-0.4,-0.44,-0.48,-0.51,-0.55,-0.59,-0.63,-0.67,-0.7,-0.74,-0.77,-0.81,-0.84,-0.86,-0.89,-0.91,-0.94,-0.955,-0.971,-0.983,-0.992,-0.998,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-0.997,-0.987,-0.972,-0.952,-0.93,-0.9,-0.87,-0.83,-0.79,-0.75,-0.71,-0.67,-0.62,-0.58,-0.53,-0.48,-0.44,-0.39,-0.35,-0.3,-0.26,-0.22,-0.18,-0.15,-0.12,-0.09,-0.06,-0.04,-0.023,-0.011,-0.003,0 +PARAM_BROW_R_X=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.002,-0.009,-0.02,-0.034,-0.051,-0.07,-0.1,-0.12,-0.15,-0.18,-0.21,-0.25,-0.28,-0.32,-0.36,-0.4,-0.44,-0.48,-0.51,-0.55,-0.59,-0.63,-0.67,-0.7,-0.74,-0.77,-0.81,-0.84,-0.86,-0.89,-0.91,-0.94,-0.955,-0.971,-0.983,-0.992,-0.998,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-0.997,-0.987,-0.972,-0.952,-0.93,-0.9,-0.87,-0.83,-0.79,-0.75,-0.71,-0.67,-0.62,-0.58,-0.53,-0.48,-0.44,-0.39,-0.35,-0.3,-0.26,-0.22,-0.18,-0.15,-0.12,-0.09,-0.06,-0.04,-0.023,-0.011,-0.003,0 +PARAM_BROW_L_ANGLE=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.002,-0.009,-0.02,-0.034,-0.051,-0.07,-0.1,-0.12,-0.15,-0.18,-0.21,-0.25,-0.28,-0.32,-0.36,-0.4,-0.44,-0.48,-0.51,-0.55,-0.59,-0.63,-0.67,-0.7,-0.74,-0.77,-0.81,-0.84,-0.86,-0.89,-0.91,-0.94,-0.955,-0.971,-0.983,-0.992,-0.998,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-0.997,-0.987,-0.972,-0.952,-0.93,-0.9,-0.87,-0.83,-0.79,-0.75,-0.71,-0.67,-0.62,-0.58,-0.53,-0.48,-0.44,-0.39,-0.35,-0.3,-0.26,-0.22,-0.18,-0.15,-0.12,-0.09,-0.06,-0.04,-0.023,-0.011,-0.003,0 +PARAM_BROW_R_ANGLE=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.002,-0.009,-0.02,-0.034,-0.051,-0.07,-0.1,-0.12,-0.15,-0.18,-0.21,-0.25,-0.28,-0.32,-0.36,-0.4,-0.44,-0.48,-0.51,-0.55,-0.59,-0.63,-0.67,-0.7,-0.74,-0.77,-0.81,-0.84,-0.86,-0.89,-0.91,-0.94,-0.955,-0.971,-0.983,-0.992,-0.998,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-0.997,-0.987,-0.972,-0.952,-0.93,-0.9,-0.87,-0.83,-0.79,-0.75,-0.71,-0.67,-0.62,-0.58,-0.53,-0.48,-0.44,-0.39,-0.35,-0.3,-0.26,-0.22,-0.18,-0.15,-0.12,-0.09,-0.06,-0.04,-0.023,-0.011,-0.003,0 +PARAM_BROW_L_FORM=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.003,-0.013,-0.029,-0.05,-0.08,-0.11,-0.14,-0.18,-0.23,-0.27,-0.32,-0.37,-0.43,-0.48,-0.54,-0.6,-0.65,-0.71,-0.77,-0.83,-0.89,-0.95,-1,-1.06,-1.11,-1.16,-1.21,-1.25,-1.3,-1.34,-1.37,-1.4,-1.43,-1.46,-1.475,-1.489,-1.497,-1.5,-1.499,-1.498,-1.495,-1.491,-1.487,-1.481,-1.474,-1.467,-1.458,-1.449,-1.438,-1.427,-1.415,-1.402,-1.389,-1.375,-1.36,-1.344,-1.328,-1.311,-1.293,-1.275,-1.256,-1.237,-1.22,-1.197,-1.18,-1.15,-1.13,-1.11,-1.09,-1.07,-1.04,-1.02,-1,-0.97,-0.95,-0.92,-0.9,-0.87,-0.85,-0.82,-0.8,-0.77,-0.75,-0.73,-0.7,-0.68,-0.65,-0.63,-0.6,-0.58,-0.55,-0.53,-0.5,-0.48,-0.46,-0.43,-0.41,-0.39,-0.37,-0.35,-0.32,-0.3,-0.283,-0.26,-0.244,-0.225,-0.207,-0.189,-0.172,-0.156,-0.14,-0.125,-0.111,-0.098,-0.085,-0.073,-0.062,-0.051,-0.042,-0.033,-0.026,-0.019,-0.013,-0.009,-0.005,-0.002,-0.001,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BROW_R_FORM=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.003,-0.013,-0.029,-0.05,-0.08,-0.11,-0.14,-0.18,-0.23,-0.27,-0.32,-0.37,-0.43,-0.48,-0.54,-0.6,-0.65,-0.71,-0.77,-0.83,-0.89,-0.95,-1,-1.06,-1.11,-1.16,-1.21,-1.25,-1.3,-1.34,-1.37,-1.4,-1.43,-1.46,-1.475,-1.489,-1.497,-1.5,-1.499,-1.498,-1.495,-1.491,-1.487,-1.481,-1.474,-1.467,-1.458,-1.449,-1.438,-1.427,-1.415,-1.402,-1.389,-1.375,-1.36,-1.344,-1.328,-1.311,-1.293,-1.275,-1.256,-1.237,-1.22,-1.197,-1.18,-1.15,-1.13,-1.11,-1.09,-1.07,-1.04,-1.02,-1,-0.97,-0.95,-0.92,-0.9,-0.87,-0.85,-0.82,-0.8,-0.77,-0.75,-0.73,-0.7,-0.68,-0.65,-0.63,-0.6,-0.58,-0.55,-0.53,-0.5,-0.48,-0.46,-0.43,-0.41,-0.39,-0.37,-0.35,-0.32,-0.3,-0.283,-0.26,-0.244,-0.225,-0.207,-0.189,-0.172,-0.156,-0.14,-0.125,-0.111,-0.098,-0.085,-0.073,-0.062,-0.051,-0.042,-0.033,-0.026,-0.019,-0.013,-0.009,-0.005,-0.002,-0.001,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_MOUTH_FORM=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.995,0.982,0.96,0.93,0.9,0.86,0.81,0.75,0.7,0.64,0.57,0.5,0.43,0.36,0.28,0.21,0.13,0.05,-0.03,-0.11,-0.19,-0.26,-0.34,-0.41,-0.48,-0.55,-0.61,-0.67,-0.73,-0.78,-0.83,-0.87,-0.91,-0.94,-0.97,-0.985,-0.996,-1,-0.97,-0.9,-0.79,-0.65,-0.48,-0.29,-0.1,0.1,0.29,0.48,0.65,0.79,0.9,0.97,1,0.93,0.79,0.61,0.41,0.22,0.05,-0.09,-0.18,-0.26,-0.31,-0.35,-0.39,-0.42,-0.45,-0.48,-0.52,-0.57,-0.62,-0.66,-0.7,-0.74,-0.78,-0.81,-0.84,-0.87,-0.9,-0.92,-0.938,-0.955,-0.969,-0.98,-0.989,-0.995,-0.999,-1,-0.97,-0.88,-0.76,-0.61,-0.45,-0.29,-0.15,-0.02,0.08,0.15,0.22,0.28,0.34,0.4,0.46,0.51,0.55,0.6,0.64,0.68,0.72,0.75,0.78,0.81,0.84,0.86,0.88,0.902,0.919,0.935,0.948,0.96,0.97,0.979,0.985,0.991,0.995,0.998,0.999,1,0.98,0.93,0.85,0.75,0.65,0.56,0.47,0.39,0.33,0.28,0.24,0.2,0.17,0.15,0.129,0.11,0.091,0.072,0.05,0.03,0,-0.04,-0.09,-0.13,-0.18,-0.23,-0.28,-0.34,-0.4,-0.49,-0.59,-0.69,-0.76,-0.82,-0.86,-0.87,-0.869,-0.85,-0.8,-0.71,-0.57,-0.33,-0.11,0.1,0.29,0.47,0.62,0.75,0.86,0.93,0.98,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_MOUTH_OPEN_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.002,0.009,0.02,0.034,0.051,0.07,0.1,0.12,0.15,0.18,0.21,0.25,0.28,0.32,0.36,0.4,0.44,0.48,0.51,0.55,0.59,0.63,0.67,0.7,0.74,0.77,0.81,0.84,0.86,0.89,0.91,0.94,0.955,0.971,0.983,0.992,0.998,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.93,0.79,0.62,0.43,0.27,0.13,0.03,0,0.07,0.21,0.38,0.57,0.73,0.87,0.97,1,0.991,0.97,0.93,0.87,0.81,0.74,0.67,0.59,0.51,0.43,0.35,0.28,0.21,0.15,0.1,0.06,0.03,0.007,0,0.03,0.12,0.25,0.4,0.56,0.7,0.83,0.92,0.98,1,0.997,0.987,0.972,0.951,0.93,0.9,0.86,0.82,0.78,0.74,0.7,0.65,0.6,0.55,0.5,0.45,0.4,0.35,0.3,0.26,0.22,0.18,0.14,0.1,0.07,0.05,0.028,0.013,0.003,0,0.03,0.12,0.25,0.4,0.56,0.7,0.83,0.92,0.98,1,0.97,0.89,0.78,0.65,0.52,0.39,0.26,0.16,0.07,0.02,0,0.04,0.11,0.21,0.31,0.4,0.47,0.52,0.54,0.539,0.535,0.531,0.526,0.523,0.521,0.52,0.534,0.56,0.58,0.594,0.6,0.581,0.53,0.47,0.39,0.31,0.23,0.16,0.1,0.04,0.01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_CHEEK_01=0 +PARAM_CHEEK_02=0 +PARAM_CHEEK_03=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.002,0.009,0.02,0.034,0.051,0.07,0.1,0.12,0.15,0.18,0.21,0.25,0.28,0.32,0.36,0.4,0.44,0.48,0.51,0.55,0.59,0.63,0.67,0.7,0.74,0.77,0.81,0.84,0.86,0.89,0.91,0.94,0.955,0.971,0.983,0.992,0.998,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.997,0.987,0.972,0.952,0.93,0.9,0.87,0.83,0.79,0.75,0.71,0.67,0.62,0.58,0.53,0.48,0.44,0.39,0.35,0.3,0.26,0.22,0.18,0.15,0.12,0.09,0.06,0.04,0.023,0.011,0.003,0 +PARAM_CHEEK_04=0 +PARAM_BODY_ANGLE_X=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.02,-0.09,-0.2,-0.34,-0.51,-0.72,-0.96,-1.23,-1.51,-1.82,-2.15,-2.49,-2.85,-3.21,-3.59,-3.97,-4.36,-4.75,-5.15,-5.54,-5.93,-6.3,-6.68,-7.04,-7.39,-7.73,-8.05,-8.36,-8.65,-8.91,-9.15,-9.36,-9.55,-9.71,-9.83,-9.92,-9.98,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-9.998,-9.996,-9.993,-9.988,-9.981,-9.972,-9.959,-9.944,-9.926,-9.9,-9.88,-9.85,-9.81,-9.77,-9.73,-9.68,-9.62,-9.55,-9.48,-9.41,-9.32,-9.23,-9.13,-9.02,-8.9,-8.78,-8.64,-8.5,-8.34,-8.18,-8,-7.77,-7.48,-7.14,-6.76,-6.34,-5.9,-5.44,-4.97,-4.49,-4.02,-3.54,-3.07,-2.62,-2.18,-1.78,-1.4,-1.06,-0.76,-0.5,-0.29,-0.13,-0.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BODY_ANGLE_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.02,-0.09,-0.2,-0.34,-0.51,-0.72,-0.96,-1.23,-1.51,-1.82,-2.15,-2.49,-2.85,-3.21,-3.59,-3.97,-4.36,-4.75,-5.15,-5.54,-5.93,-6.3,-6.68,-7.04,-7.39,-7.73,-8.05,-8.36,-8.65,-8.91,-9.15,-9.36,-9.55,-9.71,-9.83,-9.92,-9.98,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-9.999,-9.998,-9.997,-9.995,-9.992,-9.989,-9.985,-9.981,-9.976,-9.971,-9.964,-9.957,-9.95,-9.941,-9.932,-9.922,-9.911,-9.899,-9.887,-9.873,-9.859,-9.843,-9.827,-9.809,-9.791,-9.772,-9.75,-9.73,-9.71,-9.68,-9.66,-9.63,-9.6,-9.57,-9.54,-9.51,-9.48,-9.45,-9.41,-9.37,-9.34,-9.3,-9.25,-9.21,-9.17,-9.12,-9.07,-9.02,-8.97,-8.92,-8.87,-8.81,-8.75,-8.7,-8.63,-8.57,-8.51,-8.44,-8.37,-8.3,-8.23,-8.15,-8.08,-8,-7.87,-7.66,-7.38,-7.05,-6.66,-6.24,-5.79,-5.32,-4.82,-4.33,-3.83,-3.34,-2.86,-2.39,-1.95,-1.55,-1.17,-0.84,-0.55,-0.32,-0.14,-0.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BODY_ANGLE_Z=0,0.04,0.17,0.37,0.63,0.93,1.28,1.66,2.05,2.45,2.85,3.24,3.6,3.94,4.24,4.5,4.71,4.87,4.97,5,4.97,4.87,4.71,4.49,4.23,3.92,3.56,3.16,2.73,2.27,1.78,1.26,0.73,0.18,-0.38,-0.96,-1.55,-2.13,-2.72,-3.31,-3.89,-4.46,-5.02,-5.56,-6.09,-6.6,-7.08,-7.54,-7.97,-8.36,-8.72,-9.04,-9.32,-9.56,-9.75,-9.89,-9.97,-10,-9.992,-9.97,-9.93,-9.88,-9.82,-9.75,-9.67,-9.58,-9.48,-9.39,-9.28,-9.17,-9.07,-8.96,-8.85,-8.75,-8.64,-8.55,-8.45,-8.37,-8.29,-8.22,-8.15,-8.1,-8.06,-8.03,-8.006,-8,-8.005,-8.021,-8.05,-8.08,-8.12,-8.17,-8.23,-8.3,-8.36,-8.44,-8.52,-8.6,-8.68,-8.77,-8.86,-8.94,-9.03,-9.12,-9.21,-9.29,-9.38,-9.46,-9.53,-9.61,-9.68,-9.74,-9.8,-9.85,-9.89,-9.93,-9.96,-9.98,-9.995,-10,-9.9,-9.63,-9.23,-8.73,-8.17,-7.57,-6.99,-6.45,-5.96,-5.56,-5.25,-5.07,-5,-5.06,-5.24,-5.52,-5.88,-6.3,-6.76,-7.25,-7.75,-8.24,-8.7,-9.12,-9.48,-9.76,-9.94,-10,-10,-10,-10,-9.994,-9.982,-9.961,-9.93,-9.89,-9.84,-9.77,-9.69,-9.59,-9.47,-9.33,-9.17,-8.99,-8.78,-8.55,-8.29,-8,-7.55,-6.96,-6.24,-5.45,-4.61,-3.73,-2.82,-1.94,-1.06,-0.25,0.52,1.21,1.82,2.31,2.68,2.92,3,2.94,2.78,2.53,2.22,1.87,1.5,1.13,0.78,0.47,0.22,0.06,0,0.06,0.21,0.42,0.69,0.99,1.3,1.62,1.93,2.21,2.47,2.68,2.85,2.96,3,2.998,2.991,2.98,2.963,2.94,2.92,2.88,2.85,2.8,2.75,2.7,2.64,2.57,2.5,2.42,2.34,2.25,2.16,2.06,1.95,1.84,1.72,1.58,1.44,1.31,1.19,1.07,0.96,0.86,0.76,0.66,0.57,0.49,0.42,0.35,0.28,0.22,0.17,0.13,0.09,0.06,0.03,0.014,0.004,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BREATH=0 +PARAM_UPBACK=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.002,-0.009,-0.02,-0.034,-0.051,-0.07,-0.1,-0.12,-0.15,-0.18,-0.21,-0.25,-0.28,-0.32,-0.36,-0.4,-0.44,-0.48,-0.51,-0.55,-0.59,-0.63,-0.67,-0.7,-0.74,-0.77,-0.81,-0.84,-0.86,-0.89,-0.91,-0.94,-0.955,-0.971,-0.983,-0.992,-0.998,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-0.999,-0.998,-0.996,-0.994,-0.992,-0.988,-0.984,-0.98,-0.974,-0.968,-0.961,-0.953,-0.945,-0.935,-0.925,-0.914,-0.901,-0.888,-0.874,-0.858,-0.841,-0.823,-0.804,-0.78,-0.76,-0.74,-0.72,-0.69,-0.66,-0.63,-0.6,-0.57,-0.54,-0.5,-0.47,-0.43,-0.39,-0.36,-0.32,-0.29,-0.26,-0.23,-0.2,-0.17,-0.14,-0.12,-0.09,-0.07,-0.055,-0.039,-0.025,-0.014,-0.007,-0.002,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BUST_Y=0 +PARAM_TIE=0 +PARAM_SKIRT=0 +PARAM_HAIR_FRONT=0 +PARAM_HAIR_SIDE=0 +PARAM_HAIR_BACK=0 +PARAM_HAIR_AHO=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.002,-0.009,-0.02,-0.034,-0.051,-0.07,-0.1,-0.12,-0.15,-0.18,-0.21,-0.25,-0.28,-0.32,-0.36,-0.4,-0.44,-0.48,-0.51,-0.55,-0.59,-0.63,-0.67,-0.7,-0.74,-0.77,-0.81,-0.84,-0.86,-0.89,-0.91,-0.94,-0.955,-0.971,-0.983,-0.992,-0.998,-1,-0.98,-0.92,-0.84,-0.74,-0.64,-0.54,-0.46,-0.4,-0.38,-0.392,-0.42,-0.47,-0.52,-0.58,-0.65,-0.71,-0.78,-0.84,-0.89,-0.93,-0.97,-0.99,-1,-0.992,-0.97,-0.94,-0.89,-0.84,-0.79,-0.73,-0.67,-0.61,-0.56,-0.51,-0.46,-0.43,-0.41,-0.4,-0.408,-0.428,-0.46,-0.5,-0.54,-0.59,-0.64,-0.69,-0.75,-0.8,-0.84,-0.89,-0.92,-0.96,-0.98,-0.995,-1,-0.991,-0.97,-0.93,-0.88,-0.82,-0.76,-0.69,-0.62,-0.55,-0.47,-0.4,-0.33,-0.26,-0.2,-0.14,-0.09,-0.06,-0.03,-0.007,0,-0.004,-0.017,-0.036,-0.06,-0.09,-0.12,-0.16,-0.19,-0.23,-0.27,-0.31,-0.34,-0.38,-0.41,-0.44,-0.46,-0.482,-0.497,-0.507,-0.51,-0.504,-0.485,-0.46,-0.42,-0.38,-0.33,-0.28,-0.23,-0.18,-0.13,-0.09,-0.05,-0.02,-0.006,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.005,0.019,0.04,0.07,0.1,0.14,0.18,0.22,0.26,0.3,0.33,0.36,0.38,0.395,0.4,0.399,0.396,0.391,0.384,0.375,0.365,0.354,0.341,0.327,0.312,0.296,0.28,0.263,0.245,0.227,0.209,0.191,0.173,0.155,0.137,0.12,0.104,0.088,0.073,0.059,0.046,0.035,0.025,0.016,0.009,0.004,0.001,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_HAIR_TAIR=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.002,-0.009,-0.02,-0.034,-0.051,-0.07,-0.1,-0.12,-0.15,-0.18,-0.21,-0.25,-0.28,-0.32,-0.36,-0.4,-0.44,-0.48,-0.51,-0.55,-0.59,-0.63,-0.67,-0.7,-0.74,-0.77,-0.81,-0.84,-0.86,-0.89,-0.91,-0.94,-0.955,-0.971,-0.983,-0.992,-0.998,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-0.994,-0.975,-0.95,-0.91,-0.86,-0.81,-0.76,-0.7,-0.64,-0.57,-0.51,-0.44,-0.38,-0.32,-0.26,-0.21,-0.16,-0.11,-0.07,-0.04,-0.02,-0.005,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_RIBON_L=0 +PARAM_RIBON_R=0 +PARAM_ARM=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.002,-0.009,-0.02,-0.034,-0.051,-0.07,-0.1,-0.12,-0.15,-0.18,-0.21,-0.25,-0.28,-0.32,-0.36,-0.4,-0.44,-0.48,-0.51,-0.55,-0.59,-0.63,-0.67,-0.7,-0.74,-0.77,-0.81,-0.84,-0.86,-0.89,-0.91,-0.94,-0.955,-0.971,-0.983,-0.992,-0.998,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-0.993,-0.974,-0.94,-0.91,-0.86,-0.81,-0.76,-0.71,-0.66,-0.61,-0.57,-0.53,-0.5,-0.48,-0.465,-0.46,-0.461,-0.465,-0.471,-0.479,-0.488,-0.5,-0.513,-0.528,-0.544,-0.562,-0.581,-0.6,-0.621,-0.64,-0.66,-0.69,-0.71,-0.73,-0.75,-0.77,-0.8,-0.82,-0.84,-0.86,-0.879,-0.898,-0.916,-0.932,-0.947,-0.96,-0.972,-0.981,-0.989,-0.995,-0.999,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-0.994,-0.975,-0.95,-0.91,-0.86,-0.81,-0.76,-0.7,-0.64,-0.57,-0.51,-0.44,-0.38,-0.32,-0.26,-0.21,-0.16,-0.11,-0.07,-0.04,-0.02,-0.005,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_ARM_L=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.002,-0.009,-0.02,-0.034,-0.051,-0.07,-0.1,-0.12,-0.15,-0.18,-0.21,-0.25,-0.28,-0.32,-0.36,-0.4,-0.44,-0.48,-0.51,-0.55,-0.59,-0.63,-0.67,-0.7,-0.74,-0.77,-0.81,-0.84,-0.86,-0.89,-0.91,-0.94,-0.955,-0.971,-0.983,-0.992,-0.998,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-0.994,-0.975,-0.95,-0.91,-0.86,-0.81,-0.76,-0.7,-0.64,-0.57,-0.51,-0.44,-0.38,-0.32,-0.26,-0.21,-0.16,-0.11,-0.07,-0.04,-0.02,-0.005,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_ARM_R=0 +PARAM_FINGER=0.5 +PARAM_LEG_L=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.002,-0.009,-0.02,-0.034,-0.051,-0.07,-0.1,-0.12,-0.15,-0.18,-0.21,-0.25,-0.28,-0.32,-0.36,-0.4,-0.44,-0.48,-0.51,-0.55,-0.59,-0.63,-0.67,-0.7,-0.74,-0.77,-0.81,-0.84,-0.86,-0.89,-0.91,-0.94,-0.955,-0.971,-0.983,-0.992,-0.998,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-0.989,-0.96,-0.92,-0.86,-0.8,-0.74,-0.68,-0.61,-0.56,-0.51,-0.46,-0.43,-0.41,-0.4,-0.408,-0.43,-0.46,-0.51,-0.56,-0.61,-0.67,-0.73,-0.79,-0.84,-0.89,-0.94,-0.97,-0.99,-1,-0.997,-0.988,-0.974,-0.956,-0.94,-0.91,-0.89,-0.86,-0.83,-0.8,-0.77,-0.75,-0.72,-0.69,-0.67,-0.64,-0.62,-0.6,-0.579,-0.561,-0.545,-0.531,-0.517,-0.505,-0.494,-0.482,-0.471,-0.46,-0.449,-0.438,-0.426,-0.413,-0.4,-0.384,-0.369,-0.355,-0.341,-0.328,-0.316,-0.305,-0.294,-0.285,-0.276,-0.269,-0.262,-0.256,-0.251,-0.247,-0.244,-0.242,-0.24,-0.24,-0.241,-0.243,-0.248,-0.253,-0.261,-0.269,-0.279,-0.29,-0.303,-0.316,-0.331,-0.346,-0.363,-0.38,-0.398,-0.417,-0.436,-0.456,-0.477,-0.5,-0.52,-0.54,-0.56,-0.58,-0.61,-0.63,-0.65,-0.67,-0.69,-0.72,-0.74,-0.757,-0.78,-0.797,-0.817,-0.835,-0.853,-0.87,-0.887,-0.902,-0.916,-0.93,-0.943,-0.954,-0.965,-0.974,-0.981,-0.988,-0.993,-0.997,-0.999,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-0.994,-0.975,-0.95,-0.91,-0.86,-0.81,-0.76,-0.7,-0.64,-0.57,-0.51,-0.44,-0.38,-0.32,-0.26,-0.21,-0.16,-0.11,-0.07,-0.04,-0.02,-0.005,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +VISIBLE:PSD=1 +VISIBLE:PSD1=1 +VISIBLE:ROUGH=1 +VISIBLE:PARTS_01_CORE=1 +VISIBLE:PARTS_01_FACE_001=1 +VISIBLE:PARTS_01_AHO=1 +VISIBLE:PARTS_01_EYE_001=1 +VISIBLE:PARTS_01_EYE_BALL_001=1 +VISIBLE:PARTS_01_BROW_001=1 +VISIBLE:PARTS_01_MOUTH_001=1 +VISIBLE:PARTS_01_NOSE_001=1 +VISIBLE:PARTS_01_CHEEK=1 +VISIBLE:PARTS_01_EAR_001=1 +VISIBLE:PARTS_01_HAIR_FRONT_001=1 +VISIBLE:PARTS_01_HAIR_SIDE_001=1 +VISIBLE:PARTS_01_HAIR_BACK_001=1 +VISIBLE:PARTS_01_NECK=1 +VISIBLE:PARTS_01_BODY=1 +VISIBLE:PARTS_01_ARM_L=1 +VISIBLE:PARTS_01_ARM_R=1 +VISIBLE:PARTS_01_LEG=1 +VISIBLE:PARTS_01_BACKGROUND=0 +VISIBLE:PARTS_01_SKETCH=0 \ No newline at end of file diff --git a/media/live2d/histoire/model/histoire/motions/tap/tsumiki_m_19.mtn b/media/live2d/histoire/model/histoire/motions/tap/tsumiki_m_19.mtn new file mode 100644 index 0000000..5966830 --- /dev/null +++ b/media/live2d/histoire/model/histoire/motions/tap/tsumiki_m_19.mtn @@ -0,0 +1,53 @@ +# Live2D Animator Motion Data +$fps=30 + +$fadein=500 + +$fadeout=0 + +PARAM_ANGLE_X=0 +PARAM_ANGLE_Y=0 +PARAM_ANGLE_Z=0,-0.38,-1.45,-3.13,-5.26,-7.8,-10.58,-13.51,-16.49,-19.42,-22.2,-24.74,-26.87,-28.55,-29.62,-30,-29.86,-29.44,-28.78,-27.87,-26.76,-25.45,-23.96,-22.34,-20.58,-18.7,-16.74,-14.73,-12.64,-10.54,-8.4,-6.27,-4.16,-2.06,0,2.26,4.42,6.5,8.45,10.29,12.04,13.69,15.25,16.69,18.07,19.36,20.54,21.65,22.67,23.62,24.48,25.27,25.99,26.64,27.23,27.75,28.21,28.61,28.96,29.25,29.49,29.68,29.82,29.92,29.98,30,29.81,29.24,28.32,27.09,25.56,23.78,21.75,19.51,17.13,14.55,11.84,9.06,6.2,3.29,0.35,-2.55,-5.42,-8.25,-11.02,-13.68,-16.2,-18.57,-20.79,-22.82,-24.62,-26.2,-27.52,-28.58,-29.36,-29.84,-30,-29.89,-29.54,-29,-28.27,-27.34,-26.25,-25.01,-23.64,-22.13,-20.49,-18.75,-16.94,-15.01,-13.05,-11.02,-8.93,-6.8,-4.64,-2.46,-0.26,1.89,4.08,6.2,8.34,10.4,12.4,14.39,16.27,18.07,19.79,21.4,22.91,24.3,25.54,26.67,27.65,28.47,29.13,29.6,29.9,30,29.97,29.87,29.71,29.5,29.22,28.9,28.52,28.1,27.62,27.11,26.56,25.96,25.33,24.67,23.97,23.24,22.49,21.71,20.92,20.09,19.25,18.39,17.51,16.63,15.75,14.84,13.93,13.03,12.11,11.21,10.29,9.4,8.49,7.61,6.73,5.86,5.01,4.17,3.36,2.57,1.79,1.05,0.33,-0.37,-1.03,-1.66,-2.25,-2.81,-3.33,-3.82,-4.25,-4.64,-4.99,-5.29,-5.54,-5.74,-5.88,-5.97,-6,-5.981,-5.92,-5.83,-5.71,-5.55,-5.37,-5.17,-4.95,-4.71,-4.45,-4.17,-3.89,-3.59,-3.3,-3,-2.7,-2.41,-2.11,-1.83,-1.55,-1.29,-1.05,-0.83,-0.63,-0.45,-0.29,-0.17,-0.08,-0.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_EYE_L_OPEN=1 +PARAM_EYE_L_SMILE=0 +PARAM_EYE_R_OPEN=1 +PARAM_EYE_R_SMILE=0 +PARAM_EYE_FORM=0 +PARAM_TEAR=0 +PARAM_EYE_BALL_X=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.001,-0.003,-0.007,-0.012,-0.018,-0.026,-0.034,-0.044,-0.055,-0.068,-0.081,-0.095,-0.11,-0.125,-0.142,-0.159,-0.177,-0.195,-0.214,-0.234,-0.25,-0.274,-0.295,-0.32,-0.337,-0.36,-0.38,-0.4,-0.42,-0.44,-0.47,-0.49,-0.51,-0.53,-0.55,-0.57,-0.59,-0.609,-0.628,-0.646,-0.664,-0.681,-0.698,-0.713,-0.728,-0.742,-0.755,-0.768,-0.779,-0.789,-0.798,-0.806,-0.814,-0.819,-0.824,-0.827,-0.829,-0.83,-0.828,-0.823,-0.815,-0.804,-0.79,-0.773,-0.754,-0.73,-0.71,-0.68,-0.65,-0.62,-0.59,-0.55,-0.52,-0.48,-0.44,-0.4,-0.36,-0.31,-0.27,-0.23,-0.18,-0.13,-0.09,-0.04,0.01,0.06,0.1,0.15,0.2,0.24,0.29,0.34,0.38,0.43,0.47,0.51,0.55,0.59,0.63,0.67,0.71,0.74,0.78,0.81,0.84,0.86,0.89,0.91,0.93,0.948,0.964,0.977,0.987,0.994,0.999,1,0.999,0.994,0.987,0.977,0.965,0.95,0.934,0.915,0.894,0.87,0.85,0.82,0.79,0.77,0.74,0.71,0.68,0.64,0.61,0.58,0.54,0.51,0.48,0.44,0.41,0.38,0.35,0.31,0.28,0.25,0.22,0.2,0.17,0.14,0.12,0.1,0.08,0.057,0.04,0.024,0.011,0,-0.008,-0.015,-0.019,-0.02,-0.02,-0.02,-0.02,-0.02,-0.019,-0.019,-0.019,-0.019,-0.018,-0.018,-0.017,-0.017,-0.016,-0.016,-0.015,-0.015,-0.014,-0.014,-0.013,-0.012,-0.012,-0.011,-0.011,-0.01,-0.009,-0.009,-0.008,-0.008,-0.007,-0.006,-0.006,-0.005,-0.005,-0.004,-0.004,-0.003,-0.003,-0.002,-0.002,-0.001,-0.001,-0.001,-0.001,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_EYE_BALL_Y=-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.502,-0.504,-0.507,-0.511,-0.515,-0.521,-0.527,-0.533,-0.541,-0.549,-0.557,-0.566,-0.576,-0.585,-0.596,-0.607,-0.618,-0.629,-0.641,-0.653,-0.665,-0.678,-0.69,-0.703,-0.716,-0.729,-0.742,-0.755,-0.768,-0.781,-0.794,-0.806,-0.819,-0.831,-0.843,-0.855,-0.867,-0.878,-0.889,-0.9,-0.91,-0.92,-0.93,-0.939,-0.947,-0.955,-0.962,-0.969,-0.975,-0.981,-0.986,-0.99,-0.994,-0.996,-0.998,-1,-1,-0.998,-0.993,-0.984,-0.972,-0.957,-0.939,-0.92,-0.89,-0.87,-0.84,-0.81,-0.77,-0.74,-0.7,-0.66,-0.62,-0.58,-0.54,-0.49,-0.44,-0.4,-0.35,-0.3,-0.25,-0.2,-0.15,-0.1,-0.05,0,0.06,0.11,0.16,0.21,0.26,0.31,0.35,0.4,0.45,0.49,0.53,0.58,0.62,0.66,0.69,0.73,0.76,0.79,0.82,0.85,0.87,0.9,0.914,0.931,0.945,0.956,0.964,0.968,0.97,0.97,0.97,0.97,0.969,0.969,0.968,0.967,0.966,0.965,0.964,0.962,0.96,0.957,0.954,0.951,0.948,0.944,0.939,0.934,0.929,0.923,0.917,0.91,0.902,0.894,0.885,0.876,0.866,0.856,0.844,0.833,0.82,0.806,0.792,0.778,0.762,0.745,0.728,0.71,0.691,0.672,0.651,0.63,0.61,0.58,0.56,0.53,0.51,0.48,0.45,0.43,0.4,0.37,0.34,0.31,0.28,0.25,0.22,0.19,0.16,0.13,0.1,0.07,0.04,0.02,-0.01,-0.04,-0.07,-0.1,-0.12,-0.15,-0.18,-0.2,-0.23,-0.25,-0.27,-0.3,-0.32,-0.337,-0.356,-0.375,-0.392,-0.408,-0.423,-0.437,-0.45,-0.461,-0.471,-0.48,-0.487,-0.493,-0.497,-0.499,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +PARAM_EYE_BALL_FORM=1 +PARAM_BROW_L_Y=0 +PARAM_BROW_R_Y=0 +PARAM_BROW_L_X=0 +PARAM_BROW_R_X=0 +PARAM_BROW_L_ANGLE=0 +PARAM_BROW_R_ANGLE=0 +PARAM_BROW_L_FORM=0 +PARAM_BROW_R_FORM=0 +PARAM_MOUTH_FORM=1,0.995,0.979,0.95,0.92,0.88,0.83,0.77,0.7,0.64,0.56,0.48,0.4,0.32,0.23,0.14,0.06,-0.03,-0.12,-0.21,-0.29,-0.38,-0.46,-0.53,-0.61,-0.68,-0.74,-0.8,-0.85,-0.89,-0.93,-0.96,-0.98,-0.995,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-0.996,-0.985,-0.966,-0.94,-0.91,-0.87,-0.83,-0.78,-0.73,-0.67,-0.61,-0.55,-0.48,-0.41,-0.34,-0.27,-0.19,-0.12,-0.04,0.04,0.12,0.19,0.27,0.34,0.41,0.48,0.55,0.61,0.67,0.73,0.78,0.83,0.87,0.91,0.94,0.97,0.985,0.996,1,1 +PARAM_MOUTH_OPEN_Y=0 +PARAM_CHEEK_01=0 +PARAM_CHEEK_02=0 +PARAM_CHEEK_03=0 +PARAM_CHEEK_04=0 +PARAM_BODY_ANGLE_X=0 +PARAM_BODY_ANGLE_Y=0,0.08,0.29,0.63,1.05,1.56,2.12,2.7,3.3,3.88,4.44,4.95,5.37,5.71,5.92,6,5.89,5.59,5.12,4.49,3.76,2.93,2.02,1.08,0.12,-0.84,-1.77,-2.64,-3.46,-4.18,-4.81,-5.31,-5.69,-5.92,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-6,-5.991,-5.96,-5.92,-5.86,-5.79,-5.7,-5.6,-5.49,-5.37,-5.23,-5.09,-4.93,-4.77,-4.6,-4.42,-4.24,-4.05,-3.86,-3.66,-3.46,-3.25,-3.05,-2.84,-2.63,-2.42,-2.21,-2,-1.8,-1.6,-1.4,-1.2,-1.01,-0.82,-0.64,-0.46,-0.3,-0.14,0.02,0.16,0.3,0.42,0.54,0.64,0.73,0.81,0.88,0.93,0.97,0.99,1,0.997,0.987,0.972,0.951,0.93,0.9,0.86,0.82,0.78,0.74,0.7,0.65,0.6,0.55,0.5,0.45,0.4,0.35,0.3,0.26,0.22,0.18,0.14,0.1,0.07,0.05,0.028,0.013,0.003,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BODY_ANGLE_Z=0,-0.06,-0.24,-0.52,-0.88,-1.3,-1.76,-2.25,-2.75,-3.24,-3.7,-4.12,-4.48,-4.76,-4.94,-5,-4.991,-4.96,-4.91,-4.84,-4.74,-4.61,-4.46,-4.27,-4.05,-3.8,-3.52,-3.2,-2.85,-2.46,-2.04,-1.58,-1.09,-0.56,0,0.69,1.35,2,2.62,3.22,3.81,4.37,4.91,5.42,5.92,6.38,6.82,7.24,7.63,7.99,8.33,8.63,8.91,9.16,9.38,9.56,9.72,9.84,9.93,9.98,10,9.94,9.75,9.44,9.03,8.51,7.92,7.24,6.49,5.68,4.82,3.9,2.96,1.98,0.99,0,-0.99,-1.98,-2.96,-3.9,-4.82,-5.68,-6.49,-7.24,-7.92,-8.51,-9.03,-9.44,-9.75,-9.94,-10,-9.97,-9.87,-9.71,-9.5,-9.23,-8.91,-8.55,-8.15,-7.7,-7.22,-6.7,-6.16,-5.59,-4.99,-4.38,-3.75,-3.1,-2.44,-1.78,-1.1,-0.42,0.25,0.94,1.61,2.27,2.92,3.56,4.19,4.8,5.38,5.94,6.48,6.99,7.47,7.92,8.33,8.7,9.03,9.31,9.55,9.74,9.89,9.97,10,9.991,9.96,9.92,9.86,9.79,9.69,9.59,9.47,9.34,9.2,9.04,8.87,8.7,8.51,8.32,8.11,7.9,7.68,7.45,7.22,6.98,6.74,6.49,6.23,5.98,5.72,5.46,5.2,4.93,4.67,4.4,4.14,3.87,3.61,3.35,3.09,2.84,2.59,2.34,2.1,1.86,1.63,1.4,1.19,0.97,0.77,0.58,0.39,0.21,0.04,-0.11,-0.26,-0.39,-0.51,-0.62,-0.72,-0.8,-0.87,-0.93,-0.97,-0.99,-1,-0.997,-0.987,-0.972,-0.951,-0.93,-0.9,-0.86,-0.82,-0.78,-0.74,-0.7,-0.65,-0.6,-0.55,-0.5,-0.45,-0.4,-0.35,-0.3,-0.26,-0.22,-0.18,-0.14,-0.1,-0.07,-0.05,-0.028,-0.013,-0.003,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BREATH=0 +PARAM_UPBACK=0 +PARAM_BUST_Y=0 +PARAM_TIE=0 +PARAM_SKIRT=0 +PARAM_HAIR_FRONT=0 +PARAM_HAIR_SIDE=0 +PARAM_HAIR_BACK=0 +PARAM_HAIR_AHO=0 +PARAM_HAIR_TAIR=0 +PARAM_RIBON_L=0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.04,0.039,0.039,0.038,0.037,0.037,0.036,0.035,0.033,0.032,0.031,0.03,0.028,0.027,0.025,0.024,0.022,0.021,0.019,0.018,0.016,0.015,0.013,0.012,0.01,0.009,0.008,0.007,0.005,0.004,0.003,0.003,0.002,0.001,0.001,0,0,0,0 +PARAM_RIBON_R=0 +PARAM_ARM=0,-0.003,-0.011,-0.023,-0.04,-0.06,-0.09,-0.12,-0.15,-0.18,-0.22,-0.26,-0.3,-0.34,-0.38,-0.43,-0.47,-0.52,-0.56,-0.6,-0.65,-0.69,-0.73,-0.77,-0.8,-0.84,-0.87,-0.9,-0.92,-0.95,-0.965,-0.98,-0.991,-0.998,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-0.998,-0.992,-0.983,-0.971,-0.955,-0.936,-0.91,-0.89,-0.86,-0.84,-0.81,-0.77,-0.74,-0.71,-0.67,-0.63,-0.6,-0.56,-0.52,-0.48,-0.44,-0.4,-0.37,-0.33,-0.29,-0.26,-0.23,-0.19,-0.16,-0.14,-0.11,-0.09,-0.06,-0.045,-0.029,-0.017,-0.008,-0.002,0,0 +PARAM_ARM_L=0,-0.003,-0.011,-0.023,-0.04,-0.06,-0.09,-0.12,-0.15,-0.18,-0.22,-0.26,-0.3,-0.34,-0.38,-0.43,-0.47,-0.52,-0.56,-0.6,-0.65,-0.69,-0.73,-0.77,-0.8,-0.84,-0.87,-0.9,-0.92,-0.95,-0.965,-0.98,-0.991,-0.998,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-0.998,-0.992,-0.983,-0.971,-0.955,-0.936,-0.91,-0.89,-0.86,-0.84,-0.81,-0.77,-0.74,-0.71,-0.67,-0.63,-0.6,-0.56,-0.52,-0.48,-0.44,-0.4,-0.37,-0.33,-0.29,-0.26,-0.23,-0.19,-0.16,-0.14,-0.11,-0.09,-0.06,-0.045,-0.029,-0.017,-0.008,-0.002,0,0 +PARAM_ARM_R=0,-0.003,-0.011,-0.023,-0.04,-0.06,-0.09,-0.12,-0.15,-0.18,-0.22,-0.26,-0.3,-0.34,-0.38,-0.43,-0.47,-0.52,-0.56,-0.6,-0.65,-0.69,-0.73,-0.77,-0.8,-0.84,-0.87,-0.9,-0.92,-0.95,-0.965,-0.98,-0.991,-0.998,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-0.998,-0.992,-0.983,-0.971,-0.955,-0.936,-0.91,-0.89,-0.86,-0.84,-0.81,-0.77,-0.74,-0.71,-0.67,-0.63,-0.6,-0.56,-0.52,-0.48,-0.44,-0.4,-0.37,-0.33,-0.29,-0.26,-0.23,-0.19,-0.16,-0.14,-0.11,-0.09,-0.06,-0.045,-0.029,-0.017,-0.008,-0.002,0,0 +PARAM_FINGER=0.5 +PARAM_LEG_L=0 \ No newline at end of file diff --git a/media/live2d/histoire/model/histoire/motions/tap/tsumiki_m_21.mtn b/media/live2d/histoire/model/histoire/motions/tap/tsumiki_m_21.mtn new file mode 100644 index 0000000..6112b74 --- /dev/null +++ b/media/live2d/histoire/model/histoire/motions/tap/tsumiki_m_21.mtn @@ -0,0 +1,43 @@ +# Live2D Animator Motion Data +$fps=30 + +$fadein=500 + +$fadeout=0 + +PARAM_ANGLE_X=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.38,-1.45,-3.1,-5.23,-7.69,-10.41,-13.2,-16.05,-18.83,-21.48,-23.86,-25.95,-27.67,-28.93,-29.73,-30,-29.24,-27.11,-23.75,-19.48,-14.39,-8.85,-2.98,2.98,8.85,14.39,19.48,23.75,27.11,29.24,30,29.4,27.79,25.38,22.35,19,15.44,11.94,8.68,5.78,3.35,1.53,0.39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_ANGLE_Y=0,-0.2,-0.76,-1.66,-2.85,-4.27,-5.89,-7.73,-9.62,-11.64,-13.71,-15.79,-17.8,-19.8,-21.68,-23.45,-25.05,-26.47,-27.7,-28.67,-29.4,-29.85,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-29.9,-29.62,-29.16,-28.54,-27.77,-26.87,-25.86,-24.74,-23.53,-22.24,-20.86,-19.44,-17.97,-16.49,-15,-13.51,-12.03,-10.56,-9.14,-7.76,-6.47,-5.26,-4.14,-3.13,-2.23,-1.46,-0.84,-0.38,-0.1,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_ANGLE_Z=0 +PARAM_EYE_L_OPEN=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.981,0.93,0.86,0.77,0.67,0.57,0.46,0.36,0.26,0.18,0.11,0.05,0.01,0,0.013,0.05,0.1,0.17,0.26,0.35,0.44,0.54,0.63,0.72,0.8,0.87,0.92,0.96,0.99,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_EYE_L_SMILE=0 +PARAM_EYE_R_OPEN=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.981,0.93,0.86,0.77,0.67,0.57,0.46,0.36,0.26,0.18,0.11,0.05,0.01,0,0.013,0.05,0.1,0.17,0.26,0.35,0.44,0.54,0.63,0.72,0.8,0.87,0.92,0.96,0.99,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_EYE_R_SMILE=0 +PARAM_TEAR=0 +PARAM_EYE_BALL_X=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.013,0.05,0.1,0.17,0.26,0.35,0.44,0.54,0.63,0.72,0.8,0.87,0.92,0.96,0.99,1,0.97,0.9,0.79,0.65,0.48,0.29,0.1,-0.1,-0.29,-0.48,-0.65,-0.79,-0.9,-0.97,-1,-0.98,-0.93,-0.85,-0.75,-0.63,-0.51,-0.4,-0.29,-0.19,-0.11,-0.05,-0.01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_EYE_BALL_Y=-0.5,-0.49,-0.46,-0.42,-0.36,-0.29,-0.21,-0.11,-0.02,0.08,0.19,0.29,0.39,0.49,0.58,0.67,0.75,0.82,0.88,0.93,0.97,0.99,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.995,0.981,0.96,0.93,0.89,0.84,0.79,0.74,0.68,0.61,0.54,0.47,0.4,0.32,0.25,0.18,0.1,0.03,-0.04,-0.11,-0.18,-0.24,-0.29,-0.34,-0.39,-0.43,-0.46,-0.48,-0.495,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +PARAM_EYE_BALL_FORM=1 +PARAM_BROW_L_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.019,-0.07,-0.14,-0.23,-0.33,-0.43,-0.54,-0.64,-0.74,-0.82,-0.89,-0.95,-0.99,-1,-0.987,-0.95,-0.9,-0.83,-0.74,-0.65,-0.56,-0.46,-0.37,-0.28,-0.2,-0.13,-0.08,-0.04,-0.01,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BROW_R_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.019,-0.07,-0.14,-0.23,-0.33,-0.43,-0.54,-0.64,-0.74,-0.82,-0.89,-0.95,-0.99,-1,-0.987,-0.95,-0.9,-0.83,-0.74,-0.65,-0.56,-0.46,-0.37,-0.28,-0.2,-0.13,-0.08,-0.04,-0.01,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BROW_L_X=0 +PARAM_BROW_R_X=0 +PARAM_BROW_L_ANGLE=0,-0.001,-0.003,-0.007,-0.011,-0.017,-0.024,-0.031,-0.038,-0.047,-0.055,-0.063,-0.071,-0.079,-0.087,-0.094,-0.1,-0.106,-0.111,-0.115,-0.118,-0.119,-0.12,-0.12,-0.12,-0.119,-0.119,-0.118,-0.118,-0.117,-0.116,-0.115,-0.114,-0.113,-0.111,-0.11,-0.108,-0.107,-0.105,-0.103,-0.102,-0.1,-0.098,-0.096,-0.094,-0.092,-0.09,-0.087,-0.085,-0.083,-0.081,-0.078,-0.076,-0.074,-0.071,-0.069,-0.066,-0.064,-0.061,-0.059,-0.057,-0.054,-0.052,-0.049,-0.047,-0.045,-0.042,-0.04,-0.038,-0.036,-0.033,-0.031,-0.029,-0.027,-0.025,-0.023,-0.021,-0.019,-0.017,-0.016,-0.014,-0.013,-0.011,-0.01,-0.008,-0.007,-0.006,-0.005,-0.004,-0.003,-0.002,-0.002,-0.001,-0.001,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BROW_R_ANGLE=0,-0.001,-0.003,-0.007,-0.011,-0.017,-0.024,-0.031,-0.038,-0.047,-0.055,-0.063,-0.071,-0.079,-0.087,-0.094,-0.1,-0.106,-0.111,-0.115,-0.118,-0.119,-0.12,-0.12,-0.12,-0.119,-0.119,-0.118,-0.118,-0.117,-0.116,-0.115,-0.114,-0.113,-0.111,-0.11,-0.108,-0.107,-0.105,-0.103,-0.102,-0.1,-0.098,-0.096,-0.094,-0.092,-0.09,-0.087,-0.085,-0.083,-0.081,-0.078,-0.076,-0.074,-0.071,-0.069,-0.066,-0.064,-0.061,-0.059,-0.057,-0.054,-0.052,-0.049,-0.047,-0.045,-0.042,-0.04,-0.038,-0.036,-0.033,-0.031,-0.029,-0.027,-0.025,-0.023,-0.021,-0.019,-0.017,-0.016,-0.014,-0.013,-0.011,-0.01,-0.008,-0.007,-0.006,-0.005,-0.004,-0.003,-0.002,-0.002,-0.001,-0.001,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BROW_L_FORM=0,-0.005,-0.02,-0.04,-0.07,-0.11,-0.15,-0.2,-0.25,-0.3,-0.36,-0.41,-0.46,-0.51,-0.56,-0.61,-0.65,-0.69,-0.72,-0.75,-0.764,-0.776,-0.78,-0.78,-0.778,-0.776,-0.773,-0.769,-0.765,-0.759,-0.753,-0.747,-0.739,-0.732,-0.723,-0.714,-0.704,-0.694,-0.683,-0.672,-0.66,-0.648,-0.636,-0.623,-0.609,-0.596,-0.582,-0.568,-0.553,-0.539,-0.524,-0.509,-0.493,-0.478,-0.463,-0.447,-0.431,-0.416,-0.4,-0.384,-0.368,-0.353,-0.337,-0.321,-0.306,-0.291,-0.276,-0.261,-0.246,-0.231,-0.217,-0.203,-0.189,-0.176,-0.162,-0.149,-0.137,-0.125,-0.113,-0.102,-0.091,-0.081,-0.071,-0.062,-0.054,-0.045,-0.038,-0.031,-0.025,-0.019,-0.014,-0.01,-0.006,-0.004,-0.002,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BROW_R_FORM=0,-0.005,-0.02,-0.04,-0.07,-0.11,-0.15,-0.2,-0.25,-0.3,-0.36,-0.41,-0.46,-0.51,-0.56,-0.61,-0.65,-0.69,-0.72,-0.75,-0.764,-0.776,-0.78,-0.78,-0.778,-0.776,-0.773,-0.769,-0.765,-0.759,-0.753,-0.747,-0.739,-0.732,-0.723,-0.714,-0.704,-0.694,-0.683,-0.672,-0.66,-0.648,-0.636,-0.623,-0.609,-0.596,-0.582,-0.568,-0.553,-0.539,-0.524,-0.509,-0.493,-0.478,-0.463,-0.447,-0.431,-0.416,-0.4,-0.384,-0.368,-0.353,-0.337,-0.321,-0.306,-0.291,-0.276,-0.261,-0.246,-0.231,-0.217,-0.203,-0.189,-0.176,-0.162,-0.149,-0.137,-0.125,-0.113,-0.102,-0.091,-0.081,-0.071,-0.062,-0.054,-0.045,-0.038,-0.031,-0.025,-0.019,-0.014,-0.01,-0.006,-0.004,-0.002,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_MOUTH_FORM=1,1,0.998,0.995,0.99,0.983,0.974,0.962,0.948,0.93,0.91,0.88,0.86,0.82,0.79,0.74,0.7,0.65,0.6,0.54,0.47,0.4,0.33,0.24,0.13,0.02,-0.09,-0.21,-0.32,-0.43,-0.54,-0.64,-0.73,-0.81,-0.87,-0.93,-0.97,-0.99,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-0.96,-0.85,-0.69,-0.48,-0.25,0,0.25,0.48,0.69,0.85,0.96,1 +PARAM_MOUTH_OPEN_Y=0,0.007,0.025,0.06,0.09,0.14,0.2,0.26,0.32,0.39,0.46,0.53,0.59,0.66,0.72,0.78,0.83,0.88,0.92,0.96,0.98,0.995,1,1,1,1,0.999,0.998,0.995,0.99,0.984,0.976,0.965,0.953,0.937,0.919,0.899,0.88,0.85,0.82,0.79,0.76,0.73,0.7,0.67,0.64,0.61,0.58,0.55,0.52,0.49,0.47,0.44,0.41,0.39,0.36,0.34,0.31,0.29,0.26,0.24,0.22,0.199,0.179,0.16,0.142,0.125,0.109,0.093,0.079,0.066,0.054,0.043,0.033,0.025,0.017,0.011,0.006,0.003,0.001,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_CHEEK_01=0,0.007,0.025,0.06,0.09,0.14,0.2,0.26,0.32,0.39,0.46,0.53,0.59,0.66,0.72,0.78,0.83,0.88,0.92,0.96,0.98,0.995,1,0.999,0.998,0.995,0.991,0.986,0.98,0.974,0.966,0.957,0.948,0.938,0.927,0.915,0.903,0.89,0.876,0.861,0.846,0.831,0.815,0.798,0.781,0.764,0.746,0.728,0.709,0.69,0.672,0.652,0.633,0.613,0.593,0.573,0.553,0.53,0.512,0.492,0.472,0.452,0.432,0.412,0.392,0.373,0.353,0.334,0.315,0.296,0.278,0.26,0.242,0.225,0.208,0.192,0.176,0.16,0.145,0.131,0.117,0.104,0.092,0.08,0.069,0.058,0.049,0.04,0.032,0.024,0.018,0.013,0.008,0.005,0.002,0.001,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_CHEEK_02=0 +PARAM_CHEEK_03=0 +PARAM_CHEEK_04=0 +PARAM_BODY_ANGLE_X=0 +PARAM_BODY_ANGLE_Y=0 +PARAM_BODY_ANGLE_Z=0 +PARAM_BREATH=0 +PARAM_UPBACK=0,-0.007,-0.025,-0.06,-0.09,-0.14,-0.2,-0.26,-0.32,-0.39,-0.46,-0.53,-0.59,-0.66,-0.72,-0.78,-0.83,-0.88,-0.92,-0.96,-0.98,-0.995,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-0.997,-0.987,-0.972,-0.951,-0.93,-0.9,-0.86,-0.82,-0.78,-0.74,-0.7,-0.65,-0.6,-0.55,-0.5,-0.45,-0.4,-0.35,-0.3,-0.26,-0.22,-0.18,-0.14,-0.1,-0.07,-0.05,-0.028,-0.013,-0.003,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_HAIR_TAIR=0 +PARAM_ARM=0,-0.007,-0.025,-0.06,-0.09,-0.14,-0.2,-0.26,-0.32,-0.39,-0.46,-0.53,-0.59,-0.66,-0.72,-0.78,-0.83,-0.88,-0.92,-0.96,-0.98,-0.995,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-0.996,-0.984,-0.966,-0.94,-0.91,-0.87,-0.83,-0.79,-0.74,-0.69,-0.64,-0.59,-0.53,-0.48,-0.43,-0.37,-0.32,-0.27,-0.23,-0.18,-0.14,-0.11,-0.08,-0.05,-0.03,-0.013,-0.003,0 +PARAM_ARM_L=0 +PARAM_ARM_R=0 +PARAM_FINGER=0.5 +PARAM_LEG_L=0 \ No newline at end of file diff --git a/media/live2d/histoire/model/nep/histoire.1024/0.png b/media/live2d/histoire/model/nep/histoire.1024/0.png new file mode 100644 index 0000000..d3403ac Binary files /dev/null and b/media/live2d/histoire/model/nep/histoire.1024/0.png differ diff --git a/media/live2d/histoire/model/nep/histoire.1024/1.png b/media/live2d/histoire/model/nep/histoire.1024/1.png new file mode 100644 index 0000000..4908457 Binary files /dev/null and b/media/live2d/histoire/model/nep/histoire.1024/1.png differ diff --git a/media/live2d/histoire/model/nep/histoire.1024/normal_2.png b/media/live2d/histoire/model/nep/histoire.1024/normal_2.png new file mode 100644 index 0000000..470672c Binary files /dev/null and b/media/live2d/histoire/model/nep/histoire.1024/normal_2.png differ diff --git a/media/live2d/histoire/model/nep/ico_histoire.png b/media/live2d/histoire/model/nep/ico_histoire.png new file mode 100644 index 0000000..9a21f94 Binary files /dev/null and b/media/live2d/histoire/model/nep/ico_histoire.png differ diff --git a/media/live2d/histoire/model/nep/model.json b/media/live2d/histoire/model/nep/model.json new file mode 100644 index 0000000..cf0ecb5 --- /dev/null +++ b/media/live2d/histoire/model/nep/model.json @@ -0,0 +1,58 @@ +{ + "version":"1.0.0", + "model":"model.moc", + "textures":[ + "histoire.1024/0.png", + "histoire.1024/1.png", + "histoire.1024/normal_2.png" + ], + "layout":{ + "center_x":0.0, + "center_y":-0.05, + "width":2.0 + }, + "hit_areas_custom":{ + "head_x":[-1, 1], + "head_y":[1, -1], + "body_x":[-1, -1], + "body_y":[1, -1] + }, + "motions":{ + "idle":[ + {"file":"motions/idle/idle_00.mtn"}, + {"file":"motions/idle/idle_01.mtn"}, + {"file":"motions/idle/idle_02.mtn"} + ], + "sleepy":[ + {"file":"motions/tap/shake.mtn"} + ], + "flick_head":[ + {"file":"motions/tap/refuse.mtn"}, + {"file":"motions/tap/nep_slide_head_2.mtn"}, + {"file":"motions/tap/nep_touch_belly_2.mtn"}, + {"file":"motions/tap/nep_touch_boobs_1.mtn"} + ], + "tap_body":[ + {"file":"motions/tap/smile.mtn"} + + ], + "talk":[ + {"file":"motions/tap/nep_touch_belly_1.mtn"}, + {"file":"motions/tap/nep_slide_head_2.mtn"}, + {"file":"motions/tap/nep_touch_head_1.mtn"} + + ], + "rest":[ + {"file":"motions/tap/tilt_head.mtn"}, + {"file":"motions/idle/idle_00.mtn"}, + {"file":"motions/idle/idle_01.mtn"}, + {"file":"motions/idle/idle_02.mtn"} + ], + "":[ + {"file":"motions/tap/nep_touch_belly_1.mtn"}, + {"file":"motions/tap/nep_slide_head_2.mtn"}, + {"file":"motions/tap/nep_touch_head_1.mtn"}, + {"file":"motions/tap/nep_touch_boobs_1.mtn"} + ] + } +} \ No newline at end of file diff --git a/media/live2d/histoire/model/nep/model.moc b/media/live2d/histoire/model/nep/model.moc new file mode 100644 index 0000000..315ebc4 Binary files /dev/null and b/media/live2d/histoire/model/nep/model.moc differ diff --git a/media/live2d/histoire/model/nep/motions/idle/idle_00.mtn b/media/live2d/histoire/model/nep/motions/idle/idle_00.mtn new file mode 100644 index 0000000..7d23b0f --- /dev/null +++ b/media/live2d/histoire/model/nep/motions/idle/idle_00.mtn @@ -0,0 +1,44 @@ +# Live2D Animator Motion Data +$fps=30 +PARAM_SHOULDER_X=0 +PARAM_MOUTH_OPEN_Y=0 +PARAM_FACE_COVER=0 +PARAM_FEAR=0 +PARAM_EYE_L_OPEN=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.82,0.54,0.27,0.08,0,0.07,0.21,0.38,0.57,0.73,0.87,0.97,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.82,0.54,0.27,0.08,0,0.07,0.21,0.38,0.57,0.73,0.87,0.97,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.82,0.54,0.27,0.08,0,0.07,0.21,0.38,0.57,0.73,0.87,0.97,1,1,1,1,1,1,1,1 +PARAM_EYE_L_SMILE=0 +PARAM_BROW_L_FORM=0 +PARAM_TEAR=0 +PARAM_BROW_L_X=0 +PARAM_BROW_DEFORMED=0 +PARAM_BROW_L_Y=0 +PARAM_EYE_R_SMILE=0 +PARAM_EYE_R_OPEN=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.82,0.54,0.27,0.08,0,0.07,0.21,0.38,0.57,0.73,0.87,0.97,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.82,0.54,0.27,0.08,0,0.07,0.21,0.38,0.57,0.73,0.87,0.97,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.82,0.54,0.27,0.08,0,0.07,0.21,0.38,0.57,0.73,0.87,0.97,1,1,1,1,1,1,1,1 +PARAM_HAIR_BACK=0 +PARAM_EYE_BALL_X=0,0,0.002,0.005,0.009,0.014,0.02,0.027,0.034,0.042,0.051,0.06,0.07,0.08,0.091,0.101,0.113,0.124,0.135,0.146,0.157,0.169,0.179,0.19,0.2,0.21,0.219,0.228,0.236,0.243,0.25,0.256,0.261,0.265,0.268,0.269,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.269,0.267,0.263,0.258,0.252,0.244,0.236,0.227,0.216,0.205,0.193,0.181,0.168,0.154,0.14,0.126,0.111,0.097,0.082,0.067,0.052,0.037,0.023,0.008,-0.006,-0.02,-0.033,-0.046,-0.059,-0.07,-0.081,-0.092,-0.101,-0.11,-0.117,-0.124,-0.13,-0.134,-0.137,-0.139,-0.14,-0.14,-0.14,-0.14,-0.14,-0.14,-0.139,-0.14,-0.138,-0.14,-0.136,-0.136,-0.135,-0.13,-0.133,-0.132,-0.131,-0.13,-0.129,-0.128,-0.127,-0.125,-0.124,-0.123,-0.121,-0.12,-0.119,-0.117,-0.115,-0.114,-0.112,-0.111,-0.109,-0.107,-0.106,-0.104,-0.102,-0.1,-0.098,-0.097,-0.095,-0.093,-0.091,-0.089,-0.087,-0.085,-0.083,-0.081,-0.079,-0.077,-0.075,-0.073,-0.071,-0.069,-0.067,-0.065,-0.063,-0.061,-0.059,-0.057,-0.055,-0.054,-0.052,-0.05,-0.048,-0.046,-0.044,-0.042,-0.04,-0.039,-0.037,-0.035,-0.033,-0.032,-0.03,-0.028,-0.027,-0.025,-0.024,-0.022,-0.021,-0.019,-0.018,-0.017,-0.015,-0.014,-0.013,-0.012,-0.01,-0.009,-0.008,-0.007,-0.006,-0.006,-0.005,-0,-0.003,-0.003,-0,-0.002,-0,-0.001,-0,-0,-0,-0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.006,-0.022,-0.05,-0.07,-0.11,-0.14,-0.17,-0.21,-0.24,-0.26,-0.29,-0.304,-0.316,-0.32,-0.318,-0.312,-0.303,-0.291,-0.277,-0.26,-0.243,-0.224,-0.204,-0.183,-0.16,-0.14,-0.122,-0.102,-0.084,-0.066,-0.05,-0.036,-0.024,-0.014,-0.006,-0.002,0 +PARAM_HAIR_FRONT=0 +PARAM_EYE_BALL_Y=0,0,0.002,0.003,0.006,0.009,0.013,0.017,0.021,0.027,0.032,0.038,0.044,0.051,0.057,0.064,0.071,0.078,0.085,0.092,0.099,0.106,0.113,0.119,0.126,0.132,0.138,0.143,0.149,0.153,0.157,0.161,0.164,0.167,0.168,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.167,0.164,0.159,0.153,0.146,0.138,0.13,0.12,0.11,0.099,0.087,0.075,0.063,0.05,0.037,0.023,0.009,-0.004,-0.018,-0.032,-0.046,-0.059,-0.073,-0.086,-0.099,-0.111,-0.123,-0.134,-0.145,-0.156,-0.165,-0.174,-0.182,-0.189,-0.195,-0.2,-0.204,-0.207,-0.209,-0.21,-0.21,-0.21,-0.21,-0.21,-0.209,-0.21,-0.207,-0.207,-0.206,-0.205,-0.204,-0.202,-0.201,-0.2,-0.198,-0.197,-0.195,-0.194,-0.192,-0.19,-0.188,-0.186,-0.184,-0.182,-0.18,-0.178,-0.176,-0.173,-0.171,-0.168,-0.166,-0.163,-0.161,-0.158,-0.156,-0.153,-0.15,-0.148,-0.145,-0.142,-0.139,-0.136,-0.133,-0.13,-0.128,-0.125,-0.122,-0.119,-0.116,-0.113,-0.11,-0.107,-0.104,-0.101,-0.098,-0.095,-0.092,-0.089,-0.086,-0.083,-0.08,-0.077,-0.075,-0.072,-0.069,-0.066,-0.063,-0.061,-0.058,-0.055,-0.053,-0.05,-0.047,-0.045,-0.042,-0.04,-0.038,-0.035,-0.033,-0.031,-0.029,-0.027,-0.025,-0.023,-0.021,-0.019,-0.017,-0.016,-0.014,-0.013,-0.011,-0.01,-0.008,-0.007,-0.006,-0.005,-0.004,-0.003,-0.003,-0.002,-0,-0.001,-0,-0,-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.002,0.005,0.011,0.018,0.026,0.035,0.043,0.051,0.059,0.066,0.072,0.076,0.079,0.08,0.079,0.078,0.076,0.073,0.069,0.065,0.061,0.056,0.051,0.046,0.041,0.035,0.03,0.026,0.021,0.017,0.013,0.009,0.006,0.003,0.002,0,0 +PARAM_BROW_L_ANGLE=0 +PARAM_EYE_DEFORMED_04=0 +PARAM_EYE_DEFORMED_03=0 +PARAM_EYE_DEFORMED_02=0 +PARAM_EYE_DEFORMED_01=0 +PARAM_ANGLE_Z=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.13,-0.52,-1.1,-1.88,-2.8,-3.84,-4.97,-6.14,-7.35,-8.55,-9.71,-10.8,-11.82,-12.72,-13.51,-14.14,-14.61,-14.9,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-14.9,-14.61,-14.14,-13.52,-12.76,-11.9,-10.9,-9.85,-8.73,-7.55,-6.37,-5.15,-3.95,-2.76,-1.6,-0.49,0.54,1.49,2.36,3.13,3.78,4.3,4.68,4.92,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4.83,4.38,3.73,2.92,2.03,1.09,0.14,-0.78,-1.64,-2.41,-3.05,-3.56,-3.89,-4,-3.97,-3.9,-3.78,-3.64,-3.46,-3.25,-3.03,-2.79,-2.54,-2.29,-2.03,-1.77,-1.52,-1.28,-1.05,-0.83,-0.63,-0.45,-0.3,-0.17,-0.08,-0.02,0 +PARAM_BODY_ANGLE_X=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.004,0.017,0.04,0.07,0.1,0.15,0.2,0.25,0.31,0.38,0.45,0.53,0.61,0.69,0.78,0.87,0.96,1.06,1.15,1.25,1.35,1.45,1.55,1.65,1.75,1.85,1.94,2.04,2.13,2.22,2.31,2.39,2.47,2.55,2.62,2.69,2.75,2.8,2.85,2.9,2.93,2.96,2.98,2.996,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2.97,2.88,2.74,2.56,2.33,2.07,1.77,1.45,1.12,0.77,0.41,0.04,-0.32,-0.67,-1.02,-1.35,-1.66,-1.95,-2.21,-2.44,-2.63,-2.79,-2.9,-2.98,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-2.993,-2.973,-2.94,-2.9,-2.84,-2.78,-2.7,-2.62,-2.53,-2.44,-2.33,-2.23,-2.11,-2,-1.88,-1.76,-1.64,-1.52,-1.39,-1.27,-1.15,-1.03,-0.92,-0.81,-0.7,-0.6,-0.51,-0.42,-0.34,-0.26,-0.2,-0.14,-0.09,-0.05,-0.02,-0.006,0 +PARAM_BODY_ANGLE_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.01,0.04,0.08,0.14,0.22,0.31,0.42,0.53,0.66,0.79,0.94,1.09,1.25,1.41,1.58,1.76,1.93,2.11,2.3,2.48,2.66,2.84,3.02,3.19,3.37,3.53,3.7,3.86,4.01,4.15,4.28,4.41,4.53,4.63,4.72,4.8,4.87,4.93,4.97,4.99,5,4.984,4.94,4.86,4.76,4.63,4.48,4.31,4.13,3.93,3.71,3.49,3.25,3.02,2.77,2.53,2.29,2.05,1.81,1.58,1.36,1.15,0.95,0.77,0.6,0.45,0.32,0.21,0.12,0.05,0.01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BODY_ANGLE_Z=0,-0.007,-0.027,-0.06,-0.1,-0.16,-0.22,-0.3,-0.38,-0.47,-0.57,-0.67,-0.78,-0.89,-1.01,-1.13,-1.25,-1.37,-1.5,-1.63,-1.75,-1.87,-1.99,-2.11,-2.22,-2.33,-2.43,-2.53,-2.62,-2.7,-2.78,-2.84,-2.9,-2.94,-2.97,-2.993,-3,-3,-3,-3,-3,-3,-3,-3,-2.994,-2.977,-2.95,-2.91,-2.87,-2.81,-2.75,-2.68,-2.61,-2.52,-2.44,-2.35,-2.25,-2.15,-2.05,-1.95,-1.84,-1.73,-1.62,-1.51,-1.41,-1.3,-1.19,-1.08,-0.98,-0.88,-0.78,-0.69,-0.6,-0.51,-0.43,-0.35,-0.28,-0.22,-0.17,-0.12,-0.08,-0.04,-0.02,-0.005,0,-0.006,-0.023,-0.05,-0.09,-0.14,-0.19,-0.26,-0.33,-0.42,-0.5,-0.6,-0.7,-0.81,-0.92,-1.04,-1.16,-1.28,-1.41,-1.54,-1.67,-1.8,-1.93,-2.07,-2.2,-2.33,-2.46,-2.59,-2.72,-2.84,-2.96,-3.08,-3.19,-3.3,-3.4,-3.5,-3.58,-3.67,-3.74,-3.81,-3.86,-3.91,-3.95,-3.98,-3.994,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-3.98,-3.92,-3.83,-3.7,-3.55,-3.38,-3.18,-2.97,-2.75,-2.51,-2.27,-2.03,-1.79,-1.55,-1.32,-1.1,-0.89,-0.7,-0.53,-0.37,-0.24,-0.14,-0.06,-0.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BROW_R_Y=0 +PARAM_ANGLE_Y=0,-0.03,-0.13,-0.28,-0.48,-0.73,-1.04,-1.38,-1.77,-2.19,-2.64,-3.12,-3.63,-4.16,-4.7,-5.26,-5.84,-6.42,-7,-7.58,-8.16,-8.74,-9.3,-9.84,-10.37,-10.88,-11.36,-11.81,-12.23,-12.62,-12.96,-13.27,-13.52,-13.72,-13.87,-13.97,-14,-14,-14,-14,-14,-14,-14,-14,-13.95,-13.79,-13.53,-13.19,-12.76,-12.25,-11.67,-11.03,-10.33,-9.56,-8.75,-7.91,-7.01,-6.09,-5.14,-4.17,-3.17,-2.17,-1.15,-0.12,0.88,1.9,2.89,3.89,4.85,5.79,6.72,7.59,8.43,9.23,9.99,10.69,11.34,11.92,12.44,12.9,13.29,13.59,13.81,13.95,14,13.989,13.95,13.9,13.82,13.72,13.61,13.47,13.32,13.15,12.96,12.76,12.54,12.31,12.07,11.81,11.55,11.27,10.98,10.68,10.37,10.05,9.73,9.41,9.07,8.74,8.39,8.05,7.7,7.35,7,6.65,6.3,5.95,5.61,5.26,4.93,4.59,4.27,3.95,3.63,3.32,3.02,2.73,2.45,2.19,1.93,1.69,1.46,1.24,1.04,0.85,0.68,0.53,0.39,0.28,0.18,0.1,0.05,0.01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BREATH=0 +PARAM_BROW_R_X=0 +PARAM_ANGLE_X=0,-0.005,-0.018,-0.04,-0.07,-0.1,-0.15,-0.2,-0.25,-0.31,-0.38,-0.45,-0.52,-0.59,-0.67,-0.75,-0.83,-0.92,-1,-1.08,-1.17,-1.25,-1.33,-1.41,-1.48,-1.55,-1.62,-1.69,-1.75,-1.8,-1.85,-1.9,-1.93,-1.96,-1.98,-1.995,-2,-2,-2,-2,-2,-2,-2,-2,-1.996,-1.985,-1.967,-1.94,-1.91,-1.87,-1.83,-1.79,-1.74,-1.68,-1.62,-1.56,-1.5,-1.43,-1.37,-1.3,-1.23,-1.15,-1.08,-1.01,-0.94,-0.86,-0.79,-0.72,-0.65,-0.59,-0.52,-0.46,-0.4,-0.34,-0.29,-0.24,-0.19,-0.15,-0.11,-0.08,-0.05,-0.03,-0.013,-0.003,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_ARM_R=-2,-2.011,-2.04,-2.1,-2.17,-2.26,-2.37,-2.49,-2.63,-2.78,-2.94,-3.12,-3.3,-3.49,-3.68,-3.88,-4.08,-4.29,-4.5,-4.71,-4.92,-5.12,-5.32,-5.51,-5.7,-5.88,-6.06,-6.22,-6.37,-6.51,-6.63,-6.74,-6.83,-6.9,-6.96,-6.99,-7,-7,-7,-7,-7,-7,-7,-7,-6.987,-6.95,-6.88,-6.8,-6.69,-6.56,-6.42,-6.26,-6.08,-5.89,-5.69,-5.48,-5.25,-5.02,-4.79,-4.54,-4.29,-4.04,-3.79,-3.53,-3.28,-3.02,-2.78,-2.53,-2.29,-2.05,-1.82,-1.6,-1.39,-1.19,-1,-0.83,-0.66,-0.52,-0.39,-0.27,-0.18,-0.1,-0.05,-0.01,0,-0.006,-0.025,-0.06,-0.1,-0.15,-0.21,-0.27,-0.35,-0.43,-0.52,-0.61,-0.7,-0.79,-0.89,-0.99,-1.08,-1.18,-1.28,-1.37,-1.46,-1.54,-1.62,-1.69,-1.76,-1.82,-1.87,-1.92,-1.95,-1.98,-1.995,-2,-1.982,-1.93,-1.85,-1.75,-1.63,-1.49,-1.34,-1.18,-1.02,-0.86,-0.71,-0.56,-0.42,-0.3,-0.2,-0.11,-0.05,-0.01,0,-0.003,-0.01,-0.022,-0.04,-0.06,-0.09,-0.12,-0.15,-0.18,-0.22,-0.27,-0.31,-0.36,-0.41,-0.46,-0.52,-0.57,-0.63,-0.69,-0.75,-0.81,-0.87,-0.93,-0.99,-1.05,-1.12,-1.18,-1.24,-1.29,-1.35,-1.41,-1.47,-1.52,-1.57,-1.62,-1.67,-1.71,-1.76,-1.8,-1.83,-1.87,-1.9,-1.92,-1.95,-1.965,-1.98,-1.991,-1.998,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +PARAM_ARM_L=-2,-2.011,-2.04,-2.1,-2.17,-2.26,-2.37,-2.49,-2.63,-2.78,-2.94,-3.12,-3.3,-3.49,-3.68,-3.88,-4.08,-4.29,-4.5,-4.71,-4.92,-5.12,-5.32,-5.51,-5.7,-5.88,-6.06,-6.22,-6.37,-6.51,-6.63,-6.74,-6.83,-6.9,-6.96,-6.99,-7,-7,-7,-7,-7,-7,-7,-7,-6.987,-6.95,-6.88,-6.8,-6.69,-6.56,-6.42,-6.26,-6.08,-5.89,-5.69,-5.48,-5.25,-5.02,-4.79,-4.54,-4.29,-4.04,-3.79,-3.53,-3.28,-3.02,-2.78,-2.53,-2.29,-2.05,-1.82,-1.6,-1.39,-1.19,-1,-0.83,-0.66,-0.52,-0.39,-0.27,-0.18,-0.1,-0.05,-0.01,0,-0.006,-0.025,-0.06,-0.1,-0.15,-0.21,-0.27,-0.35,-0.43,-0.52,-0.61,-0.7,-0.79,-0.89,-0.99,-1.08,-1.18,-1.28,-1.37,-1.46,-1.54,-1.62,-1.69,-1.76,-1.82,-1.87,-1.92,-1.95,-1.98,-1.995,-2,-1.982,-1.93,-1.85,-1.75,-1.63,-1.49,-1.34,-1.18,-1.02,-0.86,-0.71,-0.56,-0.42,-0.3,-0.2,-0.11,-0.05,-0.01,0,-0.003,-0.01,-0.022,-0.04,-0.06,-0.09,-0.12,-0.15,-0.18,-0.22,-0.27,-0.31,-0.36,-0.41,-0.46,-0.52,-0.57,-0.63,-0.69,-0.75,-0.81,-0.87,-0.93,-0.99,-1.05,-1.12,-1.18,-1.24,-1.29,-1.35,-1.41,-1.47,-1.52,-1.57,-1.62,-1.67,-1.71,-1.76,-1.8,-1.83,-1.87,-1.9,-1.92,-1.95,-1.965,-1.98,-1.991,-1.998,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +PARAM_MOUTH_FORM=-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-0.85,-0.5,-0.06,0.37,0.71,0.93,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.997,0.99,0.978,0.96,0.94,0.91,0.88,0.85,0.82,0.78,0.73,0.69,0.64,0.59,0.54,0.48,0.43,0.37,0.31,0.25,0.19,0.13,0.07,0.01,-0.05,-0.12,-0.18,-0.24,-0.29,-0.35,-0.41,-0.47,-0.52,-0.57,-0.62,-0.67,-0.71,-0.76,-0.8,-0.83,-0.87,-0.9,-0.92,-0.95,-0.965,-0.98,-0.991,-0.998,-1 +PARAM_HAIR_SIDE=0 +PARAM_EYE_BALL_FORM=0 +PARAM_BROW_R_ANGLE=0 +PARAM_SWEAT=0 +PARAM_BROW_R_FORM=0 +PARAM_TERE=0 +PARAM_EYE_BALL_GLITTER=0 +PARAM_STRING=0 \ No newline at end of file diff --git a/media/live2d/histoire/model/nep/motions/idle/idle_01.mtn b/media/live2d/histoire/model/nep/motions/idle/idle_01.mtn new file mode 100644 index 0000000..67bcd63 --- /dev/null +++ b/media/live2d/histoire/model/nep/motions/idle/idle_01.mtn @@ -0,0 +1,44 @@ +# Live2D Animator Motion Data +$fps=30 +PARAM_SHOULDER_X=0 +PARAM_MOUTH_OPEN_Y=0 +PARAM_FACE_COVER=0 +PARAM_FEAR=0 +PARAM_EYE_L_OPEN=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.82,0.54,0.27,0.08,0,0.07,0.21,0.38,0.57,0.73,0.87,0.97,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.82,0.54,0.27,0.08,0,0.07,0.21,0.38,0.57,0.73,0.87,0.97,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.82,0.54,0.27,0.08,0,0.07,0.21,0.38,0.57,0.73,0.87,0.97,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_EYE_L_SMILE=0 +PARAM_BROW_L_FORM=0 +PARAM_TEAR=0 +PARAM_BROW_L_X=0 +PARAM_BROW_DEFORMED=0 +PARAM_BROW_L_Y=0 +PARAM_EYE_R_SMILE=0 +PARAM_EYE_R_OPEN=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.82,0.54,0.27,0.08,0,0.07,0.21,0.38,0.57,0.73,0.87,0.97,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.82,0.54,0.27,0.08,0,0.07,0.21,0.38,0.57,0.73,0.87,0.97,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.82,0.54,0.27,0.08,0,0.07,0.21,0.38,0.57,0.73,0.87,0.97,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_HAIR_BACK=0 +PARAM_EYE_BALL_X=0,-0,-0,-0.002,-0.003,-0.004,-0.006,-0.008,-0.011,-0.013,-0.016,-0.019,-0.023,-0.026,-0.03,-0.034,-0.038,-0.042,-0.046,-0.051,-0.056,-0.06,-0.065,-0.07,-0.075,-0.08,-0.084,-0.089,-0.094,-0.099,-0.104,-0.109,-0.114,-0.118,-0.123,-0.128,-0.132,-0.136,-0.14,-0.145,-0.148,-0.152,-0.156,-0.159,-0.162,-0.165,-0.168,-0.17,-0.172,-0.174,-0.176,-0.177,-0.179,-0.179,-0.18,-0.18,-0.18,-0.18,-0.18,-0.178,-0.177,-0.176,-0.175,-0.173,-0.172,-0.17,-0.168,-0.165,-0.163,-0.16,-0.157,-0.154,-0.151,-0.147,-0.143,-0.139,-0.135,-0.131,-0.126,-0.121,-0.117,-0.111,-0.106,-0.101,-0.095,-0.089,-0.083,-0.077,-0.07,-0.063,-0.057,-0.05,-0.042,-0.035,-0.027,-0.019,-0.011,-0.003,0.005,0.014,0.023,0.031,0.041,0.05,0.059,0.069,0.079,0.089,0.099,0.11,0.12,0.131,0.142,0.153,0.164,0.176,0.188,0.2,0.212,0.224,0.236,0.249,0.262,0.275,0.288,0.301,0.315,0.328,0.342,0.356,0.37,0.385,0.399,0.412,0.424,0.435,0.445,0.455,0.463,0.471,0.479,0.485,0.491,0.496,0.501,0.505,0.509,0.512,0.514,0.516,0.518,0.519,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.52,0.519,0.515,0.509,0.501,0.491,0.48,0.466,0.452,0.436,0.42,0.402,0.384,0.365,0.346,0.327,0.308,0.29,0.271,0.253,0.236,0.22,0.204,0.19,0.177,0.165,0.155,0.146,0.139,0.134,0.131,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13,0.13 +PARAM_HAIR_FRONT=0 +PARAM_EYE_BALL_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.001,0,0,0.002,0,0.003,0,0.004,0.005,0.01,0.007,0.007,0.008,0.009,0.01,0.011,0.012,0.013,0.015,0.016,0.017,0.019,0.02,0.022,0.023,0.025,0.027,0.029,0.03,0.032,0.034,0.037,0.039,0.041,0.043,0.046,0.048,0.051,0.053,0.056,0.059,0.062,0.065,0.068,0.071,0.074,0.078,0.081,0.084,0.088,0.092,0.096,0.099,0.103,0.108,0.112,0.116,0.12,0.125,0.129,0.134,0.139,0.144,0.149,0.154,0.159,0.165,0.17,0.177,0.185,0.194,0.205,0.216,0.227,0.24,0.252,0.265,0.277,0.289,0.301,0.313,0.324,0.335,0.344,0.353,0.361,0.367,0.373,0.377,0.379,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.381,0.38,0.383,0.384,0.385,0.387,0.389,0.39,0.392,0.394,0.396,0.398,0.4,0.402,0.404,0.406,0.407,0.409,0.411,0.412,0.414,0.415,0.416,0.417,0.418,0.419,0.42,0.42,0.42,0.42,0.42,0.42,0.42,0.42,0.42,0.42,0.42,0.42,0.42,0.42,0.42,0.42,0.42,0.42,0.42,0.42,0.42,0.42,0.42,0.42,0.42,0.42,0.42,0.42,0.42,0.42,0.42,0.42,0.42,0.42,0.42 +PARAM_BROW_L_ANGLE=0 +PARAM_EYE_DEFORMED_04=0 +PARAM_EYE_DEFORMED_03=0 +PARAM_EYE_DEFORMED_02=0 +PARAM_EYE_DEFORMED_01=0 +PARAM_ANGLE_Z=0,-0.009,-0.04,-0.08,-0.14,-0.22,-0.31,-0.41,-0.53,-0.67,-0.81,-0.97,-1.14,-1.31,-1.5,-1.69,-1.9,-2.11,-2.32,-2.55,-2.78,-3.01,-3.25,-3.49,-3.73,-3.98,-4.22,-4.47,-4.72,-4.96,-5.21,-5.45,-5.69,-5.92,-6.15,-6.38,-6.6,-6.82,-7.02,-7.23,-7.42,-7.61,-7.78,-7.95,-8.11,-8.25,-8.39,-8.51,-8.62,-8.72,-8.8,-8.87,-8.93,-8.97,-8.99,-9,-8.87,-8.51,-7.92,-7.19,-6.28,-5.27,-4.16,-2.97,-1.72,-0.46,0.84,2.13,3.38,4.62,5.77,6.86,7.85,8.74,9.51,10.14,10.61,10.9,11,10.91,10.65,10.23,9.67,9,8.21,7.33,6.37,5.34,4.27,3.15,2.01,0.83,-0.35,-1.53,-2.69,-3.83,-4.94,-6,-7.01,-7.94,-8.81,-9.6,-10.29,-10.88,-11.35,-11.71,-11.93,-12,-11.84,-11.38,-10.66,-9.74,-8.6,-7.34,-5.95,-4.47,-2.9,-1.33,0.3,1.91,3.48,5.02,6.46,7.82,9.07,10.18,11.14,11.93,12.51,12.87,13,12.92,12.68,12.3,11.82,11.23,10.58,9.85,9.08,8.27,7.45,6.6,5.77,4.95,4.15,3.4,2.69,2.05,1.47,0.97,0.56,0.25,0.07,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.02,-0.09,-0.2,-0.35,-0.53,-0.75,-1,-1.27,-1.57,-1.9,-2.25,-2.61,-3,-3.39,-3.8,-4.21,-4.64,-5.07,-5.51,-5.95,-6.38,-6.82,-7.24,-7.67,-8.08,-8.48,-8.88,-9.25,-9.61,-9.96,-10.28,-10.58,-10.86,-11.11,-11.33,-11.53,-11.69,-11.83,-11.92,-11.98,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12 +PARAM_BODY_ANGLE_X=0,-0.002,-0.008,-0.018,-0.031,-0.048,-0.069,-0.09,-0.12,-0.15,-0.18,-0.21,-0.25,-0.29,-0.33,-0.38,-0.42,-0.47,-0.52,-0.57,-0.62,-0.67,-0.72,-0.78,-0.83,-0.88,-0.94,-0.99,-1.05,-1.1,-1.16,-1.21,-1.26,-1.32,-1.37,-1.42,-1.47,-1.51,-1.56,-1.61,-1.65,-1.69,-1.73,-1.77,-1.8,-1.83,-1.86,-1.89,-1.92,-1.94,-1.956,-1.972,-1.984,-1.993,-1.998,-2,-1.96,-1.85,-1.68,-1.46,-1.18,-0.88,-0.55,-0.19,0.18,0.56,0.95,1.34,1.71,2.09,2.43,2.76,3.06,3.32,3.55,3.74,3.88,3.97,4,3.98,3.91,3.8,3.65,3.48,3.27,3.04,2.79,2.52,2.24,1.95,1.65,1.35,1.04,0.73,0.43,0.13,-0.16,-0.44,-0.7,-0.94,-1.17,-1.37,-1.55,-1.71,-1.83,-1.92,-1.98,-2,-1.97,-1.88,-1.73,-1.55,-1.32,-1.07,-0.79,-0.49,-0.18,0.13,0.46,0.78,1.1,1.4,1.69,1.96,2.21,2.44,2.63,2.79,2.9,2.97,3,2.97,2.9,2.78,2.64,2.46,2.25,2.03,1.79,1.54,1.29,1.03,0.77,0.52,0.28,0.05,-0.17,-0.37,-0.55,-0.7,-0.83,-0.92,-0.98,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-0.99,-0.96,-0.92,-0.85,-0.78,-0.69,-0.59,-0.48,-0.36,-0.23,-0.09,0.05,0.19,0.34,0.48,0.63,0.77,0.91,1.05,1.18,1.31,1.43,1.54,1.64,1.73,1.81,1.88,1.93,1.97,1.99,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 +PARAM_BODY_ANGLE_Y=0 +PARAM_BODY_ANGLE_Z=0,0.003,0.012,0.027,0.05,0.07,0.1,0.14,0.18,0.22,0.27,0.32,0.38,0.44,0.5,0.56,0.63,0.7,0.77,0.85,0.93,1,1.08,1.16,1.24,1.33,1.41,1.49,1.57,1.65,1.74,1.82,1.9,1.97,2.05,2.13,2.2,2.27,2.34,2.41,2.47,2.54,2.59,2.65,2.7,2.75,2.8,2.84,2.87,2.91,2.93,2.96,2.976,2.989,2.997,3,2.96,2.85,2.68,2.46,2.18,1.88,1.55,1.19,0.82,0.44,0.05,-0.34,-0.71,-1.09,-1.43,-1.76,-2.06,-2.32,-2.55,-2.74,-2.88,-2.97,-3,-2.98,-2.91,-2.8,-2.65,-2.48,-2.27,-2.04,-1.79,-1.52,-1.24,-0.95,-0.65,-0.35,-0.04,0.27,0.57,0.87,1.16,1.44,1.7,1.94,2.17,2.37,2.55,2.71,2.83,2.92,2.98,3,2.97,2.88,2.73,2.55,2.32,2.07,1.79,1.49,1.18,0.87,0.54,0.22,-0.1,-0.4,-0.69,-0.96,-1.21,-1.44,-1.63,-1.79,-1.9,-1.97,-2,-1.97,-1.9,-1.78,-1.64,-1.46,-1.25,-1.03,-0.79,-0.54,-0.29,-0.03,0.23,0.48,0.72,0.95,1.17,1.37,1.55,1.7,1.83,1.92,1.98,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1.994,1.975,1.94,1.9,1.85,1.79,1.73,1.65,1.57,1.48,1.39,1.3,1.21,1.11,1.01,0.92,0.82,0.72,0.63,0.54,0.46,0.38,0.31,0.24,0.18,0.13,0.08,0.05,0.02,0.005,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BROW_R_Y=0 +PARAM_ANGLE_Y=0,-0.001,-0.004,-0.009,-0.016,-0.024,-0.034,-0.046,-0.059,-0.074,-0.09,-0.107,-0.126,-0.146,-0.17,-0.19,-0.21,-0.23,-0.26,-0.28,-0.31,-0.33,-0.36,-0.39,-0.41,-0.44,-0.47,-0.5,-0.52,-0.55,-0.58,-0.61,-0.63,-0.66,-0.68,-0.71,-0.73,-0.76,-0.78,-0.8,-0.82,-0.85,-0.865,-0.883,-0.901,-0.917,-0.932,-0.946,-0.958,-0.969,-0.978,-0.986,-0.992,-0.996,-0.999,-1,-0.94,-0.75,-0.46,-0.09,0.36,0.86,1.42,2.01,2.64,3.27,3.92,4.56,5.19,5.81,6.39,6.93,7.43,7.87,8.26,8.57,8.8,8.95,9,8.92,8.71,8.36,7.9,7.35,6.7,5.97,5.18,4.33,3.44,2.51,1.57,0.6,-0.37,-1.35,-2.31,-3.25,-4.17,-5.05,-5.88,-6.65,-7.37,-8.02,-8.59,-9.08,-9.47,-9.76,-9.94,-10,-9.88,-9.53,-8.98,-8.28,-7.42,-6.46,-5.4,-4.27,-3.09,-1.89,-0.65,0.57,1.76,2.94,4.03,5.06,6.01,6.86,7.59,8.18,8.63,8.9,9,8.92,8.7,8.35,7.91,7.37,6.76,6.1,5.38,4.63,3.88,3.1,2.32,1.57,0.83,0.14,-0.51,-1.11,-1.65,-2.11,-2.48,-2.77,-2.94,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3.016,-3.06,-3.14,-3.24,-3.37,-3.52,-3.69,-3.87,-4.07,-4.29,-4.51,-4.75,-4.98,-5.23,-5.47,-5.71,-5.95,-6.19,-6.42,-6.64,-6.85,-7.05,-7.23,-7.4,-7.55,-7.68,-7.79,-7.88,-7.95,-7.99,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8 +PARAM_BREATH=0 +PARAM_BROW_R_X=0 +PARAM_ANGLE_X=0,-0.01,-0.04,-0.09,-0.16,-0.24,-0.34,-0.46,-0.59,-0.74,-0.9,-1.07,-1.26,-1.46,-1.66,-1.88,-2.11,-2.34,-2.58,-2.83,-3.09,-3.34,-3.61,-3.88,-4.15,-4.42,-4.69,-4.96,-5.24,-5.51,-5.78,-6.05,-6.32,-6.58,-6.84,-7.09,-7.33,-7.57,-7.81,-8.03,-8.25,-8.45,-8.65,-8.83,-9.01,-9.17,-9.32,-9.46,-9.58,-9.69,-9.78,-9.86,-9.92,-9.96,-9.99,-10,-9.94,-9.75,-9.46,-9.09,-8.64,-8.14,-7.58,-6.99,-6.36,-5.73,-5.08,-4.44,-3.81,-3.19,-2.61,-2.07,-1.57,-1.13,-0.74,-0.43,-0.2,-0.05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.04,0.15,0.32,0.54,0.82,1.12,1.45,1.81,2.18,2.56,2.95,3.34,3.71,4.09,4.43,4.76,5.06,5.32,5.55,5.74,5.88,5.97,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5.95,5.82,5.61,5.32,4.96,4.55,4.08,3.55,3,2.39,1.76,1.11,0.45,-0.23,-0.92,-1.59,-2.27,-2.93,-3.57,-4.19,-4.78,-5.33,-5.85,-6.33,-6.75,-7.11,-7.42,-7.67,-7.85,-7.96,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8 +PARAM_ARM_R=0,0,0,0,0,0.02,0.07,0.16,0.26,0.38,0.5,0.62,0.74,0.84,0.93,0.98,1,0.987,0.95,0.9,0.83,0.74,0.65,0.56,0.46,0.37,0.28,0.2,0.13,0.08,0.04,0.01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.16,0.56,1.11,1.75,2.41,3.07,3.69,4.21,4.63,4.9,5,4.94,4.77,4.51,4.19,3.82,3.42,2.99,2.56,2.12,1.71,1.31,0.95,0.63,0.37,0.17,0.04,0,0.08,0.29,0.63,1.04,1.5,2,2.5,2.96,3.38,3.71,3.92,4,3.95,3.81,3.59,3.3,2.98,2.61,2.24,1.86,1.49,1.14,0.82,0.54,0.31,0.14,0.04,0,0.06,0.22,0.47,0.78,1.13,1.5,1.87,2.22,2.53,2.78,2.94,3,2.94,2.78,2.53,2.22,1.87,1.5,1.13,0.78,0.47,0.22,0.06,0,0.06,0.22,0.47,0.78,1.13,1.5,1.87,2.22,2.53,2.78,2.94,3,2.97,2.89,2.77,2.61,2.43,2.23,2.01,1.79,1.55,1.32,1.09,0.87,0.66,0.46,0.28,0.13,0,-0.12,-0.23,-0.34,-0.45,-0.55,-0.64,-0.73,-0.82,-0.91,-0.99,-1.06,-1.13,-1.2,-1.27,-1.33,-1.39,-1.44,-1.5,-1.54,-1.59,-1.63,-1.67,-1.71,-1.74,-1.78,-1.8,-1.83,-1.86,-1.88,-1.898,-1.916,-1.932,-1.946,-1.958,-1.969,-1.978,-1.985,-1.991,-1.995,-1.998,-1.999,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-1.97,-1.91,-1.8,-1.68,-1.53,-1.37,-1.2,-1.02,-0.85,-0.68,-0.53,-0.38,-0.25,-0.15,-0.07,-0.02,0,-0.01,-0.04,-0.09,-0.15,-0.22,-0.31,-0.41,-0.52,-0.63,-0.74,-0.86,-0.99,-1.11,-1.22,-1.34,-1.45,-1.55,-1.65,-1.74,-1.81,-1.88,-1.93,-1.97,-1.99,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +PARAM_ARM_L=0,0,0,0,0,0.02,0.07,0.16,0.26,0.38,0.5,0.62,0.74,0.84,0.93,0.98,1,0.987,0.95,0.9,0.83,0.74,0.65,0.56,0.46,0.37,0.28,0.2,0.13,0.08,0.04,0.01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.16,0.56,1.11,1.75,2.41,3.07,3.69,4.21,4.63,4.9,5,4.94,4.77,4.51,4.19,3.82,3.42,2.99,2.56,2.12,1.71,1.31,0.95,0.63,0.37,0.17,0.04,0,0.08,0.29,0.63,1.04,1.5,2,2.5,2.96,3.38,3.71,3.92,4,3.95,3.81,3.59,3.3,2.98,2.61,2.24,1.86,1.49,1.14,0.82,0.54,0.31,0.14,0.04,0,0.06,0.22,0.47,0.78,1.13,1.5,1.87,2.22,2.53,2.78,2.94,3,2.94,2.78,2.53,2.22,1.87,1.5,1.13,0.78,0.47,0.22,0.06,0,0.06,0.22,0.47,0.78,1.13,1.5,1.87,2.22,2.53,2.78,2.94,3,2.97,2.89,2.77,2.61,2.43,2.23,2.01,1.79,1.55,1.32,1.09,0.87,0.66,0.46,0.28,0.13,0,-0.12,-0.23,-0.34,-0.45,-0.55,-0.64,-0.73,-0.82,-0.91,-0.99,-1.06,-1.13,-1.2,-1.27,-1.33,-1.39,-1.44,-1.5,-1.54,-1.59,-1.63,-1.67,-1.71,-1.74,-1.78,-1.8,-1.83,-1.86,-1.88,-1.898,-1.916,-1.932,-1.946,-1.958,-1.969,-1.978,-1.985,-1.991,-1.995,-1.998,-1.999,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-1.97,-1.91,-1.8,-1.68,-1.53,-1.37,-1.2,-1.02,-0.85,-0.68,-0.53,-0.38,-0.25,-0.15,-0.07,-0.02,0,-0.01,-0.04,-0.09,-0.15,-0.22,-0.31,-0.41,-0.52,-0.63,-0.74,-0.86,-0.99,-1.11,-1.22,-1.34,-1.45,-1.55,-1.65,-1.74,-1.81,-1.88,-1.93,-1.97,-1.99,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +PARAM_MOUTH_FORM=1 +PARAM_HAIR_SIDE=0 +PARAM_EYE_BALL_FORM=0 +PARAM_BROW_R_ANGLE=0 +PARAM_SWEAT=0 +PARAM_BROW_R_FORM=0 +PARAM_TERE=0 +PARAM_EYE_BALL_GLITTER=0 +PARAM_STRING=0 \ No newline at end of file diff --git a/media/live2d/histoire/model/nep/motions/idle/idle_02.mtn b/media/live2d/histoire/model/nep/motions/idle/idle_02.mtn new file mode 100644 index 0000000..f307914 --- /dev/null +++ b/media/live2d/histoire/model/nep/motions/idle/idle_02.mtn @@ -0,0 +1,44 @@ +# Live2D Animator Motion Data +$fps=30 +PARAM_SHOULDER_X=0 +PARAM_MOUTH_OPEN_Y=0 +PARAM_FACE_COVER=0 +PARAM_FEAR=0 +PARAM_EYE_L_OPEN=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.82,0.54,0.27,0.08,0,0.07,0.25,0.47,0.68,0.85,0.96,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.93,0.75,0.53,0.32,0.15,0.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.03,0.12,0.25,0.4,0.56,0.7,0.83,0.92,0.98,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_EYE_L_SMILE=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.07,0.25,0.47,0.68,0.85,0.96,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.97,0.88,0.75,0.6,0.44,0.3,0.17,0.08,0.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BROW_L_FORM=0 +PARAM_TEAR=0 +PARAM_BROW_L_X=0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26 +PARAM_BROW_DEFORMED=0 +PARAM_BROW_L_Y=0 +PARAM_EYE_R_SMILE=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.07,0.25,0.47,0.68,0.85,0.96,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.97,0.88,0.75,0.6,0.44,0.3,0.17,0.08,0.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_EYE_R_OPEN=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.82,0.54,0.27,0.08,0,0.07,0.25,0.47,0.68,0.85,0.96,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.93,0.75,0.53,0.32,0.15,0.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.03,0.12,0.25,0.4,0.56,0.7,0.83,0.92,0.98,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_HAIR_BACK=0 +PARAM_EYE_BALL_X=-0.4,-0.4,-0.4,-0.4,-0.399,-0.398,-0.4,-0.396,-0.395,-0.394,-0.392,-0.391,-0.389,-0.387,-0.385,-0.383,-0.381,-0.378,-0.376,-0.373,-0.37,-0.368,-0.365,-0.362,-0.358,-0.355,-0.352,-0.348,-0.345,-0.341,-0.338,-0.334,-0.33,-0.326,-0.322,-0.318,-0.314,-0.309,-0.305,-0.301,-0.296,-0.292,-0.287,-0.283,-0.278,-0.273,-0.269,-0.264,-0.259,-0.254,-0.249,-0.245,-0.24,-0.235,-0.23,-0.225,-0.22,-0.215,-0.21,-0.205,-0.2,-0.195,-0.19,-0.185,-0.18,-0.175,-0.17,-0.165,-0.16,-0.155,-0.151,-0.146,-0.141,-0.136,-0.131,-0.127,-0.122,-0.117,-0.113,-0.108,-0.104,-0.099,-0.095,-0.091,-0.086,-0.082,-0.078,-0.074,-0.07,-0.066,-0.063,-0.059,-0.055,-0.052,-0.048,-0.045,-0.042,-0.038,-0.035,-0.032,-0.03,-0.027,-0.024,-0.022,-0.019,-0.017,-0.015,-0.013,-0.011,-0.009,-0.008,-0.006,-0.005,-0.004,-0.003,-0,-0.001,-0.001,-0,-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_HAIR_FRONT=0 +PARAM_EYE_BALL_Y=0.25,0.25,0.25,0.25,0.25,0.249,0.25,0.248,0.247,0.246,0.25,0.244,0.243,0.242,0.241,0.239,0.238,0.236,0.235,0.233,0.231,0.23,0.228,0.226,0.224,0.222,0.22,0.218,0.216,0.213,0.211,0.209,0.206,0.204,0.201,0.199,0.196,0.193,0.191,0.188,0.185,0.182,0.18,0.177,0.174,0.171,0.168,0.165,0.162,0.159,0.156,0.153,0.15,0.147,0.144,0.141,0.137,0.134,0.131,0.128,0.125,0.122,0.119,0.116,0.113,0.109,0.106,0.103,0.1,0.097,0.094,0.091,0.088,0.085,0.082,0.079,0.076,0.073,0.07,0.068,0.065,0.062,0.059,0.057,0.054,0.051,0.049,0.046,0.044,0.041,0.039,0.037,0.034,0.032,0.03,0.028,0.026,0.024,0.022,0.02,0.019,0.017,0.015,0.014,0.012,0.011,0.009,0.008,0.007,0.006,0.005,0,0.003,0.002,0.002,0,0.001,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BROW_L_ANGLE=0 +PARAM_EYE_DEFORMED_04=0 +PARAM_EYE_DEFORMED_03=0 +PARAM_EYE_DEFORMED_02=0 +PARAM_EYE_DEFORMED_01=0 +PARAM_ANGLE_Z=0,-0.09,-0.33,-0.71,-1.22,-1.82,-2.53,-3.31,-4.15,-5.03,-5.97,-6.91,-7.89,-8.87,-9.83,-10.77,-11.69,-12.56,-13.38,-14.15,-14.85,-15.46,-15.99,-16.41,-16.73,-16.93,-17,-17,-17,-17,-17,-16.91,-16.65,-16.23,-15.67,-14.99,-14.19,-13.28,-12.28,-11.23,-10.08,-8.9,-7.68,-6.41,-5.13,-3.82,-2.51,-1.22,0.05,1.31,2.52,3.7,4.82,5.86,6.85,7.75,8.55,9.27,9.87,10.35,10.7,10.92,11,11,11,11,11,11,11,11,11,10.94,10.79,10.53,10.19,9.77,9.29,8.75,8.17,7.55,6.9,6.26,5.58,4.92,4.27,3.63,3.02,2.45,1.93,1.45,1.03,0.67,0.39,0.18,0.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.07,-0.27,-0.59,-1.01,-1.53,-2.14,-2.83,-3.57,-4.38,-5.22,-6.11,-7.01,-7.93,-8.85,-9.75,-10.65,-11.53,-12.35,-13.14,-13.88,-14.56,-15.16,-15.7,-16.16,-16.51,-16.78,-16.95,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-16.89,-16.56,-16.04,-15.34,-14.48,-13.48,-12.34,-11.11,-9.79,-8.41,-6.93,-5.45,-3.94,-2.43,-0.94,0.53,1.99,3.35,4.65,5.86,6.99,7.98,8.86,9.61,10.2,10.64,10.91,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11 +PARAM_BODY_ANGLE_X=0,-0.006,-0.025,-0.06,-0.1,-0.15,-0.21,-0.28,-0.35,-0.43,-0.52,-0.61,-0.7,-0.8,-0.9,-1,-1.1,-1.2,-1.3,-1.39,-1.48,-1.57,-1.65,-1.72,-1.79,-1.85,-1.9,-1.94,-1.97,-1.994,-2,-1.99,-1.96,-1.92,-1.85,-1.78,-1.69,-1.59,-1.48,-1.36,-1.23,-1.09,-0.95,-0.81,-0.66,-0.52,-0.37,-0.23,-0.09,0.05,0.18,0.31,0.43,0.54,0.64,0.73,0.81,0.88,0.93,0.97,0.99,1,0.998,0.992,0.983,0.971,0.956,0.937,0.92,0.89,0.87,0.84,0.81,0.78,0.75,0.72,0.68,0.65,0.61,0.58,0.54,0.5,0.47,0.43,0.4,0.36,0.33,0.29,0.26,0.23,0.2,0.17,0.14,0.12,0.09,0.074,0.056,0.039,0.025,0.015,0.007,0.002,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.005,-0.021,-0.05,-0.08,-0.12,-0.17,-0.23,-0.3,-0.36,-0.44,-0.52,-0.6,-0.69,-0.77,-0.86,-0.95,-1.05,-1.14,-1.23,-1.31,-1.4,-1.48,-1.56,-1.64,-1.7,-1.77,-1.83,-1.88,-1.92,-1.95,-1.98,-1.995,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-1.981,-1.93,-1.85,-1.74,-1.61,-1.46,-1.28,-1.1,-0.9,-0.69,-0.47,-0.24,0,0.24,0.49,0.74,1,1.26,1.5,1.71,1.91,2.08,2.24,2.38,2.5,2.61,2.7,2.78,2.84,2.89,2.93,2.96,2.985,2.996,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 +PARAM_BODY_ANGLE_Y=0,0.05,0.19,0.42,0.7,1.04,1.41,1.8,2.2,2.59,2.96,3.3,3.58,3.81,3.95,4,3.96,3.86,3.7,3.49,3.25,2.96,2.66,2.33,2,1.67,1.34,1.04,0.75,0.51,0.3,0.14,0.04,0,0.03,0.1,0.22,0.38,0.56,0.77,0.99,1.23,1.47,1.71,1.94,2.16,2.36,2.54,2.7,2.83,2.92,2.98,3,2.96,2.86,2.71,2.51,2.29,2.05,1.79,1.54,1.27,1.02,0.79,0.57,0.38,0.22,0.1,0.03,0,0.013,0.05,0.1,0.16,0.24,0.32,0.4,0.49,0.58,0.66,0.74,0.81,0.87,0.93,0.97,0.99,1,0.991,0.97,0.93,0.87,0.81,0.74,0.67,0.59,0.51,0.43,0.35,0.28,0.21,0.15,0.1,0.06,0.03,0.007,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.05,0.19,0.41,0.7,1.02,1.39,1.76,2.14,2.51,2.86,3.18,3.46,3.69,3.86,3.96,4,3.97,3.87,3.72,3.53,3.3,3.04,2.77,2.48,2.19,1.89,1.6,1.32,1.05,0.8,0.57,0.38,0.22,0.1,0.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.04,0.14,0.29,0.49,0.71,0.95,1.21,1.46,1.73,1.98,2.21,2.43,2.62,2.78,2.9,2.97,3,2.97,2.9,2.78,2.62,2.44,2.22,1.99,1.75,1.5,1.25,1.01,0.78,0.56,0.38,0.22,0.1,0.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BODY_ANGLE_Z=0 +PARAM_BROW_R_Y=0 +PARAM_ANGLE_Y=4,4.03,4.1,4.21,4.36,4.54,4.74,4.97,5.22,5.48,5.76,6.03,6.32,6.61,6.89,7.17,7.44,7.69,7.94,8.16,8.37,8.55,8.7,8.83,8.92,8.98,9,9,9,9,9,8.993,8.973,8.94,8.9,8.84,8.77,8.69,8.61,8.51,8.4,8.28,8.16,8.02,7.88,7.74,7.58,7.42,7.25,7.08,6.9,6.72,6.53,6.35,6.15,5.95,5.76,5.55,5.35,5.14,4.94,4.73,4.53,4.32,4.11,3.91,3.7,3.5,3.3,3.1,2.91,2.71,2.52,2.34,2.16,1.98,1.81,1.65,1.49,1.33,1.19,1.05,0.91,0.78,0.67,0.56,0.46,0.36,0.28,0.21,0.15,0.09,0.05,0.02,0.006,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.04,0.14,0.31,0.53,0.81,1.13,1.5,1.89,2.32,2.76,3.24,3.71,4.2,4.68,5.16,5.64,6.1,6.54,6.96,7.35,7.71,8.03,8.31,8.55,8.74,8.88,8.97,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9 +PARAM_BREATH=0 +PARAM_BROW_R_X=0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26 +PARAM_ANGLE_X=-10,-9.96,-9.86,-9.71,-9.5,-9.25,-8.96,-8.64,-8.29,-7.93,-7.54,-7.15,-6.75,-6.35,-5.95,-5.57,-5.19,-4.83,-4.49,-4.17,-3.89,-3.63,-3.42,-3.24,-3.11,-3.03,-3,-3,-3,-3,-3,-2.998,-2.991,-2.98,-2.966,-2.947,-2.92,-2.9,-2.87,-2.84,-2.8,-2.76,-2.72,-2.67,-2.63,-2.58,-2.53,-2.47,-2.42,-2.36,-2.3,-2.24,-2.18,-2.12,-2.05,-1.98,-1.92,-1.85,-1.78,-1.71,-1.65,-1.58,-1.51,-1.44,-1.37,-1.3,-1.23,-1.17,-1.1,-1.03,-0.97,-0.9,-0.84,-0.78,-0.72,-0.66,-0.6,-0.55,-0.5,-0.44,-0.4,-0.35,-0.3,-0.26,-0.22,-0.19,-0.15,-0.12,-0.09,-0.07,-0.05,-0.032,-0.018,-0.008,-0.002,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.012,-0.05,-0.1,-0.18,-0.27,-0.38,-0.5,-0.63,-0.77,-0.92,-1.08,-1.24,-1.4,-1.56,-1.72,-1.88,-2.03,-2.18,-2.32,-2.45,-2.57,-2.68,-2.77,-2.85,-2.91,-2.96,-2.99,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3 +PARAM_ARM_R=-7,-6.987,-6.95,-6.9,-6.82,-6.74,-6.65,-6.55,-6.45,-6.35,-6.26,-6.18,-6.1,-6.05,-6.01,-6,-6.009,-6.03,-6.07,-6.13,-6.19,-6.26,-6.34,-6.42,-6.5,-6.58,-6.66,-6.74,-6.81,-6.87,-6.93,-6.97,-6.99,-7,-6.991,-6.97,-6.93,-6.87,-6.81,-6.74,-6.67,-6.59,-6.51,-6.43,-6.35,-6.28,-6.21,-6.15,-6.1,-6.06,-6.03,-6.007,-6,-6.013,-6.05,-6.1,-6.16,-6.24,-6.32,-6.4,-6.49,-6.58,-6.66,-6.74,-6.81,-6.87,-6.93,-6.97,-6.99,-7,-6.987,-6.95,-6.9,-6.84,-6.76,-6.68,-6.6,-6.51,-6.42,-6.34,-6.26,-6.19,-6.13,-6.07,-6.03,-6.01,-6,-6.009,-6.03,-6.07,-6.13,-6.19,-6.26,-6.33,-6.41,-6.49,-6.57,-6.65,-6.72,-6.79,-6.85,-6.9,-6.94,-6.97,-6.993,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-6.993,-6.975,-6.94,-6.91,-6.86,-6.8,-6.74,-6.68,-6.61,-6.54,-6.47,-6.41,-6.34,-6.28,-6.22,-6.17,-6.12,-6.08,-6.04,-6.02,-6.005,-6,-6.009,-6.03,-6.07,-6.12,-6.18,-6.24,-6.31,-6.38,-6.45,-6.53,-6.6,-6.67,-6.74,-6.8,-6.86,-6.91,-6.94,-6.97,-6.993,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-6.987,-6.95,-6.9,-6.84,-6.76,-6.68,-6.6,-6.51,-6.42,-6.34,-6.26,-6.19,-6.13,-6.07,-6.03,-6.01,-6,-6.009,-6.03,-6.07,-6.13,-6.19,-6.26,-6.34,-6.42,-6.5,-6.58,-6.66,-6.74,-6.81,-6.87,-6.93,-6.97,-6.99,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7 +PARAM_ARM_L=-7,-6.97,-6.9,-6.79,-6.65,-6.48,-6.29,-6.1,-5.9,-5.71,-5.52,-5.35,-5.21,-5.1,-5.03,-5,-5.018,-5.07,-5.15,-5.25,-5.38,-5.52,-5.67,-5.83,-6,-6.17,-6.33,-6.48,-6.62,-6.75,-6.85,-6.93,-6.98,-7,-6.982,-6.93,-6.85,-6.75,-6.63,-6.49,-6.34,-6.18,-6.02,-5.86,-5.71,-5.56,-5.42,-5.3,-5.2,-5.11,-5.05,-5.01,-5,-5.03,-5.09,-5.2,-5.32,-5.47,-5.63,-5.8,-5.98,-6.15,-6.32,-6.47,-6.62,-6.75,-6.85,-6.93,-6.98,-7,-6.97,-6.91,-6.8,-6.68,-6.53,-6.37,-6.2,-6.02,-5.85,-5.68,-5.53,-5.38,-5.25,-5.15,-5.07,-5.02,-5,-5.018,-5.07,-5.15,-5.25,-5.37,-5.51,-5.66,-5.82,-5.98,-6.14,-6.29,-6.44,-6.58,-6.7,-6.8,-6.89,-6.95,-6.99,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-6.987,-6.95,-6.89,-6.81,-6.72,-6.61,-6.48,-6.36,-6.22,-6.09,-5.95,-5.81,-5.68,-5.55,-5.44,-5.33,-5.24,-5.15,-5.09,-5.04,-5.01,-5,-5.017,-5.07,-5.14,-5.24,-5.35,-5.48,-5.62,-5.76,-5.91,-6.06,-6.2,-6.34,-6.48,-6.6,-6.71,-6.81,-6.89,-6.95,-6.99,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-6.97,-6.91,-6.8,-6.68,-6.53,-6.37,-6.2,-6.02,-5.85,-5.68,-5.53,-5.38,-5.25,-5.15,-5.07,-5.02,-5,-5.018,-5.07,-5.15,-5.25,-5.38,-5.52,-5.67,-5.83,-6,-6.17,-6.33,-6.48,-6.62,-6.75,-6.85,-6.93,-6.98,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7 +PARAM_MOUTH_FORM=1 +PARAM_HAIR_SIDE=0 +PARAM_EYE_BALL_FORM=0 +PARAM_BROW_R_ANGLE=0 +PARAM_SWEAT=0 +PARAM_BROW_R_FORM=0 +PARAM_TERE=0 +PARAM_EYE_BALL_GLITTER=0 +PARAM_STRING=0 \ No newline at end of file diff --git a/media/live2d/histoire/model/nep/motions/tap/nep_slide_head_2.mtn b/media/live2d/histoire/model/nep/motions/tap/nep_slide_head_2.mtn new file mode 100644 index 0000000..48f45ad Binary files /dev/null and b/media/live2d/histoire/model/nep/motions/tap/nep_slide_head_2.mtn differ diff --git a/media/live2d/histoire/model/nep/motions/tap/nep_touch_belly_1.mtn b/media/live2d/histoire/model/nep/motions/tap/nep_touch_belly_1.mtn new file mode 100644 index 0000000..a24bf5f --- /dev/null +++ b/media/live2d/histoire/model/nep/motions/tap/nep_touch_belly_1.mtn @@ -0,0 +1,44 @@ +# Live2D Animator Motion Data +$fps=30 +PARAM_SHOULDER_X=10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9.66,8.75,7.45,5.96,4.42,2.97,1.74,0.8,0.21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.39,1.26,2.37,3.56,4.7,5.73,6.55,7.1,7.56,7.83,7.99,8.09,8.13,8.145,8.15,8.143,7.86,7.11,6.02,4.74,3.41,2.12,1.03,0.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_MOUTH_OPEN_Y=0,0.63,1,1,1,1,1,1,1,0.3,0.22,0.15,0.07,0,0.001,0.002,0.003,0.004,0.006,0.007,0.008,0.009,0.01,0.011,0.012,0.013,0.015,0.016,0.24,0.47,0.51,0.55,0.31,0.06,0.04,0.01,0.27,0.54,0.549,0.557,0.565,0.573,0.43,0.29,0.14,0,0.29,0.57,0.45,0.33,0.341,0.353,0.349,0.345,0.341,0.337,0.333,0.329,0.325,0.322,0.318,0.314,0.319,0.325,0.331,0.336,0.342,0.348,0.353,0.359,0.365,0.37,0.376,0.382,0.387,0.393,0.399,0.404,0.41,0.416,0.27,0.13,0.09,0.06,0.03,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_FACE_COVER=0 +PARAM_FEAR=0 +PARAM_EYE_L_OPEN=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.82,0.54,0.27,0.08,0,0.07,0.21,0.38,0.57,0.73,0.87,0.97,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.82,0.54,0.27,0.08,0,0.07,0.21,0.38,0.57,0.73,0.87,0.97,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_EYE_L_SMILE=0 +PARAM_BROW_L_FORM=0 +PARAM_TEAR=0 +PARAM_BROW_L_X=0 +PARAM_BROW_DEFORMED=0 +PARAM_BROW_L_Y=0 +PARAM_EYE_R_SMILE=0 +PARAM_EYE_R_OPEN=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.82,0.54,0.27,0.08,0,0.07,0.21,0.38,0.57,0.73,0.87,0.97,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.82,0.54,0.27,0.08,0,0.07,0.21,0.38,0.57,0.73,0.87,0.97,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_HAIR_BACK=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0,-0.001,-0,-0,0.003,0.01,0.019,0.031,0.047,0.066,0.09,0.12,0.14,0.17,0.19,0.22,0.24,0.26,0.29,0.31,0.33,0.36,0.38,0.4,0.42,0.44,0.46,0.49,0.506,0.526,0.546,0.565,0.584,0.603,0.622,0.64,0.657,0.675,0.692,0.708,0.724,0.74,0.755,0.77,0.784,0.799,0.812,0.825,0.838,0.85,0.862,0.874,0.885,0.895,0.905,0.915,0.924,0.932,0.94,0.948,0.955,0.962,0.968,0.973,0.978,0.983,0.987,0.99,0.993,0.996,0.998,0.999,1,1 +PARAM_EYE_BALL_X=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.03,-0.12,-0.25,-0.4,-0.56,-0.7,-0.83,-0.92,-0.98,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +PARAM_HAIR_FRONT=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.002,-0.007,-0.015,-0.023,-0.032,-0.041,-0.048,-0.054,-0.057,-0.058,-0.06,-0.058,-0.06,-0.06,-0.06,-0.057,-0.06,-0.056,-0.055,-0.05,-0.053,-0.053,-0.052,-0.051,-0.05,-0.049,-0.048,-0.047,-0.046,-0.044,-0.043,-0.042,-0.041,-0.039,-0.038,-0.037,-0.035,-0.034,-0.033,-0.031,-0.03,-0.029,-0.027,-0.026,-0.024,-0.023,-0.022,-0.021,-0.019,-0.018,-0.017,-0.015,-0.014,-0.013,-0.012,-0.011,-0.01,-0.009,-0.008,-0.007,-0.006,-0.01,-0.004,-0.004,-0.003,-0,-0.002,-0,-0.001,-0,-0,-0,-0,0 +PARAM_EYE_BALL_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.008,-0.03,-0.06,-0.09,-0.13,-0.16,-0.19,-0.21,-0.225,-0.23,-0.23,-0.23,-0.23,-0.23,-0.23,-0.23,-0.23,-0.23,-0.23,-0.23,-0.23,-0.23,-0.23,-0.23,-0.23,-0.23,-0.23,-0.23,-0.23,-0.23,-0.23,-0.23,-0.23,-0.23,-0.23,-0.23,-0.23,-0.23,-0.23,-0.23,-0.23,-0.23,-0.23,-0.23,-0.23,-0.23 +PARAM_BROW_L_ANGLE=0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.03 +PARAM_EYE_DEFORMED_04=0 +PARAM_EYE_DEFORMED_03=0 +PARAM_EYE_DEFORMED_02=0 +PARAM_EYE_DEFORMED_01=0 +PARAM_ANGLE_Z=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.24,0.87,1.78,2.83,3.91,4.92,5.78,6.44,6.85,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7.79,9.87,12.86,16.29,19.84,23.16,25.99,28.16,29.52,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30 +PARAM_BODY_ANGLE_X=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.34,-1.25,-2.55,-4.04,-5.58,-7.03,-8.26,-9.2,-9.79,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-9.47,-8.1,-6.22,-4.07,-1.9,0.16,2,4.03,5.7,7.04,8.08,8.85,9.4,9.76,9.94,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10 +PARAM_BODY_ANGLE_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.009,0.03,0.07,0.12,0.18,0.24,0.31,0.38,0.45,0.53,0.6,0.67,0.74,0.8,0.86,0.91,0.94,0.97,0.993,1,0.93,0.79,0.62,0.43,0.27,0.13,0.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BODY_ANGLE_Z=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.25,0.92,1.9,3.04,4.24,5.4,6.42,7.27,7.89,8.26,8.52,8.76,8.96,9.15,9.31,9.45,9.57,9.67,9.75,9.82,9.87,9.92,9.95,9.97,9.986,9.995,9.999,10,10,10,10,10,10,10,10,10,9.8,9.38,8.85,8.3,7.8,7.38,7.1,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7 +PARAM_BROW_R_Y=0 +PARAM_ANGLE_Y=30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,28.49,24.52,18.78,12.23,5.43,-0.92,-6.34,-10.47,-13.08,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-13.48,-12.13,-10.18,-7.94,-5.62,-3.46,-1.61,-0.2,0.69,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_BREATH=0 +PARAM_BROW_R_X=0 +PARAM_ANGLE_X=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.03,0.12,0.25,0.4,0.56,0.7,0.83,0.92,0.98,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,4.61,8.39,12.71,17.2,21.38,24.95,27.68,29.39,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30 +PARAM_ARM_R=3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2.2,1.4,0.6,-0.2,-1,-1.8,-2.6,-3.4,-4.2,-5,-5,-5,-5,-5,-5,-5,-5,-5,-4.7,-4.4,-4.1,-3.8,-3.5,-3.2,-2.9,-2.6,-2.3,-2,-2.19,-2.38,-2.56,-2.75,-2.94,-3.13,-3.31,-3.5,-3.69,-3.88,-4.06,-4.25,-4.44,-4.63,-4.81,-5,-5.33,-5.67,-6,-6.33,-6.67,-7,-7.33,-7.67,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8 +PARAM_ARM_L=5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4.3,3.6,2.9,2.2,1.5,0.8,0.1,-0.6,-1.3,-2,-2,-2,-2,-2,-2,-2,-1.75,-1.5,-1.25,-1,-0.75,-0.5,-0.25,0,0.25,0.5,0.75,1,0.68,0.36,0.04,-0.29,-0.61,-0.93,-1.25,-1.57,-1.89,-2.21,-2.54,-2.86,-3.18,-3.5,-3.82,-4.14,-4.57,-5,-5.43,-5.86,-6.29,-6.71,-7.14,-7.57,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8 +PARAM_MOUTH_FORM=0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.09,0.12,0.2,0.32,0.46,0.6,0.73,0.84,0.93,0.98,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_HAIR_SIDE=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.002,0.008,0.017,0.028,0.041,0.054,0.069,0.082,0.096,0.109,0.124,0.139,0.154,0.168,0.182,0.196,0.21,0.223,0.236,0.249,0.261,0.273,0.285,0.297,0.308,0.32,0.33,0.341,0.352,0.362,0.371,0.381,0.39,0.399,0.408,0.417,0.425,0.433,0.441,0.449,0.456,0.463,0.47,0.476,0.483,0.489,0.495,0.5,0.506,0.511,0.516,0.521,0.525,0.529,0.534,0.537,0.541,0.544,0.548,0.55,0.553,0.556,0.558,0.56,0.562,0.564,0.565,0.566,0.568,0.568,0.569,0.57,0.57,0.57 +PARAM_EYE_BALL_FORM=0 +PARAM_BROW_R_ANGLE=0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06 +PARAM_SWEAT=1 +PARAM_BROW_R_FORM=0 +PARAM_TERE=0 +PARAM_EYE_BALL_GLITTER=0 +PARAM_STRING=0.47,0.47,0.47,0.47,0.47,0.47,0.47,0.47,0.47,0.47,0.47,0.47,0.47,0.47,0.47,0.47,0.47,0.47,0.47,0.47,0.47,0.47,0.47,0.466,0.448,0.42,0.39,0.36,0.33,0.3,0.28,0.259,0.248,0.239,0.231,0.222,0.214,0.206,0.198,0.19,0.183,0.176,0.168,0.161,0.155,0.148,0.142,0.135,0.129,0.123,0.117,0.112,0.106,0.101,0.096,0.091,0.086,0.081,0.077,0.073,0.068,0.064,0.06,0.056,0.053,0.049,0.046,0.043,0.04,0.037,0.034,0.031,0.028,0.026,0.024,0.021,0.019,0.017,0.015,0.014,0.012,0.011,0.009,0.008,0.007,0.006,0.005,0.004,0.003,0,0.002,0,0.001,0,0,0,0 \ No newline at end of file diff --git a/media/live2d/histoire/model/nep/motions/tap/nep_touch_belly_2.mtn b/media/live2d/histoire/model/nep/motions/tap/nep_touch_belly_2.mtn new file mode 100644 index 0000000..63c4fb2 --- /dev/null +++ b/media/live2d/histoire/model/nep/motions/tap/nep_touch_belly_2.mtn @@ -0,0 +1,41 @@ +# Live2D Animator Motion Data +$fps=30 +PARAM_SHOULDER_X=10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9.66,8.75,7.45,5.96,4.42,2.97,1.74,0.8,0.21,0,0.66,2.07,3.84,5.67,7.35,8.73,9.66,10,9.999,9.995,9.99,9.982,9.972,9.96,9.945,9.929,9.911,9.892,9.87,9.85,9.82,9.8,9.77,9.74,9.71,9.68,9.64,9.61,9.57,9.54,9.5,9.46,9.42,9.38,9.34,9.3,9.25,9.21,9.17,9.12,9.08,9.03,8.99,8.94,8.9,8.85,8.81,8.76,8.71,8.67,8.62,8.58,8.53,8.49,8.45,8.4,8.36,8.32,8.27,8.23,8.19,8.15,8.12,8.08,8.04,8.01,7.97,7.94,7.91,7.88,7.85,7.82,7.79,7.77,7.74,7.72,7.702,7.683,7.666,7.651,7.638,7.626,7.617,7.61,7.604,7.601,7.6,7.6,7.6,7.6,7.6,7.6,7.6,7.6 +PARAM_MOUTH_OPEN_Y=0,0,0,0,0,0,0,0,0.15,0.31,0.24,0.16,0.171,0.178,0.184,0.191,0.197,0.204,0.55,0.9,0.86,0.82,0.52,0.22,0.58,0.94,0.76,0.59,0.56,0.53,0.62,0.71,0.8,0.89,0.53,0.16,0.16,0.16,0.52,0.87,0.83,0.8,0.76,0.72,0.69,0.65,0.657,0.663,0.669,0.675,0.68,0.686,0.692,0.698,0.704,0.71,0.716,0.722,0.51,0.29,0.52,0.75,0.69,0.64,0.4,0.16,0.44,0.71,0.718,0.722,0.6,0.47,0.65,0.82,0.8,0.77,0.74,0.71,0.8,0.89,0.66,0.44,0.3,0.16,0.58,1,1,1,1,0.96,0.86,0.76,0.66,0.56,0.52,0.48,0.6,0.73,0.733,0.736,0.74,0.744,0.747,0.751,0.754,0.758,0.761,0.765,0.768,0.772,0.775,0.779,0.782,0.786,0.789,0.793,0.796,0.8,0.63,0.45,0.61,0.76,0.773,0.784,0.796,0.808,0.53,0.26,0.39,0.52,0.65,0.78,0.74,0.7,0.66,0.63,0.47,0.31,0.16,0,0,0,0,0,0,0,0 +PARAM_FACE_COVER=0 +PARAM_FEAR=0 +PARAM_EYE_L_OPEN=0 +PARAM_EYE_L_SMILE=1 +PARAM_BROW_L_FORM=-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +PARAM_TEAR=0 +PARAM_BROW_L_X=0 +PARAM_BROW_DEFORMED=0 +PARAM_BROW_L_Y=-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-0.95,-0.85,-0.72,-0.58,-0.46,-0.35,-0.29,-0.26,-0.26,-0.26,-0.26,-0.26,-0.26,-0.26,-0.26,-0.26,-0.26,-0.45,-0.81,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +PARAM_EYE_R_SMILE=1 +PARAM_EYE_R_OPEN=0 +PARAM_EYE_BALL_X=0 +PARAM_EYE_BALL_Y=0 +PARAM_BROW_L_ANGLE=0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_EYE_DEFORMED_04=0 +PARAM_EYE_DEFORMED_03=0 +PARAM_EYE_DEFORMED_02=0 +PARAM_EYE_DEFORMED_01=0 +PARAM_ANGLE_Z=0 +PARAM_BODY_ANGLE_X=0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,1.72,2,1.28,0.14,-0.93,-1.7,-2,-1.28,-0.14,0.93,1.7,2,1.87,1.59,1.23,0.87,0.53,0.25,0.07,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.26,-0.83,-1.54,-2.27,-2.94,-3.49,-3.86,-4,-3.72,-2.99,-1.92,-0.65,0.65,1.92,2.99,3.72,4,3.48,2.34,0.93,-0.54,-1.88,-2.99,-3.72,-4,-3.72,-2.99,-1.92,-0.65,0.65,1.92,2.99,3.72,4,3.48,2.34,0.93,-0.54,-1.88,-2.99,-3.72,-4,-3.41,-1.98,-0.23,1.47,2.84,3.71,4,3.48,2.34,0.93,-0.54,-1.88,-2.99,-3.72,-4,-3.41,-1.98,-0.23,1.47,2.84,3.71,4,3.48,2.34,0.93,-0.54,-1.88,-2.99,-3.72,-4,-3.71,-2.99,-2.12,-1.27,-0.58,-0.15,0,0,0,0,0,0,0,0 +PARAM_BODY_ANGLE_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.13,-0.46,-0.98,-1.62,-2.36,-3.16,-4.02,-4.88,-5.76,-6.59,-7.37,-8.1,-8.73,-9.26,-9.66,-9.91,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-9.89,-9.57,-9.06,-8.42,-7.66,-6.83,-5.95,-5.05,-4.17,-3.34,-2.58,-1.94,-1.43,-1.11,-1,-1,-1,-1,-1,-1,-1,-1 +PARAM_BODY_ANGLE_Z=1.45,1.45,1.45,1.45,1.45,1.45,1.45,1.45,1.45,1.45,1.45,1.45,1.45,1.45,1.45,1.45,1.45,1.45,1.45,1.45,1.45,1.45,1.45,1.45,1.45,1.45,1.45,0.38,-1.39,-2.6,-3,-1.93,-0.21,1.39,2.55,3,1.93,0.21,-1.39,-2.55,-3,-2.8,-2.38,-1.85,-1.3,-0.8,-0.38,-0.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.39,1.24,2.3,3.4,4.41,5.24,5.79,6,5.59,4.48,2.88,0.98,-0.98,-2.88,-4.48,-5.59,-6,-5.21,-3.51,-1.39,0.81,2.82,4.48,5.59,6,5.59,4.48,2.88,0.98,-0.98,-2.88,-4.48,-5.59,-6,-5.21,-3.51,-1.39,0.81,2.82,4.48,5.59,6,5.12,2.97,0.35,-2.2,-4.26,-5.56,-6,-5.21,-3.51,-1.39,0.81,2.82,4.48,5.59,6,5.12,2.97,0.35,-2.2,-4.26,-5.56,-6,-5.21,-3.51,-1.39,0.81,2.82,4.48,5.59,6,6,6,6,6,6,6,6,6,6,6,6 +PARAM_BROW_R_Y=-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-0.97,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-0.97,-0.89,-0.8,-0.7,-0.61,-0.54,-0.49,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.61,-0.86,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +PARAM_ANGLE_Y=-27.01,-27.01,-27.01,-27.01,-27.01,-27.01,-27.01,-27.01,-27.01,-27.01,-27.01,-27.01,-27.01,-27.01,-27.01,-27.01,-27.01,-27.01,-27.01,-27.01,-27.01,-27.01,-27.01,-27.01,-27.01,-27.01,-27.01,-22.73,-12.33,1.49,15.32,25.71,30,28.87,25.85,21.3,15.58,9.22,2.45,-4.23,-10.51,-16.13,-20.92,-24.62,-27.06,-28.13,-28.52,-28.85,-29.14,-29.36,-29.55,-29.7,-29.81,-29.89,-29.95,-29.98,-30,-30,-30,-30,-30,-28.8,-25.59,-20.63,-14.39,-7.49,0,7.49,14.39,20.63,25.59,28.8,30,28.93,26.23,22.19,16.97,10.76,3.49,-4.65,-13.87,-23.52,-24.81,-24.56,-24.02,-23.35,-22.65,-22.01,-21.48,-21.13,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21 +PARAM_BREATH=0 +PARAM_BROW_R_X=0 +PARAM_ANGLE_X=2.88,2.88,2.88,2.88,2.88,2.88,2.88,2.88,2.88,2.88,2.88,2.88,2.88,2.88,2.88,2.88,2.88,2.88,2.88,2.88,2.88,2.88,2.88,2.88,2.88,2.88,2.88,3.47,4.05,4.63,5.21,5.79,6.37,3.26,0.16,-2.95,-6.06,-9.17,-5.34,-1.5,2.33,0.53,-1.26,-3.06,-4.86,-6.66,-6.05,-5.45,-4.84,-4.24,-3.63,-3.03,-2.42,-1.82,-1.21,-0.61,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.22,-0.44,-0.67,-0.89,-1.11,-1.33,-1.56,-1.78,-2,-3.26,-4.51,-5.77,-7.02,-8.28,-9.53,-10.79,-12.04,-8.98,-5.93,-2.87,0.18,3.24,0.48,-2.29,-5.05,-7.82,-10.58,-13.35,-16.11,-18.88,-13.18,-7.48,-1.78,3.92,9.61,5.55,1.48,-2.58,-6.65,-10.72,-14.78,-10.52,-6.26,-2,2.26,6.52,4.06,1.6,-0.86,-3.31,-5.77,-8.23,-4.75,-1.26,2.22,5.7,4.42,3.15,1.87,0.59,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69 +PARAM_ARM_R=-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-9.57,-9.14,-8.71,-8.29,-7.86,-7.43,-7,-6.57,-6.14,-5.71,-5.29,-4.86,-4.43,-4,-4.32,-4.63,-4.95,-5.26,-5.58,-5.89,-6.21,-6.53,-6.84,-7.16,-7.47,-7.79,-8.11,-8.42,-8.74,-9.05,-9.37,-9.68,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-9.77,-9.54,-9.31,-9.08,-8.85,-8.62,-8.38,-8.15,-7.92,-7.69,-7.46,-7.23,-7,-7.16,-7.32,-7.47,-7.63,-7.79,-7.95,-8.11,-8.26,-8.42,-8.58,-8.74,-8.89,-9.05,-9.21,-9.37,-9.53,-9.68,-9.84,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10 +PARAM_ARM_L=-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-9.64,-9.29,-8.93,-8.57,-8.21,-7.86,-7.5,-7.14,-6.79,-6.43,-6.07,-5.71,-5.36,-5,-5.26,-5.53,-5.79,-6.05,-6.32,-6.58,-6.84,-7.11,-7.37,-7.63,-7.89,-8.16,-8.42,-8.68,-8.95,-9.21,-9.47,-9.74,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-9.77,-9.54,-9.31,-9.08,-8.85,-8.62,-8.38,-8.15,-7.92,-7.69,-7.46,-7.23,-7,-7.16,-7.32,-7.47,-7.63,-7.79,-7.95,-8.11,-8.26,-8.42,-8.58,-8.74,-8.89,-9.05,-9.21,-9.37,-9.53,-9.68,-9.84,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10 +PARAM_MOUTH_FORM=1 +PARAM_EYE_BALL_FORM=0 +PARAM_BROW_R_ANGLE=0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,0.97,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_SWEAT=0 +PARAM_BROW_R_FORM=-0.89,-0.89,-0.89,-0.89,-0.89,-0.89,-0.89,-0.89,-0.89,-0.89,-0.89,-0.89,-0.89,-0.89,-0.89,-0.89,-0.89,-0.89,-0.89,-0.89,-0.89,-0.89,-0.89,-0.89,-0.89,-0.89,-0.89,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +PARAM_TERE=0 +PARAM_EYE_BALL_GLITTER=0 +PARAM_STRING=0 \ No newline at end of file diff --git a/media/live2d/histoire/model/nep/motions/tap/nep_touch_boobs_1.mtn b/media/live2d/histoire/model/nep/motions/tap/nep_touch_boobs_1.mtn new file mode 100644 index 0000000..0e373b1 --- /dev/null +++ b/media/live2d/histoire/model/nep/motions/tap/nep_touch_boobs_1.mtn @@ -0,0 +1,44 @@ +# Live2D Animator Motion Data +$fps=30 +PARAM_SHOULDER_X=6.4,6.36,6.24,6.05,5.79,5.48,5.13,4.74,4.32,3.88,3.42,2.98,2.52,2.08,1.66,1.27,0.92,0.61,0.35,0.16,0.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.14,0.49,1,1.64,2.34,3.08,3.83,4.56,5.23,5.85,6.35,6.75,7.01,7.1,7.099,7.097,7.092,7.084,7.072,7.057,7.04,7.01,6.98,6.94,6.9,6.84,6.78,6.71,6.63,6.54,6.44,6.33,6.2,6.07,5.92,5.76,5.58,5.39,5.1,4.69,4.19,3.63,3.04,2.44,1.87,1.35,0.89,0.51,0.23,0.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_MOUTH_OPEN_Y=0,0,0,0,0,0,0,0,0.22,0.45,0.4,0.35,0.3,0.25,0.2,0.15,0.38,0.61,0.58,0.54,0.51,0.47,0.481,0.492,0.502,0.512,0.523,0.533,0.46,0.38,0.19,0,0.46,0.93,0.74,0.55,0.58,0.61,0.64,0.67,0.7,0.73,0.62,0.51,0.4,0.29,0.56,0.84,0.76,0.67,0.65,0.63,0.61,0.59,0.57,0.55,0.53,0.51,0.48,0.46,0.24,0.01,0.35,0.69,0.53,0.37,0.55,0.73,0.733,0.737,0.64,0.53,0.43,0.33,0.62,0.91,0.84,0.76,0.767,0.773,0.778,0.784,0.68,0.58,0.47,0.37,0.378,0.388,0.398,0.408,0.34,0.27,0.2,0.14,0.07,0,0.01,0.02,0.029,0.039,0.34,0.64,0.58,0.52,0.27,0.02,0.47,0.91,0.82,0.73,0.65,0.56,0.6,0.64,0.68,0.72,0.69,0.66,0.63,0.6,0.45,0.3,0.6,0.91,0.77,0.63,0.69,0.75,0.67,0.6,0.36,0.12,0.44,0.77,0.75,0.732,0.714,0.695,0.677,0.659,0.58,0.51,0.514,0.518,0.26,0,0.43,0.86,0.82,0.77,0.38,0,0.29,0.58,0.51,0.43,0.53,0.64,0.51,0.38,0.19,0,0.38,0.77,0.759,0.75,0.741,0.732,0.723,0.714,0.66,0.61,0.46,0.31,0.15,0,0,0,0,0,0,0 +PARAM_FACE_COVER=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.82,0.54,0.27,0.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_FEAR=0 +PARAM_EYE_L_OPEN=1,1,1,0.999,0.998,0.996,0.995,0.993,0.99,0.988,0.985,0.983,0.979,0.976,0.973,0.969,0.965,0.961,0.956,0.952,0.947,0.943,0.938,0.933,0.927,0.922,0.917,0.911,0.906,0.9,0.894,0.889,0.883,0.877,0.871,0.865,0.859,0.853,0.847,0.841,0.835,0.829,0.823,0.817,0.811,0.806,0.8,0.794,0.789,0.783,0.778,0.773,0.767,0.762,0.757,0.753,0.748,0.744,0.739,0.735,0.731,0.727,0.724,0.721,0.717,0.715,0.712,0.71,0.707,0.705,0.704,0.702,0.701,0.701,0.7,0.7,0.71,0.74,0.78,0.82,0.87,0.91,0.95,0.98,0.994,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.999,0.997,0.993,0.987,0.981,0.974,0.967,0.959,0.951,0.943,0.935,0.928,0.921,0.915,0.91,0.906,0.903,0.901,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.901,0.905,0.91,0.917,0.926,0.935,0.944,0.954,0.963,0.972,0.98,0.987,0.992,0.996,0.999,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_EYE_L_SMILE=0 +PARAM_BROW_L_FORM=-1 +PARAM_TEAR=0 +PARAM_BROW_L_X=0 +PARAM_BROW_DEFORMED=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.82,0.54,0.27,0.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BROW_L_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.06,-0.16,-0.25,-0.31,-0.34,-0.34,-0.34,-0.34,-0.34,-0.34,-0.34,-0.34,-0.34,-0.342,-0.344,-0.347,-0.351,-0.355,-0.36,-0.367,-0.374,-0.382,-0.392,-0.402,-0.414,-0.427,-0.441,-0.456,-0.473,-0.49,-0.51,-0.531,-0.551,-0.57,-0.589,-0.608,-0.626,-0.643,-0.66,-0.677,-0.693,-0.709,-0.723,-0.737,-0.751,-0.764,-0.776,-0.787,-0.797,-0.807,-0.816,-0.824,-0.832,-0.838,-0.844,-0.849,-0.853,-0.856,-0.858,-0.86,-0.86,-0.859,-0.856,-0.851,-0.845,-0.837,-0.827,-0.816,-0.803,-0.79,-0.775,-0.76,-0.743,-0.726,-0.708,-0.689,-0.67,-0.651,-0.632,-0.612,-0.593,-0.573,-0.554,-0.535,-0.516,-0.498,-0.48,-0.463,-0.446,-0.431,-0.416,-0.403,-0.391,-0.379,-0.369,-0.361,-0.353,-0.348,-0.343,-0.341,-0.34 +PARAM_EYE_R_SMILE=0 +PARAM_EYE_R_OPEN=1,1,1,0.999,0.998,0.996,0.995,0.993,0.99,0.988,0.985,0.983,0.979,0.976,0.973,0.969,0.965,0.961,0.956,0.952,0.947,0.943,0.938,0.933,0.927,0.922,0.917,0.911,0.906,0.9,0.894,0.889,0.883,0.877,0.871,0.865,0.859,0.853,0.847,0.841,0.835,0.829,0.823,0.817,0.811,0.806,0.8,0.794,0.789,0.783,0.778,0.773,0.767,0.762,0.757,0.753,0.748,0.744,0.739,0.735,0.731,0.727,0.724,0.721,0.717,0.715,0.712,0.71,0.707,0.705,0.704,0.702,0.701,0.701,0.7,0.7,0.71,0.74,0.78,0.82,0.87,0.91,0.95,0.98,0.994,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.999,0.997,0.994,0.989,0.984,0.978,0.971,0.964,0.957,0.949,0.942,0.935,0.928,0.922,0.916,0.911,0.906,0.903,0.9,0.898,0.896,0.894,0.893,0.892,0.891,0.89,0.89,0.89,0.89,0.89,0.89,0.89,0.89,0.89,0.89,0.891,0.895,0.901,0.909,0.918,0.928,0.938,0.949,0.959,0.969,0.977,0.985,0.991,0.996,0.999,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_HAIR_BACK=0 +PARAM_EYE_BALL_X=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.009,0.03,0.07,0.13,0.19,0.26,0.34,0.42,0.5,0.58,0.66,0.74,0.81,0.87,0.93,0.97,0.99,1,1,1,0.999,0.998,0.996,0.995,0.993,0.99,0.987,0.984,0.981,0.977,0.972,0.968,0.962,0.957,0.951,0.944,0.937,0.929,0.921,0.913,0.903,0.894,0.883,0.873,0.861,0.849,0.837,0.823,0.81,0.795,0.78,0.762,0.745,0.728,0.712,0.696,0.681,0.667,0.654,0.641,0.63,0.62,0.611,0.604,0.598,0.594,0.591,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59,0.59 +PARAM_HAIR_FRONT=0 +PARAM_EYE_BALL_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.002,0.007,0.016,0.027,0.039,0.054,0.071,0.088,0.105,0.122,0.139,0.156,0.171,0.183,0.194,0.203,0.208,0.21,0.209,0.205,0.199,0.191,0.182,0.17,0.157,0.142,0.126,0.109,0.091,0.072,0.052,0.03,0.011,-0.01,-0.03,-0.05,-0.072,-0.09,-0.112,-0.131,-0.149,-0.166,-0.182,-0.197,-0.21,-0.222,-0.231,-0.239,-0.245,-0.249,-0.25,-0.242,-0.22,-0.19,-0.15,-0.1,-0.05,0,0.06,0.11,0.16,0.21,0.26,0.3,0.33,0.36,0.374,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38 +PARAM_BROW_L_ANGLE=-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-0.91,-0.78,-0.65,-0.56,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.521,-0.52,-0.52,-0.52,-0.52,-0.521,-0.52,-0.519,-0.518,-0.517,-0.516,-0.514,-0.512,-0.51,-0.506,-0.499,-0.491,-0.48,-0.467,-0.452,-0.436,-0.418,-0.399,-0.38,-0.36,-0.34,-0.32,-0.29,-0.27,-0.25,-0.23,-0.21,-0.188,-0.169,-0.15,-0.133,-0.117,-0.102,-0.089,-0.078,-0.068,-0.06,-0.055,-0.051,-0.05,-0.053,-0.061,-0.075,-0.092,-0.11,-0.14,-0.17,-0.2,-0.23,-0.26,-0.29,-0.32,-0.35,-0.38,-0.41,-0.44,-0.46,-0.48,-0.495,-0.505,-0.51,-0.512,-0.514,-0.515,-0.517,-0.518,-0.519,-0.519,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52 +PARAM_EYE_DEFORMED_04=0 +PARAM_EYE_DEFORMED_03=0 +PARAM_EYE_DEFORMED_02=0 +PARAM_EYE_DEFORMED_01=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.82,0.54,0.27,0.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_ANGLE_Z=0,-0.08,-0.31,-0.68,-1.18,-1.78,-2.48,-3.27,-4.11,-5.03,-5.98,-6.95,-7.94,-8.94,-9.9,-10.86,-11.78,-12.62,-13.41,-14.11,-14.71,-15.21,-15.58,-15.81,-15.89,-15.89,-15.89,-15.89,-15.89,-15.89,-15.89,-15.89,-15.89,-15.89,-15.89,-15.89,-15.89,-15.89,-15.89,-15.54,-14.6,-13.16,-11.38,-9.31,-7.06,-4.67,-2.27,0.17,2.48,4.67,6.69,8.47,9.93,11.04,11.75,12,12,12,12,12,12,12,11.97,11.89,11.75,11.56,11.32,11.05,10.73,10.38,9.99,9.58,9.13,8.66,8.17,7.67,7.15,6.63,6.1,5.55,5.02,4.47,3.95,3.43,2.92,2.43,1.96,1.51,1.09,0.69,0.33,0,-0.32,-0.63,-0.93,-1.22,-1.5,-1.78,-2.04,-2.31,-2.56,-2.8,-3.04,-3.27,-3.49,-3.71,-3.93,-4.14,-4.34,-4.54,-4.74,-4.93,-5.12,-5.31,-5.49,-5.67,-5.84,-6.02,-6.19,-6.36,-6.53,-6.69,-6.86,-7.02,-7.18,-7.35,-7.51,-7.67,-7.84,-8,-8.16,-8.32,-8.46,-8.6,-8.73,-8.85,-8.97,-9.07,-9.17,-9.26,-9.35,-9.43,-9.5,-9.57,-9.63,-9.68,-9.73,-9.78,-9.82,-9.85,-9.88,-9.91,-9.93,-9.953,-9.968,-9.98,-9.989,-9.995,-9.999,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10 +PARAM_BODY_ANGLE_X=0,-0.07,-0.26,-0.55,-0.95,-1.43,-1.99,-2.59,-3.25,-3.94,-4.65,-5.35,-6.06,-6.75,-7.41,-8.01,-8.57,-9.05,-9.45,-9.74,-9.93,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-9.75,-9.04,-7.93,-6.52,-4.88,-3.06,-1.2,0.7,2.55,4.32,5.9,7.3,8.45,9.29,9.82,10,10,10,10,10,10,10,10,10,10,10,9.987,9.95,9.88,9.79,9.67,9.53,9.36,9.18,8.97,8.73,8.48,8.2,7.91,7.6,7.26,6.92,6.55,6.17,5.77,5.35,4.92,4.48,4.03,3.56,3.08,2.59,2.09,1.58,1.06,0.53,0,-0.6,-1.16,-1.72,-2.24,-2.74,-3.23,-3.69,-4.14,-4.56,-4.96,-5.35,-5.72,-6.07,-6.4,-6.71,-7.01,-7.3,-7.56,-7.82,-8.05,-8.27,-8.48,-8.67,-8.85,-9.01,-9.17,-9.3,-9.43,-9.54,-9.64,-9.72,-9.8,-9.86,-9.91,-9.95,-9.98,-9.995,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10 +PARAM_BODY_ANGLE_Y=-10,-9.93,-9.74,-9.45,-9.05,-8.57,-8.01,-7.41,-6.75,-6.06,-5.35,-4.65,-3.94,-3.25,-2.59,-1.99,-1.43,-0.95,-0.55,-0.26,-0.07,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.09,-0.34,-0.74,-1.27,-1.88,-2.59,-3.36,-4.17,-5,-5.83,-6.64,-7.41,-8.12,-8.73,-9.26,-9.66,-9.91,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-9.6,-8.53,-6.92,-4.9,-2.67,-0.29,2.04,4.22,6.14,7.76,8.98,9.74,10,9.8,9.26,8.44,7.41,6.23,4.94,3.56,2.19,0.79,-0.54,-1.8,-2.95,-3.97,-4.81,-5.45,-5.86,-6,-5.96,-5.85,-5.67,-5.43,-5.15,-4.82,-4.45,-4.08,-3.67,-3.26,-2.84,-2.44,-2.04,-1.66,-1.31,-0.99,-0.71,-0.46,-0.27,-0.12,-0.03,0 +PARAM_BODY_ANGLE_Z=0 +PARAM_BROW_R_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.09,-0.23,-0.36,-0.45,-0.49,-0.49,-0.49,-0.49,-0.49,-0.49,-0.49,-0.49,-0.492,-0.494,-0.497,-0.501,-0.506,-0.511,-0.517,-0.523,-0.531,-0.538,-0.546,-0.555,-0.564,-0.573,-0.583,-0.593,-0.603,-0.614,-0.624,-0.635,-0.646,-0.657,-0.668,-0.679,-0.69,-0.701,-0.712,-0.723,-0.733,-0.744,-0.754,-0.764,-0.773,-0.783,-0.791,-0.8,-0.808,-0.816,-0.823,-0.829,-0.836,-0.841,-0.846,-0.85,-0.853,-0.856,-0.858,-0.86,-0.86,-0.859,-0.857,-0.854,-0.849,-0.843,-0.836,-0.829,-0.82,-0.81,-0.8,-0.789,-0.777,-0.764,-0.752,-0.739,-0.725,-0.712,-0.698,-0.684,-0.67,-0.656,-0.642,-0.629,-0.615,-0.602,-0.59,-0.577,-0.566,-0.555,-0.544,-0.535,-0.526,-0.518,-0.511,-0.505,-0.5,-0.495,-0.492,-0.491,-0.49 +PARAM_ANGLE_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.27,-1.03,-2.23,-3.8,-5.64,-7.76,-10.07,-12.51,-15,-17.49,-19.93,-22.24,-24.36,-26.2,-27.77,-28.97,-29.73,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-29.02,-26.4,-22.45,-17.51,-12.03,-6.22,-0.51,4.83,9.55,13.52,16.5,18.36,19,18.52,17.24,15.29,12.85,10.04,6.98,3.71,0.45,-2.88,-6.03,-9.02,-11.76,-14.19,-16.17,-17.69,-18.66,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19 +PARAM_BREATH=0 +PARAM_BROW_R_X=0 +PARAM_ANGLE_X=0,-0.07,-0.28,-0.61,-1.04,-1.58,-2.19,-2.85,-3.57,-4.33,-5.11,-5.89,-6.67,-7.43,-8.15,-8.81,-9.42,-9.96,-10.39,-10.72,-10.93,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-10.86,-10.47,-9.86,-9.08,-8.18,-7.18,-6.16,-5.11,-4.1,-3.12,-2.25,-1.48,-0.85,-0.39,-0.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.27,-1.03,-2.23,-3.8,-5.64,-7.76,-10.07,-12.51,-15,-17.49,-19.93,-22.24,-24.36,-26.2,-27.77,-28.97,-29.73,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-29.84,-29.37,-28.65,-27.72,-26.62,-25.42,-24.15,-22.85,-21.58,-20.38,-19.28,-18.35,-17.63,-17.16,-17,-17.013,-17.05,-17.1,-17.18,-17.26,-17.35,-17.45,-17.55,-17.65,-17.74,-17.82,-17.9,-17.95,-17.99,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18 +PARAM_ARM_R=-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-9.87,-9.52,-8.96,-8.25,-7.4,-6.47,-5.5,-4.5,-3.53,-2.6,-1.75,-1.04,-0.48,-0.13,0,-0.07,-0.25,-0.55,-0.95,-1.42,-1.96,-2.58,-3.21,-3.88,-4.57,-5.26,-5.93,-6.6,-7.23,-7.82,-8.35,-8.82,-9.23,-9.56,-9.8,-9.95,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10 +PARAM_ARM_L=-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-9.87,-9.52,-8.96,-8.25,-7.4,-6.47,-5.5,-4.5,-3.53,-2.6,-1.75,-1.04,-0.48,-0.13,0,-0.07,-0.25,-0.55,-0.95,-1.42,-1.96,-2.58,-3.21,-3.88,-4.57,-5.26,-5.93,-6.6,-7.23,-7.82,-8.35,-8.82,-9.23,-9.56,-9.8,-9.95,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10 +PARAM_MOUTH_FORM=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.18,-0.46,-0.73,-0.92,-1,-0.96,-0.87,-0.76,-0.64,-0.55,-0.51,-0.51,-0.51,-0.51,-0.51,-0.51,-0.51,-0.511,-0.51,-0.51,-0.512,-0.51,-0.51,-0.513,-0.51,-0.514,-0.515,-0.52,-0.516,-0.52,-0.518,-0.518,-0.52,-0.52,-0.521,-0.521,-0.522,-0.52,-0.524,-0.525,-0.526,-0.526,-0.527,-0.528,-0.529,-0.53,-0.531,-0.532,-0.533,-0.534,-0.535,-0.536,-0.537,-0.538,-0.539,-0.54,-0.54,-0.542,-0.543,-0.544,-0.545,-0.546,-0.547,-0.548,-0.549,-0.55,-0.551,-0.552,-0.553,-0.554,-0.554,-0.555,-0.556,-0.557,-0.56,-0.559,-0.559,-0.56,-0.561,-0.56,-0.562,-0.563,-0.56,-0.564,-0.56,-0.566,-0.566,-0.57,-0.567,-0.57,-0.57,-0.568,-0.57,-0.57,-0.569,-0.57,-0.57,-0.57,-0.57,-0.57,-0.57 +PARAM_HAIR_SIDE=0 +PARAM_EYE_BALL_FORM=0 +PARAM_BROW_R_ANGLE=-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-0.91,-0.78,-0.65,-0.56,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.521,-0.52,-0.52,-0.52,-0.52,-0.521,-0.52,-0.519,-0.518,-0.517,-0.516,-0.514,-0.512,-0.51,-0.506,-0.5,-0.491,-0.481,-0.468,-0.454,-0.438,-0.422,-0.404,-0.385,-0.365,-0.345,-0.324,-0.3,-0.28,-0.26,-0.241,-0.222,-0.202,-0.183,-0.166,-0.149,-0.134,-0.12,-0.107,-0.096,-0.087,-0.08,-0.074,-0.071,-0.07,-0.073,-0.081,-0.093,-0.11,-0.13,-0.15,-0.18,-0.21,-0.24,-0.27,-0.3,-0.33,-0.36,-0.39,-0.42,-0.44,-0.46,-0.481,-0.495,-0.505,-0.51,-0.512,-0.514,-0.515,-0.517,-0.518,-0.519,-0.519,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52,-0.52 +PARAM_SWEAT=0 +PARAM_BROW_R_FORM=-1 +PARAM_TERE=0 +PARAM_EYE_BALL_GLITTER=0 +PARAM_STRING=0 \ No newline at end of file diff --git a/media/live2d/histoire/model/nep/motions/tap/nep_touch_head_1.mtn b/media/live2d/histoire/model/nep/motions/tap/nep_touch_head_1.mtn new file mode 100644 index 0000000..c7cfd20 Binary files /dev/null and b/media/live2d/histoire/model/nep/motions/tap/nep_touch_head_1.mtn differ diff --git a/media/live2d/histoire/model/nep/motions/tap/refuse.mtn b/media/live2d/histoire/model/nep/motions/tap/refuse.mtn new file mode 100644 index 0000000..f4a8ed2 --- /dev/null +++ b/media/live2d/histoire/model/nep/motions/tap/refuse.mtn @@ -0,0 +1,33 @@ +# Live2D Animator Motion Data +$fps=30 +PARAM_BROW_L_ANGLE=-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +PARAM_ANGLE_Z=-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-14.78,-14.21,-13.45,-12.55,-11.62,-10.71,-9.84,-9.11,-8.52,-8.14,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8 +PARAM_BODY_ANGLE_X=-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-7.66,-6.9,-6,-5.05,-4.39,-3.89,-3.53,-3.28,-3.12,-3.03,-3,-3,-3,-3,-3,-3,-3,-2.97,-2.9,-2.78,-2.62,-2.44,-2.22,-1.99,-1.75,-1.5,-1.25,-1.01,-0.78,-0.56,-0.38,-0.22,-0.1,-0.03,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BODY_ANGLE_Y=0 +PARAM_BODY_ANGLE_Z=5 +PARAM_BREATH=0 +PARAM_ANGLE_Y=-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-13.97,-13.89,-13.78,-13.65,-13.52,-13.39,-13.26,-13.16,-13.07,-13.02,-13,-13,-13,-13,-13,-13,-13,-12.96,-12.83,-12.63,-12.37,-12.06,-11.71,-11.32,-10.92,-10.5,-10.08,-9.68,-9.29,-8.94,-8.63,-8.37,-8.17,-8.04,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8 +PARAM_BROW_R_Y=0 +PARAM_ANGLE_X=-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-13.11,-8.34,-2.17,4.36,10.38,15.36,19,22.21,23.04,23.06,23,23,23,23,23,23,23,22.87,22.48,21.88,21.1,20.18,19.12,17.96,16.75,15.5,14.25,13.04,11.88,10.82,9.9,9.12,8.52,8.13,8,8,8,8,8,8,8,8,8,8,8 +PARAM_BROW_R_X=0 +PARAM_MOUTH_OPEN_Y=0 +PARAM_MOUTH_FORM=-1 +PARAM_EYE_L_OPEN=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.76,0.36,0.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.18,0.46,0.73,0.92,1,1,1,1,1,1,1,1,1,1,1 +PARAM_BUST_Y=0 +PARAM_EYE_FORM=-1 +PARAM_EYE_L_SMILE=0 +PARAM_BROW_L_FORM=-0.5 +PARAM_EYE_BALL_FORM=0 +PARAM_BROW_L_X=0 +PARAM_BROW_L_Y=0 +PARAM_BROW_R_ANGLE=-0.5 +PARAM_EYE_R_SMILE=0 +PARAM_BROW_R_FORM=-0.5 +PARAM_EYE_R_OPEN=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.76,0.36,0.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.18,0.46,0.73,0.92,1,1,1,1,1,1,1,1,1,1,1 +PARAM_TERE=0 +PARAM_HAIR_BACK=0 +PARAM_HAIR_FRONT=0 +PARAM_ARM_L=-5 +PARAM_EYE_BALL_X=0.43,0.43,0.43,0.43,0.43,0.43,0.43,0.43,0.43,0.43,0.43,0.43,0.43,0.43,0.43,0.43,0.43,0.43,0.43,0.43,0.43,0.43,0.43,0.43,0.43,0.43,0.43,0.43,0.43,0.43,0.43,0.447,0.49,0.55,0.62,0.69,0.76,0.82,0.88,0.92,0.95,0.96,0.96,0.96,0.96,0.96,0.96,0.96,0.95,0.92,0.87,0.81,0.74,0.66,0.57,0.48,0.38,0.29,0.2,0.11,0.03,-0.04,-0.1,-0.15,-0.18,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19,-0.19 +PARAM_EYE_BALL_Y=0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.337,0.354,0.38,0.4,0.43,0.46,0.48,0.51,0.524,0.536,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.543,0.547,0.551,0.557,0.563,0.57,0.578,0.585,0.592,0.6,0.607,0.613,0.619,0.623,0.627,0.629,0.63,0.63,0.63,0.63,0.63,0.63,0.63,0.63,0.63,0.63,0.63 +PARAM_ARM_R=-5 \ No newline at end of file diff --git a/media/live2d/histoire/model/nep/motions/tap/shake.mtn b/media/live2d/histoire/model/nep/motions/tap/shake.mtn new file mode 100644 index 0000000..5a399a7 --- /dev/null +++ b/media/live2d/histoire/model/nep/motions/tap/shake.mtn @@ -0,0 +1,31 @@ +# Live2D Animator Motion Data +$fps=30 +PARAM_BROW_L_ANGLE=0 +PARAM_ANGLE_Z=18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,17.65,16.66,15.1,13.06,10.66,7.91,4.91,1.74,-1.5,-4.74,-7.91,-10.91,-13.66,-16.06,-18.1,-19.66,-20.65,-21,-20.29,-18.46,-15.78,-12.46,-8.78,-4.93,-1.04,2.75,6.28,9.47,12.11,14.19,15.53,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16 +PARAM_BODY_ANGLE_X=3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2.991,2.97,2.93,2.87,2.81,2.74,2.66,2.58,2.5,2.42,2.34,2.26,2.19,2.13,2.07,2.03,2.01,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 +PARAM_BODY_ANGLE_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.07,-0.25,-0.52,-0.84,-1.16,-1.48,-1.75,-1.93,-2,-1.93,-1.75,-1.48,-1.16,-0.84,-0.52,-0.25,-0.07,0,-0.13,-0.41,-0.77,-1.13,-1.47,-1.75,-1.93,-2,-1.85,-1.48,-1,-0.52,-0.15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BODY_ANGLE_Z=-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-6.91,-6.66,-6.26,-5.73,-5.12,-4.41,-3.64,-2.83,-2,-1.17,-0.36,0.41,1.12,1.73,2.26,2.66,2.91,3,2.92,2.73,2.44,2.08,1.68,1.26,0.84,0.43,0.05,-0.29,-0.58,-0.8,-0.95,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +PARAM_ARM_R=-10 +PARAM_BREATH=0 +PARAM_ANGLE_Y=-8 +PARAM_BROW_R_Y=0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3 +PARAM_ANGLE_X=10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9.87,9.52,8.96,8.23,7.37,6.38,5.3,4.16,3,1.84,0.7,-0.38,-1.37,-2.23,-2.96,-3.52,-3.87,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +PARAM_BROW_R_X=0 +PARAM_MOUTH_OPEN_Y=0 +PARAM_MOUTH_FORM=1 +PARAM_EYE_L_OPEN=0 +PARAM_BUST_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.16,0.42,0.59,0.65,0.58,0.43,0.24,0.04,-0.14,-0.29,-0.39,-0.43,-0.4,-0.32,-0.21,-0.08,0.06,0.19,0.3,0.38,0.41,0.34,0.18,-0.01,-0.21,-0.36,-0.46,-0.49,-0.42,-0.25,-0.05,0.16,0.35,0.51,0.61,0.65,0.58,0.41,0.19,-0.01,-0.18,-0.28,-0.32,-0.28,-0.19,-0.07,0.06,0.15,0.19,0.16,0.1,0.05,0.01,0,0,0,0,0,0,0,0,0,0 +PARAM_EYE_FORM=0 +PARAM_BROW_L_FORM=0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2 +PARAM_EYE_BALL_FORM=0 +PARAM_BROW_L_X=0 +PARAM_BROW_L_Y=0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3 +PARAM_BROW_R_ANGLE=0 +PARAM_BROW_R_FORM=0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2 +PARAM_EYE_R_OPEN=0 +PARAM_TERE=0 +PARAM_HAIR_BACK=0 +PARAM_HAIR_FRONT=0 +PARAM_EYE_BALL_X=-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32,-0.32 +PARAM_EYE_BALL_Y=0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0.54 +PARAM_ARM_L=-10 \ No newline at end of file diff --git a/media/live2d/histoire/model/nep/motions/tap/smile.mtn b/media/live2d/histoire/model/nep/motions/tap/smile.mtn new file mode 100644 index 0000000..a691edf --- /dev/null +++ b/media/live2d/histoire/model/nep/motions/tap/smile.mtn @@ -0,0 +1,34 @@ +# Live2D Animator Motion Data +$fps=30 +PARAM_BROW_L_ANGLE=0 +PARAM_ANGLE_Z=14,13.79,13.18,12.23,10.96,9.42,7.64,5.72,3.61,1.4,-0.88,-3.12,-5.4,-7.61,-9.72,-11.64,-13.42,-14.96,-16.23,-17.18,-17.79,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18 +PARAM_BODY_ANGLE_X=3 +PARAM_BODY_ANGLE_Y=0,0.15,0.5,0.94,1.37,1.71,1.93,2,1.97,1.9,1.79,1.65,1.48,1.29,1.1,0.9,0.71,0.52,0.35,0.21,0.1,0.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BODY_ANGLE_Z=1,0.94,0.76,0.48,0.12,-0.3,-0.76,-1.25,-1.75,-2.24,-2.7,-3.12,-3.48,-3.76,-3.94,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +PARAM_ARM_R_B=0 +PARAM_BREATH=0 +PARAM_ANGLE_Y=8 +PARAM_BROW_R_Y=0 +PARAM_ANGLE_X=0 +PARAM_BROW_R_X=0 +PARAM_MOUTH_FORM=1 +PARAM_EYE_L_OPEN=0 +PARAM_BUST_Y=0 +PARAM_EYE_FORM=0 +PARAM_EYE_L_SMILE=1 +PARAM_BROW_L_FORM=0 +PARAM_EYE_BALL_FORM=0 +PARAM_BROW_L_X=0 +PARAM_BROW_L_Y=0 +PARAM_BROW_R_ANGLE=0 +PARAM_EYE_R_SMILE=1 +PARAM_ARM_R_A=1 +PARAM_BROW_R_FORM=0 +PARAM_EYE_R_OPEN=0 +PARAM_TERE=0 +PARAM_HAIR_BACK=0 +PARAM_HAIR_FRONT=0 +PARAM_ARM_L_A=1 +PARAM_EYE_BALL_X=0 +PARAM_EYE_BALL_Y=0 +PARAM_ARM_L_B=0 \ No newline at end of file diff --git a/media/live2d/histoire/model/nep/motions/tap/tilt_head.mtn b/media/live2d/histoire/model/nep/motions/tap/tilt_head.mtn new file mode 100644 index 0000000..164c351 --- /dev/null +++ b/media/live2d/histoire/model/nep/motions/tap/tilt_head.mtn @@ -0,0 +1,33 @@ +# Live2D Animator Motion Data +$fps=30 +PARAM_BROW_L_ANGLE=0 +PARAM_ANGLE_Z=-17,-16.85,-16.43,-15.74,-14.81,-13.65,-12.31,-10.79,-9.11,-7.29,-5.35,-3.28,-1.17,1.04,3.26,5.5,7.74,9.96,12.17,14.28,16.35,18.29,20.11,21.79,23.31,24.65,25.81,26.74,27.43,27.85,28,28,28,28,28,28,28,28,28,28,28,28,28,28,27.93,27.71,27.36,26.88,26.28,25.58,24.8,23.92,22.97,21.95,20.88,19.76,18.6,17.42,16.21,15,13.81,13,12.47,12.16,12.03,12,12.85,14.69,16.99,19.37,21.55,23.35,24.55,25,25,25,25,25,25,25,25,24.94,24.75,24.45,24.01,23.45,22.76,21.91,20.94,19.79,18.5,17,15.11,13.32,11.64,10.17,8.88,7.83,7.02,6.45,6.11,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 +PARAM_BODY_ANGLE_X=5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4.97,4.9,4.79,4.65,4.48,4.29,4.1,3.9,3.71,3.52,3.35,3.21,3.1,3.03,3,3.06,3.22,3.46,3.76,4.1,4.46,4.81,5.13,5.42,5.66,5.85,5.96,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 +PARAM_BODY_ANGLE_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.04,0.15,0.31,0.52,0.75,1,1.25,1.48,1.69,1.85,1.96,2,1.93,1.75,1.48,1.16,0.84,0.52,0.25,0.07,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_BODY_ANGLE_Z=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.06,-0.22,-0.47,-0.78,-1.13,-1.5,-1.87,-2.22,-2.53,-2.78,-2.94,-3,-2.9,-2.62,-2.22,-1.75,-1.25,-0.78,-0.38,-0.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +PARAM_ARM_R=-5 +PARAM_BREATH=0 +PARAM_ANGLE_Y=-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-9.987,-9.95,-9.9,-9.83,-9.74,-9.65,-9.56,-9.46,-9.37,-9.28,-9.2,-9.13,-9.08,-9.04,-9.01,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9.13,-9.45,-9.89,-10.4,-10.93,-11.45,-11.95,-12.37,-12.7,-12.92,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13 +PARAM_BROW_R_Y=0 +PARAM_ANGLE_X=17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,16.87,16.52,15.97,15.26,14.44,13.53,12.6,11.65,10.72,9.84,9.05,8.35,7.78,7.36,7.09,7,7.15,7.55,8.13,8.85,9.64,10.47,11.32,12.13,12.9,13.59,14.16,14.61,14.9,15,15,15,15,15,15,15,15,14.9,14.66,14.33,13.95,13.55,13.16,12.79,12.48,12.22,12.06,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12 +PARAM_BROW_R_X=0 +PARAM_MOUTH_OPEN_Y=0 +PARAM_MOUTH_FORM=1 +PARAM_EYE_L_OPEN=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.76,0.36,0.09,0,0,0,0.07,0.21,0.38,0.57,0.73,0.87,0.97,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.76,0.36,0.09,0,0,0,0.18,0.46,0.73,0.92,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_BUST_Y=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-0.11,-0.29,-0.41,-0.45,-0.41,-0.32,-0.18,-0.03,0.14,0.29,0.42,0.52,0.58,0.6,0.57,0.48,0.35,0.2,0.04,-0.11,-0.24,-0.33,-0.36,-0.32,-0.23,-0.13,-0.01,0.09,0.17,0.23,0.25,0.231,0.19,0.13,0.06,0.02,0,0,0,0,0,0,0,0,0,0 +PARAM_EYE_FORM=0.5 +PARAM_EYE_L_SMILE=0 +PARAM_BROW_L_FORM=0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2 +PARAM_EYE_BALL_FORM=0 +PARAM_BROW_L_X=0 +PARAM_BROW_L_Y=0 +PARAM_BROW_R_ANGLE=0 +PARAM_EYE_R_SMILE=0 +PARAM_BROW_R_FORM=0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2 +PARAM_EYE_R_OPEN=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.76,0.36,0.09,0,0,0,0.07,0.21,0.38,0.57,0.73,0.87,0.97,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.76,0.36,0.09,0,0,0,0.18,0.46,0.73,0.92,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +PARAM_TERE=0 +PARAM_HAIR_BACK=0 +PARAM_HAIR_FRONT=0 +PARAM_EYE_BALL_X=-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.47,-0.469,-0.466,-0.461,-0.454,-0.447,-0.439,-0.43,-0.422,-0.414,-0.406,-0.398,-0.392,-0.387,-0.383,-0.381,-0.38,-0.382,-0.388,-0.397,-0.409,-0.424,-0.442,-0.46,-0.481,-0.5,-0.52,-0.55,-0.57,-0.59,-0.61,-0.628,-0.646,-0.661,-0.673,-0.682,-0.688,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69,-0.69 +PARAM_EYE_BALL_Y=0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.496,0.486,0.47,0.45,0.43,0.4,0.37,0.34,0.32,0.29,0.27,0.249,0.233,0.22,0.213,0.21,0.21,0.212,0.214,0.218,0.221,0.226,0.231,0.236,0.242,0.247,0.253,0.258,0.264,0.269,0.274,0.279,0.282,0.286,0.288,0.289,0.29,0.29,0.29,0.29,0.29,0.29,0.29,0.29,0.29,0.29,0.29,0.29,0.29,0.29,0.29,0.29,0.29,0.29,0.29,0.29,0.29,0.29,0.29,0.29,0.29,0.29,0.29,0.29,0.29,0.29,0.29,0.29,0.29,0.29,0.29,0.29,0.29,0.29,0.29,0.29,0.29,0.29,0.29,0.29,0.29,0.29,0.29 +PARAM_ARM_L=-5 \ No newline at end of file diff --git a/page/2/index.html b/page/2/index.html new file mode 100644 index 0000000..595b99b --- /dev/null +++ b/page/2/index.html @@ -0,0 +1,1377 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/page/3/index.html b/page/3/index.html new file mode 100644 index 0000000..6c2dc96 --- /dev/null +++ b/page/3/index.html @@ -0,0 +1,1361 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/page/4/index.html b/page/4/index.html new file mode 100644 index 0000000..7cb2d99 --- /dev/null +++ b/page/4/index.html @@ -0,0 +1,1247 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+ + + + + + + + + +
+
+
+

+ + 题解 CF662C 【Binary Table】 + +

+ +
+
+ + + + +

Description

+
+ + + +

有一个 n行 m 列的表格,每个元素都是 0/1 ,每次操作可以选择一行或一列,把 0/1翻转,即把 0换为 1,把 1换为 0。请问经过若干次操作后,表格中最少有多少个 1。

+ + + +

n20,m105n\le20,m\le 10^5

+
+
+ + + + + + +
+ + 阅读全文 » + +
+ +
+ +
+
+ +
+
+
+

+ + KMP的删除操作 + +

+ +
+
+ + + + +

Description:

+
+ + + +

在字符串SS中,重复删除同一个字串TT。直到TT不在是SS的字串为止

+ + + +

S106|S|\le10^6

+
+
+ + + + + + +
+ + 阅读全文 » + +
+ +
+ +
+
+ + + + + + + + + + + +
+ +
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/page/5/index.html b/page/5/index.html new file mode 100644 index 0000000..0af59fe --- /dev/null +++ b/page/5/index.html @@ -0,0 +1,1253 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+
+

+ + [ZJOI2014] 力 解题报告 + +

+ +
+
+ + + + +

Description

+

Fj = i=1j1qi×qj(ij)2  i=j+1nqi×qj(ij)2F_j~=~\sum_{i = 1}^{j - 1} \frac{q_i \times q_j}{(i - j)^2}~-~\sum_{i = j + 1}^{n} \frac{q_i \times q_j}{(i - j)^2} +

+

Ei = Fiqi E_i~=~\frac{F_i}{q_i} +

+ + + +

1in1 \leq i \leq n,求EiE_i的值。

+
+ + + + + + +
+ + 阅读全文 » + +
+ +
+ +
+
+ + + +
+
+
+

+ + 卡特兰数 学习笔记 + +

+ +
+
+ + + + +

1.定义

+ + + +

f(n)f(n)为卡特兰数,则有:

+

f(n)=(n2n)(n12n)f(n)=\binom{n}{2n}-\binom{n-1}{2n} +

+ + + +

存在递推式:

+

f(n)=i=0n1(in)(ni1n)f(n)=\sum_{i=0}^{n-1}\binom i n\binom {n-i-1} n +

+ + + + + + +
+ + 阅读全文 » + +
+ +
+ +
+
+ + + +
+
+
+

+ + 题解 [CQOI2015] 网络吞吐量 + +

+ +
+
+ + + + +

Description

+
+ + + +

现在,若已知一个计算机网络中各路由器间的连接情况,以及各个路由器的最大吞吐量(即每秒能转发的数据包数量),网络中的路由器使用 1 到 n 编号,假设所有数据包一定沿最短路径转发,试计算从路由器 1 到路由器 n 的网络的最大吞吐量。计算中忽略转发及传输的时间开销,不考虑链路的带宽限制,即认为数据包可以瞬间通过网络。路由器1 到路由器 n 作为起点和终点,自身的吞吐量不用考虑,网络上也不存在将1 和 n 直接相连的链路。

+
+ + + + + + +
+ + 阅读全文 » + +
+ +
+ +
+
+ + + +
+
+
+

+ + 折半搜索 学习笔记 + +

+ +
+
+ + + + +

1.概述

+ + + +

折半搜索,又称meet in the middle,通常是把不能直接做的题目分成两半。

+ + + +

把这两半分别搜索。

+ + + + + + +
+ + 阅读全文 » + +
+ +
+ +
+
+ +
+
+
+

+ + 题解 [ZJOI2010] 基站选址 + +

+ +
+
+ + + + +

Description

+
+ + + +

有 N 个村庄坐落在一条直线上,第 i(i>1) 个村庄距离第 1个村庄的距离为 $$D_i$$。需要在这些村庄中建立不超过 K个通讯基站,在第 i个村庄建立基站的费用为 $$C_i$$。如果在距离第 i 个村庄不超过 $$S_i$$ 的范围内建立了一个通讯基站,那么就村庄被基站覆盖了。如果第 i 个村庄没有被覆盖,则需要向他们补偿,费用为 $$W_i$$。现在的问题是,选择基站的位置,使得总费用最小。

+
+
+ + + + + + +
+ + 阅读全文 » + +
+ +
+ +
+
+ +
+
+
+

+ + 模拟赛 06.27 + +

+ +
+
+ + + + +

2020.06.27

+ + + +

菜到抠,连数字三角形都写挂了

+ + + + + + +
+ + 阅读全文 » + +
+ +
+ +
+
+ +
+
+
+

+ + LIS&LCS + +

+ +
+
+ + + + +

O(nlogn)O(nlogn)求LIS&LCS长度

+ + + +

你怎么连这个都不会qwq

+ + + + + + +
+ + 阅读全文 » + +
+ +
+ +
+
+ + + +
+ +
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/page/6/index.html b/page/6/index.html new file mode 100644 index 0000000..af29e38 --- /dev/null +++ b/page/6/index.html @@ -0,0 +1,1132 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+
+

+ + 数位DP 学习笔记 + +

+ +
+
+ + + + +

+ + +

写在之前:

+ + + +

1.对于区间[X,Y][X,Y],可利用统计[0,N][0,N]中的答案f(N)f(N),则区间内的答案:f(Y)f(X1)f(Y)-f(X-1)

+ + + +

2.从的角度来考虑。

+ + + +

考虑边界NN可以拆分成BB进制数an1an2a0\overline{a_{n-1}a_{n-2}\dots a_0}

+ + + +

对于每一位,我们都可以按照当前位的数字为[0,ai1][0,a_{i}-1]aia_i分为两类。

+ + + +

对于前者,可以直接通过组合数计算。

+ + + +

对于后者,可以继续计算到a0a_0

+ + + +

最后答案为前者之和加上最后一种情况。

+ + + + + + +
+ + 阅读全文 » + +
+ +
+ +
+
+ + + +
+
+
+

+ + 最长公共上升子序列(LCIS) + +

+ +
+
+ + + + +

Description

+ + + +

熊大妈的奶牛在小沐沐的熏陶下开始研究信息题目。

+ + + +

小沐沐先让奶牛研究了最长上升子序列,再让他们研究了最长公共子序列,现在又让他们研究最长公共上升子序列了。

+ + + +

小沐沐说,对于两个数列A和B,如果它们都包含一段位置不一定连续的数,且数值是严格递增的,那么称这一段数是两个数列的公共上升子序列,而所有的公共上升子序列中最长的就是最长公共上升子序列了。

+ + + +

奶牛半懂不懂,小沐沐要你来告诉奶牛什么是最长公共上升子序列。

+ + + +

不过,只要告诉奶牛它的长度就可以了。

+ + + +

数列A和B的长度均不超过3000。

+ + + +

1≤N≤3000,序列中的数字均不超过int

+ + + + + + +
+ + 阅读全文 » + +
+ +
+ +
+
+ + + + + + + + + +
+
+
+

+ + Hello Gridea + +

+ +
+
+ + + + +

+ + +

👏 欢迎使用 Gridea
+✍️ Gridea 一个静态博客写作客户端。你可以用它来记录你的生活、心情、知识、笔记、创意... ...

+ + + + + + + + +
+ + 阅读全文 » + +
+ +
+ +
+
+ + + +
+ +
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/post-images/2023-winter-training-short-round-3-zong-jie.jpg b/post-images/2023-winter-training-short-round-3-zong-jie.jpg new file mode 100644 index 0000000..78b3b72 Binary files /dev/null and b/post-images/2023-winter-training-short-round-3-zong-jie.jpg differ diff --git a/post-images/hello-gridea.png b/post-images/hello-gridea.png new file mode 100644 index 0000000..bbd1205 Binary files /dev/null and b/post-images/hello-gridea.png differ diff --git a/post/2023-winter-training-short-round-2/index.html b/post/2023-winter-training-short-round-2/index.html new file mode 100644 index 0000000..db97fe1 --- /dev/null +++ b/post/2023-winter-training-short-round-2/index.html @@ -0,0 +1,895 @@ + + + + + + + + + +2023 winter training short round #2 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 2023 winter training short round #2 + +

+ +
+
+

rk 13

+ +

A,B,C 花的时间都太长了,导致后面太赶。

+

A 写了一个垃圾分讨+二分,边界太多用了 25mins 才过。

+

当时刚睡醒,题都没读懂。

+

B 构造又错在了一个细节上面,其实是自己写的太丑了导致细节很多。

+

a=b 的条件没处理好,调了半天。

+

然后开 C ,一开始又读错题了。

+

对着式子看了半天也没思路,其实移项一下就能发现让差形成剩余系了。

+

写完 C 不到1h,直接开了 E ,随便推了推发现是个最小化 ax+byax+by 的东西。

+

想到了这是扩欧那个方程,然后就去写。中间exgcd还写错了

+

最后不到 30min 开了 F ,一眼单调性然后有个区间加。

+

按理说2个log应该用个树状数组的,但是没时间了直接码了线段树

+

主要是动态开点的树状数组确实没写过

+

最后结束也没调完。

+

卡了我的是 1 0 1 0 这个test,都相等的时候没处理好

+

应该在 0 和 1e9 的时候加个特判

+
+

简单总结一下,还是读题、思考有点着急。

+

应该把思路理得很清楚了再写代码

+

有思路不应该着急写,反复推一下看看是不是假的

+

不该猜的时候不要瞎猜结论

+

注意细节

+
+

D

+

放在这里了。

+

F

+

不难发现,结束温度随初始温度单增(非严格)

+

那么对于第 i 天的温度 TiT_i ,我们可以通过二分找到两个点 p1,p2p_1,p_2

+

使得当初始温度 T0[0,p1]T_0\in[0,p_1] 时,第 i 天的温度小于 TiT_i

+

T0[p2,109]T_0\in[p_2,10^9] 时,第 i 天的温度大于 TiT_i

+

建一棵动开线段树,每个节点维护初始温度在 [l,r][l,r] 时的变化量。

+

进行区间+1/-1,就可以得到任意初始温度经过 i 天后的温度了。

+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/2023-winter-training-short-round-3-zong-jie/index.html b/post/2023-winter-training-short-round-3-zong-jie/index.html new file mode 100644 index 0000000..60239f8 --- /dev/null +++ b/post/2023-winter-training-short-round-3-zong-jie/index.html @@ -0,0 +1,875 @@ + + + + + + + + + +2023 winter training short round #3 总结 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 2023 winter training short round #3 总结 + +

+ +
+
+

2023 winter training short round #3

+

毒瘤构造专场

+ +

开场 A 不会,感觉是神仙构造。

+

B 题面过长,看着像博弈论,直接扔。

+

C 的题面很可爱,好像是什么原根的性质。

+

想了很久都只有暴力,发现给了 1e6 的样例,于是偷鸡过了

+

事实证明这就是诈骗题

+

开 D ,又是构造,于是回去写 A。

+

发现题读错了,是选一个子序列整体右移。

+

01串中相邻两个不一样:一个0,一个1,只要凑出来相邻两个都一样就行。

+

然后卡在 D 了,正着想怎么也做不出来。

+

发现最后一位可以直接出,然后可以逆推,(n1)n2\frac {(n-1)n}{2} 中包含了 ana_n 和之后比它小的。

+

后者可以直接树状数组查

+

不难发现 n(n1)2sum(n1)\frac{n(n-1)}{2}-sum(n-1) 是随 nn 单增(不严格)的,所以我们可以二分。

+

这里一直写WA,原来是二分的时候出锅了。

+

我写的二分在处理相等情况的时候取反了,这里应该取相等里面数值最大的。(反着来是降序)

+

最后半个小时才看B,发现是个很套路的背包

+

疯狂rush,过了。

+
+

对于某些细节的理解还是不够深刻(比如 D 的二分

+

之后要好好思考一下。

+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/about/index.html b/post/about/index.html new file mode 100644 index 0000000..9f5c422 --- /dev/null +++ b/post/about/index.html @@ -0,0 +1,850 @@ + + + + + + + + + +关于 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 关于 + +

+ +
+
+

我的洛谷博客

+

我的博客园

+

🏠 关于本站

+

这是我比较常更(咕咕咕)的blog了,还有两个其他的blog,挂在上面。
+洛谷博客主要是一些题解和写的比较屑的学习笔记,欢迎dalao来踩。
+博客园还在咕咕咕。

+

👨‍💻 博主是谁

+

博主是HE最菜的oier,sjzez南的垫底选手,AlanSP\Huge \text{AlanSP}🤝

+

whk水平捉急,竞赛退役的蒟蒻。

+

友链rand排序,都是机房随手吊打我的神仙们Orz。

+

另外这里就当留言板惹,有什么想对我说的都可以写QAQ(目前还在咕咕咕)。

+

📬 联系我呀

+

QQ:1487914438
+邮箱就是QQ邮箱惹qwq。

+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/ao-fa-zhi-jie-ti-jie/index.html b/post/ao-fa-zhi-jie-ti-jie/index.html new file mode 100644 index 0000000..6f82183 --- /dev/null +++ b/post/ao-fa-zhi-jie-ti-jie/index.html @@ -0,0 +1,787 @@ + + + + + + + + + +奥法之劫 题解 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 奥法之劫 题解 + +

+ +
+
+

这里是 O(n)O(n) 的做法。

+ +

我们先从一个朴素的 O(n3)O(n^3) dp讲起。

+

f[i]f[i] 表示我处理到 ii 号节点的最小代价和,那么转移有:

+

f[i]=min(f[k]+cost(k+1,i))f[i]=\min(f[k]+\mathrm{cost}(k+1,i)) +

+

那么我们可以进行一步步优化到 O(n)O(n)

+
+

先关注 pi0p_i\geqslant 0 的情况,有一些我们不得不拆的 aia_i,我把它们称作“代价”。

+

这些代价不仅和当前 ii 的位置是有关,还与 bb 的高度有关。

+

我们发现代价是不好计算的。随着 ii 的变化,代价也随之变化,所以每次都要 O(n)O(n) 扫描。

+

换一种思路,我们可以考虑每个 aia_i 对答案的贡献,把它们挂在对应的节点上,就可以快速计算。

+

也就是说,我们要找到对于每一个 aka_k,找到第一个 aia_i,使得选中 aia_i 时必须要拆除 aka_k

+

具体而言,我们可以在 bb 数组中 lower_bound aklower\_bound\ a_k,把 pkp_k 加到对应的高度上。

+

那么每次我想选一个 aia_i,就必须要拆除所有挂在 bjb_j 上的代价,因为它们没有被选中且未被挡住。(其中 ai=bja_i=b_j

+

这样我们砍掉了计算区间贡献的 nn,而换成了 logn\log n

+

再想想,由于 bb 数组是单调的,所以我们可以一遍扫一遍存下来 lower_boundlower\_bound 的结果,就可以做到 O(1)O(1) 了。

+
+

但此时,我们的转移点还是不确定,并且没有考虑 pi<0p_i<0 的情况。

+

对于 pi<0p_i<0 的部分,我们贪心的想肯定是越选多越好,所以除了把 ii 选中的情况我们的答案都应该加上这些 pip_i

+

没错,这里的影响就只和 ii 的位置有关了,同样有关的还有我们的 ff 数组。

+

其实我们 dpdp 的本质,就是在最小化这些东西,而之前的操作是为了方便计算必须要拆的代价。

+

我们设 aia_i 对应的 bb 的位置为 posipos_iii 之前 pi<0p_i<0 部分的和为 sumisum_i,那么转移有:

+

f[i]=minposk<posi(f[k]sumk)+sumi+costjf[i]=\min_{pos_k<pos_i}(f[k]-sum_k)+sum_i+cost_{j} +

+

其中 costjcost_j 表示在 ii 位置保留 bjb_j 高度的代价。

+

我们发现 minmin 里面的可以记一个前缀最小值,这样就可以 O(1)O(1) 转移了。

+

这样最小化了能够最小化的部分,也统计了代价。

+
+

最后注意几点:

+
    +
  1. +

    为了保证最后答案能够统计到,要在 n+1n+1 的位置插一个极大值。

    +
  2. +
  3. +

    如果存在 aibja_i\neq b_j 对于任意的 jj ,那么它不能参与统计答案,但必须要参与代价以及 sumsum 的计算。

    +
  4. +
  5. +

    其实 ffsumsum 数组根本没必要开。~

    +
  6. +
+
#include<cstdio>
+#include<cstring>
+#include<algorithm>
+using namespace std;
+#define ll long long
+const int N=5e6+9;
+const ll INF=1e18;
+inline int read(){
+	int res=0,f=1;
+	char ch=getchar();
+	while(ch<'0'||ch>'9'){
+		if(ch=='-') f=-1;
+		ch=getchar();
+	}
+	while(ch>='0'&&ch<='9'){
+		res=(res<<1)+(res<<3)+ch-'0';
+		ch=getchar();
+	}
+	return res*f;
+}
+int n,a[N],b[N],Q[N],m,pos[N];
+ll f[N],g[N],cost[N],p[N],sum;
+int main()
+{
+	// freopen("hs.in","r",stdin);
+	// freopen("offa.out","w",stdout);
+	n=read();
+	for(int i=1;i<=n;i++) a[i]=read();
+	for(int i=1;i<=n;i++) p[i]=read();
+	n++,a[n]=n;
+	m=read();
+	for(int i=1;i<=m;i++) b[i]=read();
+    for(int i=1;i<=m;i++) pos[b[i]]=i;
+    m++,b[m]=n,pos[n]=m;
+	for(int i=1;i<N;i++) g[i]=INF;
+    for (int i=1,j=1;i<=n;++i)
+	{
+		if(b[j]<i) j++;
+		Q[i]=j;
+	}
+	ll tmp=0;
+    for (int i=1;i<=n;i++)
+    {
+		int j=pos[a[i]];
+		if(j)
+		{
+			if(g[j-1]>=INF) f[i]=INF;
+			else f[i]=g[j-1]+cost[j]+sum;
+		}
+		if(p[i]>=0) cost[Q[a[i]]]+=p[i];
+		else sum+=p[i];
+		if(j&&f[i]<INF) g[j]=min(g[j],f[i]-sum);
+	}
+    if (f[n]<INF) printf("%lld",f[n]);
+    else puts("Impossible");
+    return 0;
+}
+
+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/atcoder-grand-contest-048-ti-jie/index.html b/post/atcoder-grand-contest-048-ti-jie/index.html new file mode 100644 index 0000000..3ca3342 --- /dev/null +++ b/post/atcoder-grand-contest-048-ti-jie/index.html @@ -0,0 +1,946 @@ + + + + + + + + + +Atcoder Grand Contest 048 题解 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + Atcoder Grand Contest 048 题解 + +

+ +
+
+

A. atcoder < S

+

题意

+

可以先判断字典序,如果大于 atcoder\text{atcoder} 直接输出 00 就好。

+

否则从前向后贪心找第一个字典序大于 aa 的位置,换到前面就好。

+

注意:如果这个位置大于 tt 那么可以换到第二位。

+

B. Bracket Score

+

题意

+

我们可以先假定所有括号都是圆括号,那么价值就是 a\sum a

+

考虑把其中一些括号换成方括号,由于要括号匹配,所有我们肯定一次换两个。

+

稍微思考可以发现,这两个括号一定一个处于奇数位置,一个偶数位置。

+

因为合法的括号序列中间元素个数一定是偶数。

+

那么我们可以把 bab-a 作为权值分奇偶排序,每次贪心取最前面的就可以,<0<0 停止。

+

C.Peguin Skating

+

题意

+

我们考虑操作的实质:合并两个段。

+

若向右移动第 ii 只企鹅,那么相当于合并了 ai+1ai1a_{i+1}-a_i-1 这个长度。

+

那么向左就是合并 aiai11a_i-a_{i-1}-1

+

考虑到结束状态的 bibi11b_i-b_{i-1}-1 是由若干个上面的 aa 合并而来,那么问题就转化为了用最少的代价合并出 bb

+

我们考虑每一个非0的 bibi11b_i-b_{i-1}-1,每次按顺序选择一个刚好和为它的一个连续区间。这样做一定是正确且最优的。

+

那么上述操作可以用双指针轻松实现。

+

注意:每次选取 aiai11a_i-a_{i-1}-1 时,要考虑非0的一段,若起始为 00 就要往后缩,保证步数最小。

+

D.Pocky Game

+

题意

+

首先先发现一个性质:一个人只有取完一堆和取一个两种操作。

+

这分别对应了取完和不取完的情况,而不取完的情况里,只取一个的情况可以转移到其他所有情况,一定不劣于其他选择。

+

类似 ZJOI取石子游戏,我们可以考虑dp求解。

+

L[i][j]L[i][j] 表示考虑 [i,j][i,j] 这个区间内,ala_l 至少取什么值能够保证 LeftLeft 先手必胜。

+

类似的 ,R[i][j]R[i][j] 表示考虑 [i,j][i,j] 这个区间内,ara_r 至少取什么值能够保证 RightRight 先手必胜。

+

我们考虑 L[i][j]L[i][j] 的转移:

+
    +
  • R[i+1][j]>ajR[i+1][j]>a_j 时,该状态若 RightRight 先手,无论怎么取必败。我们只需要取完 aia_i 即可,即最少 L[i][j]=1L[i][j]=1
  • +
  • R[i+1][j]ajR[i+1][j]\leqslant a_j 时,左右两边的人一定是慢慢取,一个一个取。
  • +
+

如果有人取的 >1>1,那么它的消耗速度会大于另外一个人,更早接近边界。

+

这里的 "边界" 即指 L[i][j1]L[i][j-1]R[i+1][j]R[i+1][j],如果有人剩下的石子小于边界的话,那么剩下的一个人直接将 aia_iaja_j 取完,变为 [i,j1][i,j-1][i+1,j][i+1,j],这样另一个人就会必败。

+

所以两人取到边界的时间分别为 aiL[i][j1]a_i-L[i][j-1]arR[i+1][j]a_r-R[i+1][j],若要左边必胜,则需在 RightRight 取过边界时,左边还未取过,即:

+

aiL[i][j1]ajR[i+1][j]+1a_i-L[i][j-1]\geqslant a_j-R[i+1][j]+1 +

+

移项,得:

+

L[i][j]=ajR[i+1][j]+L[i][j1]+1L[i][j]= a_j-R[i+1][j]+L[i][j-1]+1 +

+

R[i][j]R[i][j] 转移类似,总复杂度 O(Tn2)O(Tn^2),记忆化搜索实现。

+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/choice-ti-jie/index.html b/post/choice-ti-jie/index.html new file mode 100644 index 0000000..96e256e --- /dev/null +++ b/post/choice-ti-jie/index.html @@ -0,0 +1,740 @@ + + + + + + + + + +Choice 题解 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + Choice 题解 + +

+ +
+
+

我们依次考虑两个操作怎么实现。

+

不难发现,对于一个确定的‘+’‘-’序列,需要更改的次数是一定的。

+

那么我们现在只有交换一个操作,满足非负一个限制。

+

对于交换操作,我们可以倍长序列,枚举从哪里开始交换。

+

相当于是 2q2q 序列上的长为 qq 的区间。

+

将这个区间到末尾所有的位置提到前面去。

+
+

那么如何判断是否合法呢,要利用前缀和。

+

如果前缀和最小的位置的答案非负,那么一定合法。

+

反之,我们就要进行一定的‘1’操作,使其非负。

+

找到固定区间长度的最小值,使用单调队列。

+

注意:在修改序列的值后,仍要满足最后的值等于m的条件。

+
+
#include<cstdio>
+#include<cstring>
+#include<algorithm>
+using namespace std;
+const int N=1e6+9;
+int q,n,m,v1,v2,ans=0x7f7f7f7f,cnt;
+char ch[N];
+int a[N*2],Q[N*2],hh,tt,sum[N*2];
+bool flag=true;
+int main()
+{
+	// freopen("choice.in","r",stdin);
+	// freopen("choice.out","w",stdout); 
+	scanf("%d%d%d%d%d",&q,&n,&m,&v1,&v2);
+	scanf("%s",ch+1);
+	for(int i=1;i<=q;i++)
+	{
+		if(ch[i]=='+') a[i]=a[i+q]=1;
+		else a[i]=a[i+q]=-1;
+	}
+	for(int i=1;i<=q*2;i++) 
+		sum[i]=sum[i-1]+a[i];
+	for(int i=1;i<=q;i++)
+	{	
+		while(hh<=tt&&sum[Q[tt]]>=sum[i]) --tt;
+		Q[++tt]=i;//先找到原序列的最小值,备用
+	}
+	for(int i=q;i<=q*2;i++)
+	{
+		while(hh<=tt&&i-Q[hh]>=q) ++hh;
+		while(hh<=tt&&sum[Q[tt]]>=sum[i]) --tt;
+		Q[++tt]=i;
+		int now=n+sum[Q[hh]]-sum[i-q];//now表示此时能到达的最小值
+		int val=0,p=n+sum[i]-sum[i-q];//p是没有操作完成后的值
+		if(now<0)
+		{//上取整
+			val=(-now+1)/2*v1;
+			p+=(-now+1)/2*2;//更改了一些数,对p也有影响
+		}
+		int tmp=val+abs(p-m)/2*v1;//最后答案修正为m的代价
+		if(i!=q) tmp+=v2*(2*q-i);//把i以后的数全部提前的代价
+		ans=min(ans,tmp);
+	}
+	printf("%d\n",ans);
+	return 0;
+}
+
+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/codeforces-679-div2-jian-yao-ti-jie/index.html b/post/codeforces-679-div2-jian-yao-ti-jie/index.html new file mode 100644 index 0000000..813c319 --- /dev/null +++ b/post/codeforces-679-div2-jian-yao-ti-jie/index.html @@ -0,0 +1,918 @@ + + + + + + + + + +Codeforces #679 div2 简要题解 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + Codeforces #679 div2 简要题解 + +

+ +
+
+ +

A.Finding Sasuke

+

发现 nn 为偶数,两两配对取相反数即可

+

B. A New Technique

+

通过输入输出,我们可以知道 nnmm 列的大小关系。

+

可以找到每个元素在原表中对应的行和列,利用 (i1)m+j(i-1)*m+j 映射就好。

+

C. Perform Easily

+

发现一个 aa 可以对应多个 bb ,我们考虑把每个 bab-a 排序。

+

问题即为求这个数列中每个 bb 选一个元素的最小极差。

+

要保证每个 bb 都出现,我们可以考虑双指针,并记录一下未出现元素的个数 cntcnt

+

cnt=0cnt=0 时,就一直指针左移并统计答案 。

+

D.Shurikens

+

第一次fst/kk

+

考虑维护一个栈,栈内加入的是下标,并未赋值。

+

把购买操作看成弹栈,并把栈顶代表的下标赋成当前的 xx

+

每次弹栈时,维护一个标记,表示当前栈内元素曾经的最小值。

+

由于只会在弹栈中考虑判定大小,所以加在栈顶就好了。

+

不合法有两种情况:

+
    +
  • +

    当前栈为空。

    +
  • +
  • +

    栈顶标记 > 当前元素,说明栈内有比最小值还小的元素。

    +
  • +
+

之后模拟就好了,复杂度 O(n)O(n),也不需要离线和倒推。

+

更新标记时一定要和原本的标记取max!!!

+

E.Solo mid Oracle

+

结论题。

+

首先无限的情况很好判定,只要 a>bca>b*c 就行。

+

考虑最大的伤害一定是在某一次攻击后的瞬间,所以我们只要找到最后一次攻击是第几次即可。

+

不难发现,在 a1b\frac {a-1}{b} 秒前,我们这次伤害都能打掉敌人血,而这之后则不然。

+

我们要在这段时间内尽可能创造出最大伤害,否则相当于没打。

+

这之间我们最多能打 a1bd\lfloor\frac{a-1}{bd}\rfloor 次,造成的伤害a1bd×a\lfloor\frac{a-1}{bd}\rfloor\times a

+

最后答案扣除敌人恢的血就好了,这一段时间内敌人一直在回血。

+

(这里再看看 cf 的题解)

+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/da-wu/index.html b/post/da-wu/index.html new file mode 100644 index 0000000..5c24517 --- /dev/null +++ b/post/da-wu/index.html @@ -0,0 +1,1268 @@ + + + + + + + + + +平衡树全家桶 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 平衡树全家桶 + +

+ +
+
+

讲几棵平衡树

+

前置知识:BST。

+ +

...

+

1.Splay(伸展树)

+

Splay算是平衡树中比较重要的一种了,虽然不能可持久化,但仍有着举足轻重的地位。(文科生

+

众所周知,Splay通过旋转,伸展来维持平衡。也是这个地方最难理解。(我就是这样)

+

先贴几张图

+
+

(画的巨丑的平衡树)

+

根据图我们知道tr[x].fa=y,tr[y]=z;
+tr[x].ch[0]=A,tr[x].ch[1]=B

+

根据BST的性质,我们可以得到 A<x<B,x<y<c,y<z;

+

我们旋转,是要维护平衡树的树形结构,防止退化。所以我们应该把x旋转上去。

+

因为x<z,所以x是z的左孩子。

+

根据BST插入的性质,有x<B<y。

+

所以B被当作y的左儿子,C和A的相对位置不变。

+

把结论推广:x变为y原来的那个儿子,y变为x原来的相反儿子,其余儿子不变。

+

这样就旋转完成了!!!QWQ撒花★,°:.☆( ̄▽ ̄)$:.°★

+

你以为这就是splay吗,不,这只是splay的基操:rotate。

+

至于splay,还要更复杂一亿点点。

+

Tarjan曾说:Splay要靠双旋来维持平衡。

+

因为如果单旋的话,如上图,还是很容易被卡成链。(再两次rotate后z和y在一条链上)

+

这时候就要分情况讨论:

+

如果x,y,z,在一条链上,就要先旋y,再旋x;

+

这样就没有特别明显的链了(自行画图理解)

+

else,就旋两次x就行了。

+

另外注意细节:如果z点不存在(y就是根),要特判。

+

因为此时旋一次x就行了

+

(感谢yyb巨佬

+

看代码吧(我懒得画图了)

+
#include<bits/stdc++.h>
+using namespace std;
+
+const int N=1e6+9;
+const int INF=1<<30;
+
+struct Splay{
+	int ch[2];
+	int cnt,val,fa,siz;
+} a[N];
+
+inline void out()
+{
+	cout<<"edwqedwq"<<endl;
+}
+
+int root,tot,n;
+
+inline void update(int x)
+{
+	a[x].siz=a[a[x].ch[0]].siz+a[a[x].ch[1]].siz+a[x].cnt;
+}
+
+inline void clear(int x)
+{
+	a[x].fa=a[x].cnt=a[x].siz=a[x].val=a[x].ch[0]=a[x].ch[1]=0;
+}
+
+inline int ide(int p)
+{
+	return a[a[p].fa].ch[1]==p;
+}
+
+inline void connect(int p,int fa,int son)
+{
+	a[p].fa=fa,a[fa].ch[son]=p;
+}
+
+inline void rotate(int p)
+{
+	int fa=a[p].fa,gfa=a[fa].fa,fson=ide(fa),son=ide(p);
+	connect(p,gfa,fson);
+	connect(a[p].ch[son^1],fa,son);
+	connect(fa,p,son^1);
+	update(fa),update(p);
+}
+
+inline void splay(int p)
+{
+	for(int fa;(fa=a[p].fa);rotate(p))
+	{
+		if(a[fa].fa) rotate((ide(fa)==ide(p)?fa:p));
+	}
+	root=p;
+}
+
+inline void insert(int val)
+{
+	int p=root,fa=0;
+	while(p&&a[p].val!=val) fa=p,p=a[p].ch[val>a[p].val];
+	if(p) a[p].cnt++,update(p);
+	else
+	{
+		p=++tot;
+		a[p].val=val;
+		a[p].fa=fa;
+		a[p].cnt=a[p].siz=1;
+		a[p].ch[0]=a[p].ch[1]=0;
+		if(fa) a[fa].ch[val>a[fa].val]=p;
+	}
+	splay(p);
+}
+
+inline void find(int val)
+{
+	if(!root) return;
+	int p=root;
+	while(a[p].ch[val>a[p].val]&&a[p].val!=val) p=a[p].ch[val>a[p].val];
+	splay(p);
+}
+
+inline int get_rank(int p)
+{
+	find(p);
+	return a[a[root].ch[0]].siz;
+}
+
+inline int pre()
+{
+	int now=a[root].ch[0];
+	while(a[now].ch[1]) now=a[now].ch[1];
+	return now;
+}
+
+inline int nxt()
+{
+	int now=a[root].ch[1];
+	while(a[now].ch[0]) now=a[now].ch[0];
+	return now;
+}
+
+inline void Delete(int p)
+{
+	find(p);
+	if(a[root].cnt>1)
+	{
+		a[root].cnt--;
+		update(root);
+		return;
+	}//situation 1
+	if(!a[root].ch[0]&&!a[root].ch[1])
+	{
+		clear(root);
+		root=0;
+		return;
+	}
+	if(!a[root].ch[0])
+	{
+		int tem=root;
+		a[root=a[root].ch[1]].fa=0;
+		clear(tem);
+		return;
+	}
+	if(!a[root].ch[1])
+	{
+		int tem=root;
+		a[root=a[root].ch[0]].fa=0;
+		clear(tem);
+		return;
+	}
+	int tem=root,last=pre();
+	splay(last);
+	connect(a[tem].ch[1],root,1);
+	clear(tem);
+	update(root);
+}
+
+inline int get_val(int x)
+{
+	x++;
+	int p=root;
+	while(1)
+	{
+		int ls=a[p].ch[0];
+		if(a[ls].siz>=x) p=ls;
+		else if(a[ls].siz+a[p].cnt<x)
+		{
+			x-=a[ls].siz+a[p].cnt;
+			p=a[p].ch[1];
+		}
+		else return a[p].val;
+	}
+}
+
+int main()
+{
+	scanf("%d",&n);
+	insert(INF),insert(-INF);
+	int op,x;
+	while(n--)
+	{
+		scanf("%d%d",&op,&x);
+		switch(op)
+		{
+			case 1:
+				insert(x);
+				break;
+			case 2:
+				Delete(x);
+				break;
+			case 3:
+				printf("%d\n",get_rank(x));
+				break;
+			case 4:
+				printf("%d\n",get_val(x));
+				break;
+			case 5:
+				insert(x),printf("%d\n",a[pre()].val),Delete(x);
+				break;
+			case 6:
+				insert(x),printf("%d\n",a[nxt()].val),Delete(x);
+				break;
+		}
+	}
+	return 0;
+}
+
+

2.Treap(传统树堆)

+

如果你理解了Splay的rotate操作,那么Treap便轻而易举。

+

Treap=Tree+Heap,也就是说,这是一种既满足BST,又符合堆的性质的数据结构。

+

BST由他的权值val体现,而堆则要靠我们随机赋的权dat体现。

+

堆是为BST服务的,如果子树过重,它的dat会很大,整棵树就不平衡了(这点和替罪羊很像)

+

这时我们就需要旋转来维护平衡,具体操作分为左旋和右旋

+

操作很简单,就把它和左(右)儿子换位就行,注意维护一下BST的性质。

+

(我曾经问过S1rius神仙:Treap会因为随机的dat被卡吗?)

+
+

如果你真的因为随机种子被卡了,而不是你写挂了,那么你可以去买彩票了。

+
+

贴一下代码(初学敲的李煜东的板子)

+
#include<bits/stdc++.h>
+using namespace std;
+
+const int N=1e6+9;
+const int INF=1<<30;
+struct Treap{
+	int l,r;
+	int val,siz,cnt,dat;
+} a[N];
+int tot,root,n;
+
+inline void update(int x)
+{
+	a[x].siz=a[a[x].l].siz+a[a[x].r].siz+a[x].cnt;
+}
+
+inline int New(int val)
+{
+	a[++tot].val=val;
+	a[tot].siz=a[tot].cnt=1;
+	a[tot].dat=rand();
+	return tot;
+}
+
+inline void build()
+{
+	New(-INF),New(INF);
+	root=1,a[1].r=2;
+	update(1);
+}
+
+inline void zig(int &p)
+{
+	int q=a[p].l;
+	a[p].l=a[q].r,a[q].r=p,p=q;
+	update(a[p].r),update(p);
+}
+
+inline void zag(int &p)
+{
+	int q=a[p].r;
+	a[p].r=a[q].l,a[q].l=p,p=q;
+	update(a[p].l),update(p);
+}
+
+inline void insert(int &p,int val)
+{
+	if(p==0)
+	{
+		p=New(val);
+		return;
+	}
+	if(val==a[p].val)
+	{
+		a[p].cnt++;
+		update(p);
+		return;
+	}
+	if(val>a[p].val) 
+	{
+		insert(a[p].r,val);
+		if(a[a[p].r].dat>a[p].dat) zag(p);
+	}
+	else
+	{
+		insert(a[p].l,val);
+		if(a[a[p].l].dat>a[p].dat) zig(p);
+	}
+	update(p);
+}
+
+inline void Delete(int &p,int val)
+{
+	if(p==0) return;
+	if(a[p].val==val)
+	{
+		if(a[p].cnt>1)
+		{
+			a[p].cnt--;
+			update(p);
+			return;
+		}
+		if(a[p].l||a[p].r)
+		{
+			if(a[p].r==0||a[a[p].l].dat>a[a[p].r].dat) zig(p),Delete(a[p].r,val);
+			else zag(p),Delete(a[p].l,val);
+			update(p);
+		}
+		else p=0;
+		return;
+	}
+	val<a[p].val?Delete(a[p].l,val):Delete(a[p].r,val);
+	update(p);
+}
+
+inline int get_rank(int p,int val)
+{
+	if(p==0) return 0;
+	if(val==a[p].val) return a[a[p].l].siz+1;
+	if(val<a[p].val) return get_rank(a[p].l,val);
+	return get_rank(a[p].r,val)+a[p].cnt+a[a[p].l].siz;
+}
+
+inline int get_val(int p,int rank)
+{
+	if(p==0) return INF;
+	if(a[a[p].l].siz>=rank) return get_val(a[p].l,rank);
+	if(a[a[p].l].siz+a[p].cnt>=rank) return a[p].val;
+	return get_val(a[p].r,rank-a[a[p].l].siz-a[p].cnt);
+}
+
+inline int get_pre(int val)
+{
+	int p=root,pre;
+	while(p)
+	{
+		if(a[p].val<val) pre=a[p].val,p=a[p].r;
+		else p=a[p].l;
+	}
+	return pre;
+}
+
+inline int get_next(int val)
+{
+	int p=root,nxt;
+	while(p)
+	{
+		if(a[p].val>val) nxt=a[p].val,p=a[p].l;
+		else p=a[p].r;
+	}
+	return nxt;
+}
+
+int main()
+{
+	build();
+	scanf("%d",&n);
+	int op,x;
+	while(n--)
+	{
+		scanf("%d%d",&op,&x);
+		switch(op)
+		{
+			case 1:
+				insert(root,x);
+				break;
+			case 2:
+				Delete(root,x);
+				break;
+			case 3:
+				printf("%d\n",get_rank(root,x)-1);
+				break;
+			case 4:
+				printf("%d\n",get_val(root,x+1));
+				break;
+			case 5:
+				printf("%d\n",get_pre(x));
+				break;
+			case 6:
+				printf("%d\n",get_next(x));
+				break;
+		}
+	}
+	return 0;
+}  
+
+

3.fhq-Treap(非旋树堆)

+

不会,先咕着

+

4.Scapegoat Tree(替罪羊树)

+

+

5.WBLT

+

这里

+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/educational-codeforces-round-94-jian-yao-ti-jie/index.html b/post/educational-codeforces-round-94-jian-yao-ti-jie/index.html new file mode 100644 index 0000000..183bf6b --- /dev/null +++ b/post/educational-codeforces-round-94-jian-yao-ti-jie/index.html @@ -0,0 +1,989 @@ + + + + + + + + + +Educational Codeforces Round 94 简要题解 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + Educational Codeforces Round 94 简要题解 + +

+ +
+
+ +

A.String Similarity

+

题目链接

+

构造题。

+

我们观察到,长度为 2n12n-1 的串只有 nn 个长度为 nn 的子串。

+

不难想到让构造出的串每一位与这n个串中的不同位分别相等。

+

方便构造,可以取第一个串的第一位,第二个的第二位……

+

那么对应到原串,构造出的串的第 kk 位为原串的第 2k12k-1 位。

+

Code

+

B.RPG Protagonist

+

题目链接

+

阴间题。没有二分,递推等高级算法,纯枚举+模拟。

+

我们可以枚举第一个人选ss的个数。

+

那么他剩余的空间肯定用来选ww

+

设第一个人选完后剩下的ssww的个数分别为 cs,cwcs,cw

+

那么问题转化成了第二个人在 cs,cwcs,cw 中选的最大个数。

+

简单贪心,先考虑最小体积的,再放最大的。

+

模拟即可。

+

为了方便,我们可以在枚举前确定 wwss 的大小关系,然后枚举较小者。

+

Code

+

C.Binary String Reconstruction

+

题目链接

+

根据逻辑运算,在s中为0的位置i,原串中i-x,i+x必定为0。(若存在)

+

那么可以根据这一性质,先把 00 的位置前后+,-x的位置确定。

+

再枚举 11 的位置,若前后都是0,那么无解。

+

如果有解,那么把未确定的部分都赋值为1,一定是一个解的方案。

+

Code

+

D.Zigzags

+

题目链接

+

我们可以先枚举第一个区间 [i,j][i,j] ,保证 ai=aja_i=a_j

+

那么问题转化成在 (i,j)(i,j)(j,n](j,n] 间,相等的数字对数。

+

我们可以预处理出在 [1,j][1,j][1,n][1,n] 间,相等的数字对数 s[j][n]s[j][n]

+

若要提取给定区间,可以运用差分思想减去 s[i][n]s[i][n]s[j1][j]s[j-1][j]

+

相当于去除了 [1,i][1,i][1,j][1,j] 对答案的贡献。

+

根据容斥,还要加上 s[i][j]s[i][j]

+

受到P6006的启发,这就是一个二维前缀和。

+

那么我们就可以 O(1)O(1) 回答了。

+

记得开longlong。

+

Code

+

E.Clear the multiset

+

题目链接

+

贪心+分治。

+

每次进行一次操作后,原问题都转化成了一个新的子问题,可以分治解决。

+

如果只有第一种方式,那么我们贪心选择能选的最大数字和宽度。

+

这样做一定比其他方式更优或不劣。

+

找到最大的连通区域,减去最大数字后递归求解。

+

再考虑第二种方式,对于任意一个区间操作次数均为 rl+1r-l+1

+

将两者取min,就得到了当前问题的最优解法。

+

得到了子问题的最优方案,便可以归并求得最终答案。

+

l=r时为边界,如果非0则操作次数为1,否则为0.

+

Code:

+
#include<cstdio>
+#include<algorithm>
+#include<cstring>
+using namespace std;
+#define int long long
+int n;
+int h[5009];
+
+inline int solve(int l,int r,int H)
+{
+	if(l==r) return h[l]?1:0;
+	int minn=0x7f7f7f7f,res=0;
+	for(int i=l;i<=r;i++) minn=min(minn,h[i]);
+	res+=minn-H;
+	int p;
+	for(int i=l;i<=r;i=p+1)
+	{
+		p=i;
+		if(h[i]==minn) continue;
+		for(int j=i+1;j<=r;j++)
+		{
+			if(h[j]==minn) break;
+			p=j;
+		}
+		res+=solve(i,p,minn);
+	} 
+	return min(res,r-l+1);
+}
+
+signed main()
+{
+	scanf("%lld",&n);
+	for(int i=1;i<=n;i++) scanf("%lld",&h[i]);
+	printf("%lld\n",solve(1,n,0));
+	return 0;
+}
+
+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/han-shu-diao-yong-ti-jie/index.html b/post/han-shu-diao-yong-ti-jie/index.html new file mode 100644 index 0000000..8ff7a9e --- /dev/null +++ b/post/han-shu-diao-yong-ti-jie/index.html @@ -0,0 +1,1004 @@ + + + + + + + + + +函数调用 题解 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 函数调用 题解 + +

+ +
+
+

Description

+

给定一个序列和若干种操作,他们分成三类:

+
    +
  • 将序列中的指定元素加上一个值;
  • +
  • 将序列中的每一个元素乘以一个相同值;
  • +
  • 依次执行若干次操作,不会出现递归。
    +给出一个长度为 qq 的操作串,询问依次执行完上面的所有操作后,序列中每个元素的值是多少。
  • +
+
+ +

Solution

+

把每个操作和它所执行的操作连单向边,这样就形成了一个 dagdag

+

在这个 dagdag 上面,真正使答案变化的是那些出度为 00 的点,其他点只是反复地"调用"它们。

+

那么不难联想到要处理出每一个点所能产生的贡献。

+

我们发现,对于乘法操作,越靠后进行它影响的范围就越广,而在它之前的所有操作,都受这个乘法的影响。

+

这样可以沿拓扑序倒序递推出每个节点的贡献,这里的贡献指进行这个操作,整个序列要乘以多少。

+
+

接下来我们再考虑加法操作。

+

同理,我们可以维护出对于每个操作,它在这个操作串中被加了多少次。

+

注意:这时我们就要整体考虑了,并且对于 op1op\neq 1 的那些操作,我们递推不是为了统计答案,而是要得到后面状态的值。

+

很显然,我们要顺着拓扑序去更新。

+

此时也要把乘法标记下放,最后先乘再加,以防搞混。

+

Code

+
#include<cstdio>
+#include<cstring>
+#include<vector>
+#include<algorithm>
+using namespace std;
+const int N=1e5+9,mod=998244353;
+vector<int> G[N],g[N];
+int n,m,q,mul[N],op[N],add[N],f[N];
+int Q[N],hh,tt,a[N],pos[N],in[N];
+int Add[N],Mul[N];
+inline int read()
+{
+	int res=0,f=1;
+	char ch=getchar();
+	while(ch<'0'||ch>'9') 
+	{
+		if(ch=='-') f=-1;
+		ch=getchar();
+	}
+	while(ch>='0'&&ch<='9')
+		res=(res<<3)+(res<<1)+ch-'0',ch=getchar();
+	return res*f;
+}
+
+inline void rev_toposort()
+{
+	hh=0,tt=-1;
+	for(int i=1;i<=m;i++) if(!in[i]) Q[++tt]=i;
+	while(hh<=tt)
+	{
+		int u=Q[hh++];
+		for(int i=0;i<g[u].size();i++)
+		{
+			int v=g[u][i];
+			mul[v]=1ll*mul[u]*mul[v]%mod;
+			if(--in[v]==0) Q[++tt]=v;
+		}
+	}
+}
+
+inline void toposort()
+{
+	memset(in,0,sizeof in);
+	for(int i=1;i<=m;i++)
+		for(int j=0;j<G[i].size();j++)
+			in[G[i][j]]++;
+	hh=0,tt=-1;
+	for(int i=1;i<=m;i++) if(!in[i]) Q[++tt]=i;
+	while(hh<=tt)
+	{
+		int u=Q[hh++];
+		for(int i=G[u].size()-1;i>=0;i--)
+		{
+			int v=G[u][i];
+			Add[v]=(Add[v]+Add[u])%mod;
+			Add[u]=1ll*Add[u]*mul[v]%mod;
+			if(--in[v]==0) Q[++tt]=v;	
+		}
+	}
+}
+
+int main()
+{
+	// freopen("call.in","r",stdin);
+	// freopen("call.out","w",stdout);
+	n=read();
+	for(int i=1;i<=n;i++) a[i]=read();
+	m=read();
+	for(int i=1;i<N;i++) mul[i]=1;
+	for(int i=1;i<=m;i++)
+	{
+		op[i]=read();
+		if(op[i]==1) pos[i]=read(),add[i]=read();
+		if(op[i]==2) mul[i]=read();
+		if(op[i]==3)
+		{
+			int cnt;cnt=read();
+			while(cnt--)
+			{
+				int x;x=read();
+				g[x].push_back(i);in[i]++;
+				G[i].push_back(x);
+			}
+		}
+	}
+	rev_toposort();
+	q=read();
+	for(int i=1;i<=q;i++) f[i]=read();Mul[q+1]=1;
+	for(int i=q;i>=1;i--)
+	{
+		Mul[i]=1ll*Mul[i+1]*mul[f[i]]%mod;
+		Add[f[i]]=(Add[f[i]]+Mul[i+1])%mod;
+	}
+	for(int i=1;i<=n;i++) a[i]=1ll*a[i]*Mul[1]%mod;
+	toposort();
+	for(int i=1;i<=m;i++)
+		if(op[i]==1) a[pos[i]]=(a[pos[i]]+1ll*add[i]*Add[i]%mod)%mod;//printf("%d %d\n",pos[i],Add[i]);
+	for(int i=1;i<=n;i++)
+		printf("%d ",a[i]);
+	return 0;
+}
+
+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/hello-gridea/index.html b/post/hello-gridea/index.html new file mode 100644 index 0000000..4fc021d --- /dev/null +++ b/post/hello-gridea/index.html @@ -0,0 +1,874 @@ + + + + + + + + + +Hello Gridea | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + Hello Gridea + +

+ +
+
+

👏 欢迎使用 Gridea
+✍️ Gridea 一个静态博客写作客户端。你可以用它来记录你的生活、心情、知识、笔记、创意... ...

+ +

Github
+Gridea 主页
+示例网站

+

特性👇

+

📝 你可以使用最酷的 Markdown 语法,进行快速创作

+

🌉 你可以给文章配上精美的封面图和在文章任意位置插入图片

+

🏷️ 你可以对文章进行标签分组

+

📋 你可以自定义菜单,甚至可以创建外部链接菜单

+

💻 你可以在 WindowsMacOSLinux 设备上使用此客户端

+

🌎 你可以使用 𝖦𝗂𝗍𝗁𝗎𝖻 𝖯𝖺𝗀𝖾𝗌Coding Pages 向世界展示,未来将支持更多平台

+

💬 你可以进行简单的配置,接入 GitalkDisqusJS 评论系统

+

🇬🇧 你可以使用中文简体英语

+

🌁 你可以任意使用应用内默认主题或任意第三方主题,强大的主题自定义能力

+

🖥 你可以自定义源文件夹,利用 OneDrive、百度网盘、iCloud、Dropbox 等进行多设备同步

+

🌱 当然 Gridea 还很年轻,有很多不足,但请相信,它会不停向前 🏃

+

未来,它一定会成为你离不开的伙伴

+

尽情发挥你的才华吧!

+

😘 Enjoy~

+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/jue-ce-dan-diao-xing-xue-xi-bi-ji/index.html b/post/jue-ce-dan-diao-xing-xue-xi-bi-ji/index.html new file mode 100644 index 0000000..600f367 --- /dev/null +++ b/post/jue-ce-dan-diao-xing-xue-xi-bi-ji/index.html @@ -0,0 +1,926 @@ + + + + + + + + + +决策单调性 学习笔记 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 决策单调性 学习笔记 + +

+ +
+
+

很早学长就讲了这个,但到现在才会/kk。

+ +

1.理论基础

+

我们发现有一种dp题,它的决策点有如下变化:

+

1111122223446777\mathrm{1111122223446777\dots} +

+

是的,随着转移点的递增,决策点也在递增。

+

那么我们可以利用这样的性质优化DP,这也称作1D1D优化。

+
+

2.实现方式

+

重点全在这里

+

我们看到它的决策点,会联想到单调队列。

+

但是决策点是会影响到一段区间的,不止和它之后的节点有关。

+

这种情况下,我们就要牺牲单调队列 O(1)O(1) 维护单调性的方式,采用 O(logn)O(\log n) 的二分。

+

也有人管这个叫单调二分栈。

+

具体来讲,是再维护一个数组 kk,表示在队列里 ii 号位置的影响范围最晚是哪里的下一位。

+

也就是最早不能被 ii 所覆盖的位置。

+

转移时根据k的范围,再考虑用哪个点转移。

+

大体上就这么多,下面讲细节。先放代码。

+
for(int i=1;i<=n;i++)
+{//k[i]表示在i这个节点作为决策点最晚可以扩展到哪里的下一位。
+	while(hh<tt&&k[hh]<=i) ++hh;//(1)
+	f[i]=get_ans(Q[hh],i);pre[i]=Q[hh];
+	while(hh<tt&&find(Q[tt],i)<=k[tt-1]) --tt;//找到的i作为决策点的最优位置如果早于Q[tt]的,就弹掉(2)
+	k[tt]=find(Q[tt],i);Q[++tt]=i;/(3)
+}
+
+

(1)步,是更新步骤。找第一个能够涵盖 ii 位置的决策点。

+

由于 kk 维护的是下一位,所以是小于等于。

+

根据单调性,它一定是最优的。

+

接下来更新 f(i)f(i),注意取最大/最小值对单调性的影响。

+

(2)步,通过二分找决策点。

+

具体来说是找到第一个 ii 优于队尾的位置。

+

如果它在尾后元素的 kk 之前,说明对位影响的区间已经全被 ii 覆盖掉了。

+

这样直接弹出就好了,因为它永远也不会再成为决策点了。

+

(3)步,我们找到了一个并没有被完全覆盖的队尾。

+

但是 ii 已经影响到了它的一部分区间,所以要更新队尾的 kk 值。

+

此时队尾第一个不能覆盖的点就是 ii 最优的第一个点。

+

最后把 ii 加入即可。

+

二分部分没什么好说的,注意要求的是最大还是最小来确定二分是大于还是小于。

+
int l=x,r=n+1;
+	while(l<r)
+	{
+		int mid=(l+r)>>1;
+		if(get_ans(x,mid)>=get_ans(y,mid)) r=mid;
+		else l=mid+1;
+	}
+
+

如上,这是找最小值。所以找到第一个 f(y)<f(x)f(y)<f(x) 的位置。

+
+

*3.理论依据

+

说白了就是为什么有单调性。

+

现在还不会qwq。

+

+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/kmp-de-shan-chu-cao-zuo/index.html b/post/kmp-de-shan-chu-cao-zuo/index.html new file mode 100644 index 0000000..7c2c37b --- /dev/null +++ b/post/kmp-de-shan-chu-cao-zuo/index.html @@ -0,0 +1,920 @@ + + + + + + + + + +KMP的删除操作 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + KMP的删除操作 + +

+ +
+
+

Description:

+
+

在字符串SS中,重复删除同一个字串TT。直到TT不在是SS的字串为止

+

S106|S|\le10^6

+
+
+ +

第一眼可能没什么思路,但我想到了开栈。

+

最初的想法是开一个栈,把SS中的每个字符依次扔进去。

+

再同时跑kmp,如果匹配上,就弹出长度为T|T|的元素。

+

栈中剩下的就是要保留的元素。

+

但这个做法没过样例还是很良心的qwq

+

很显然,这样没法处理删除后产生的新串。

+

所以我们开一个辅助数组pospos[i]表示S的第i位匹配到的T的长度。

+

举个例子:whatthemomooofun中第9位pos[9]=2,匹配了mo。

+

这样我们每次在成功匹配退栈后可以让j跳向栈顶的pos,表示从栈顶继续匹配。

+

这样就解决了连续的问题🌶★,°:.☆( ̄▽ ̄)/$:.°★

+
+

Code:

+
#include<cstdio>
+#include<cstring>
+#include<algorithm>
+using namespace std;
+const int N=1e6+9;
+char s1[N],s2[N];
+int stk[N],top,nxt[N],pos[N];
+int main()
+{
+	scanf("%s%s",s1+1,s2+1);
+	int len1=strlen(s1+1),len2=strlen(s2+1);
+	nxt[0]=-1,nxt[1]=0;
+	int j;
+	for(int i=2;i<=len2;i++)
+	{
+		j=nxt[i-1];
+		while(~j&&s2[j+1]!=s2[i]) j=nxt[j];
+		nxt[i]=j+1;
+	}
+	j=0;
+	for(int i=1;i<=len1;i++)
+	{
+		stk[++top]=i;
+		while(~j&&s2[j+1]!=s1[i]) j=nxt[j];
+		j++;
+		pos[i]=j;
+		if(j==len2)
+		{
+			int t=len2;
+			top-=t;
+			j=pos[stk[top]];
+			// printf("%d\n",j);
+		}
+	}
+	for(int i=1;i<=top;i++) printf("%c",s1[stk[i]]);
+	return 0;
+}
+
+

n

+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/kuo-zhan-zhong-guo-sheng-yu-ding-li-xue-xi-bi-ji/index.html b/post/kuo-zhan-zhong-guo-sheng-yu-ding-li-xue-xi-bi-ji/index.html new file mode 100644 index 0000000..3792af4 --- /dev/null +++ b/post/kuo-zhan-zhong-guo-sheng-yu-ding-li-xue-xi-bi-ji/index.html @@ -0,0 +1,718 @@ + + + + + + + + + +扩展中国剩余定理 学习笔记 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 扩展中国剩余定理 学习笔记 + +

+ +
+
+

EXCRTEXCRT:

+

求同余方程余数无限制的通解。

+ +

设前k1k-1个方程解为xx,令m=i=1k1bim=\prod^{k-1}_{i=1}b_i

+

我们有x+im(iZ)x+i*m(i\in Z)为前k1k-1个方程的通解

+

对于第$ k 个方程,求t\in Z,x+t*m \equiv a_k(\mod m_k)$

+

tmakx(modmk)t*m\equiv a_k-x(\mod m_k)

+

由裴蜀定理,得若方程有解,则gcd(m,at)akxgcd(m,a*t)|a_k-x

+

通过exgcd,我们可以求得atm+bmk=gcd(m,at)a*t*m+ b*m_k=gcd(m,a*t)的一组通解

+

两边同乘akxgcd(m,at)\frac{a_k-x}{gcd(m,a*t)},得

+

atm(akx)/gcd(m,at)+bmk(akx)/gcd(m,at)=akxa*t*m*(a_k-x)/gcd(m,a*t)+b*m_k*(a_k-x)/gcd(m,a*t)=a_k-x +

+

由数学归纳法,循环n次即可

+
#include <bits/stdc++.h>
+using namespace std;
+typedef __int128 ll;
+const int N=1e5+9;
+ll n,m,ans,x,y,mul;
+int a[N],b[N];
+
+inline ll exgcd(ll a,ll b,ll &x,ll &y)
+{
+	if(!b) {x=1,y=0;return a;}
+	ll ret=exgcd(b,a%b,x,y);
+	ll z=x;x=y;y=z-(a/b)*y;
+	return ret;
+}
+
+int main()
+{
+	scanf("%lld",&n);
+	for(int i=1;i<=n;i++) scanf("%lld%lld",&b[i],&a[i]);
+	ans=a[1];mul=b[1];
+	for(int i=2;i<=n;i++)
+	{
+		ll tem=((a[i]-ans)%b[i]+b[i])%b[i];
+		ll G=exgcd(mul,b[i],x,y);
+		x=x*(tem/G)%b[i];
+		ans=ans+mul*x;
+		mul*=b[i]/G;
+		ans=(ans+mul)%mul;
+	}
+	printf("%lld\n",(long long)ans);
+	return 0;
+}
+
+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/lisandlcs/index.html b/post/lisandlcs/index.html new file mode 100644 index 0000000..4269d87 --- /dev/null +++ b/post/lisandlcs/index.html @@ -0,0 +1,888 @@ + + + + + + + + + +LIS&LCS | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + LIS&LCS + +

+ +
+
+

O(nlogn)O(nlogn)求LIS&LCS长度

+

你怎么连这个都不会qwq

+ +

1.二分查找

+

在dp过程中维护单调栈d。

+

其中d[i]表示长度为i的LIS的最优结尾元素。

+

处理a[i]时,若它比结尾小,可以直接接上结尾元素a[len]。

+

若大于结尾,则需在结尾之前插入。

+

考虑维护的d具有单调性,采用二分。

+

严格上升(下降)中,使用upper_bound。

+

二分出第一个大于a[i]的数a[pos]。

+

需要替换它。

+
+

正确性证明

+

因为二分出的pos为第一个比a[i]大的位置。

+

所以a[pos]>a[i],可以发现,用a[i]替换a[pos]不会改变单调性。

+

因为pos+1就比a[i]小了。

+

并且a[i]显然作为lis的结尾要比a[pos]优。

+
len=1;
+for(int i=2;i<=n;i++)
+	if(d[len]>=a[i])d[++len]=a[i];
+	else {
+		int pos=upper_bound(d+1,d+1+len,a[i])-d;
+		d[pos]=a[i];
+	}
+
+
+

2.树状数组

+

过程中维护前缀最大值就好了。

+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/mo-ni-sai-0627/index.html b/post/mo-ni-sai-0627/index.html new file mode 100644 index 0000000..7d8996b --- /dev/null +++ b/post/mo-ni-sai-0627/index.html @@ -0,0 +1,931 @@ + + + + + + + + + +模拟赛 06.27 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 模拟赛 06.27 + +

+ +
+
+

2020.06.27

+

菜到抠,连数字三角形都写挂了

+ +

T1. 看电影

+

Description

+
+

听说NOIP2016大家都考得不错,于是CCF奖励省常中了 K 张变形金刚5的电影票奖励OI队的同学去看电影。可是省常中OI队的同学们共有 N(N img K)人。于是机智的你想到了一个公平公正的方法决定哪K人去看电影。

+

​ N个人排成一圈,按顺时针顺序标号为1 - N,每次随机一个还存活的人的编号,将这个人踢出。继续上述操作,直到剩下K个人。

+

​ 但这样显然太无聊了,于是小S又想出一个牛逼的方法。

+

​ N个人排成一圈,按顺时针顺序标号为1 - N,每次随机一个1 - N的编号,假设随机到的编号是X,如果编号为X人还未踢出,则将这个人踢出,否则看编号为X % N + 1(即顺时针顺序下一个编号)的人是否存活,如果还未踢出则将他踢出,否则继续看编号(X + 1)% N + 1的人,如果已被踢出看顺时针的下一个…………,以此类推,直到踢出一个人为止。重复上述操作,直到剩下K个人。

+

​ 已知小S的编号是Id,问按照小S的方法来他有多少的概率可以不被踢出,成功得到看电影的机会。

+
+

刚开始没有头绪,就列了个概率式子。

+

然后手摸了几组,大胆猜个结论:ans=NKans=\frac N K,1e9的范围,看着就很结论。

+

补个证明:

+

对于n个人围成的环,被踢出的概率:

+

P(i)=1n+1n2n+1n(1n+1n3n)+1n(1n+1n(kn))P(i)=\frac 1n+\frac 1n*\frac 2n+\frac 1n*(\frac 1n+\frac 1n*\frac 3n)\dots+\frac 1 n*(\frac 1n+\frac 1n*(\dots\frac k n)) +

+

或者令aia_i为id在第i轮被踢出的概率,用累加法求通项,再求和。得:

+

P(i)=nknP(i)=\frac {n-k} n +

+

所以存活概率为kn\frac k n

+

也可以大胆臆测这对每个人都是等价的,ID其实无关紧要。

+
+

T2.树塔狂想曲

+

Description:

+
+

相信大家都在长训班学过树塔问题,题目很简单求最大化一个三角形数塔从上往下走的路径和。走的规则是:(i,j)号点只能走向(i+1,j)或者(i+1,j+1)。如下图是一个数塔,映射到该数塔上行走的规则为:从左上角的点开始,向下走或向右下走直到最底层结束。

+

​ 小S觉得这个问题so easy。于是他提高了点难度,他每次ban掉一个点(即规定哪个点不能经过),然后询问你不走该点的最大路径和。

+

​ 当然他上一个询问被ban掉的点过一个询问会恢复.

+
+

考虑分拆,经过(i,j)(i,j)的最短路就是f1[i][j]+f2[i][j]a[i][j]f1[i][j]+f2[i][j]-a[i][j]

+

其中f1,f2为向上,向下的最大路径。

+

每一层用前缀,后缀最大和计算不经过(i,j)(i,j)的最长路。

+

Ans[i][j]=max(suf[j+1],pre[j1])Ans[i][j]=\max(suf[j+1],pre[j-1]) +

+

循环利用数组suf和pre。

+

一定记住f2转移时不用判边界啊啊啊啊啊

+

10035100\rightarrow 35,我菜死了。

+
+

T3.被粉碎的线段树

+

Description:

+
+

小S刚刚学习了一个牛逼(入门)的数据结构——线段树。你看他正兴高采烈的准备跟你讨论线段树的问题呢?

+

​ 什么?你居然不知道什么是线段树,小S感到很吃惊,并向你作了如下解释:

+

​ (学过线段树的同学对下面的内容可以自行略过)

+

\1. 线段树有一个长度N。

+

\2. 线段树是一棵二叉树,每个节点都代表了一个闭区间img

+

\3. 我们递归定义这样一个线段树:

+

​ ① 根节点代表的区间为img

+

​ ② 叶子节点代表的区间为img,满足img

+

​ ③ 那么对于所有非叶子节点来说img,满足img,并且:

+

​ 设 img

+

那么该节点的左节点代表的区间为img,右节点代表的区间为img

+

​ 4. 不难发现我们发现线段树有以下性质:

+

img ① 树的节点个数为img

+

​ ② 树的深度不超过img

+

​ ③ 区间定位所包含的线段树节点个数不超过img

+

​ *什么是区间定位:

+

​ 用最少的线段树上节点表示的线段去拟合这个区间,每个点有且仅在这些线段中出现一次。

+

比如右图,区间img的区间定位出的区间个数是3,分别是img

+

我们不难证明这样的区间定位是唯一的。

+

好了,相信你已经对线段树有所了解,但是小R的线段树没学好。于是他的线段树就有显得有些奇怪了。

+

他的线段树与传统线段树的唯一区别如下:

+

传统线段树非叶子节点的划分点 img,但小R线段树的划分点img是自己定的。但满足img,其余条件同原来线段树。

+

那么不难发现如下性质:

+

① 该线段树的节点个数依然为img

+

② 该线段树深度可能会超过img

+

③ 该线段树区间定位所包含的线段树节点个数可能超过img。但区间定位的结果依然是唯一的。

+

小R给你这样一个小R线段树,每次询问给定区间的区间定位个数。

+
+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/mo-ni-sai-0817/index.html b/post/mo-ni-sai-0817/index.html new file mode 100644 index 0000000..608d07b --- /dev/null +++ b/post/mo-ni-sai-0817/index.html @@ -0,0 +1,1128 @@ + + + + + + + + + +模拟赛 08.17 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 模拟赛 08.17 + +

+ +
+
+

T1.doughnut

+
+

Aloisia有很多很多甜甜圈。有一天,她在地上画了n+1个格子,想从第1个格子跳到第n+1个格子。规则是,Aloisia每到一个格子,都会放一个甜甜圈在里面。在第i个格子时,如果当前甜甜圈的数量是偶数,那么她会跳到第i+1个格子;否则她会跳到第Pi个格子(1≤Pi≤i)。若她到达了第n+1个格子,则立即结束。Aloisia想知道,她要跳多少次才能到达终点。答案对1000000007取模。

+
+

注意到向后跳只能跳一步,且Pi<i。

+

并且在到达一个新的格子时,前面的格子必定是偶数。

+

我们可以设 f[i]f[i] 表示刚刚跳到第i个格子的步数。

+

那么跳到一个新的格子,肯定先会被弹飞到Pi。

+

可以用 f[i]f[p[i]]f[i]-f[p[i]] 表示从 p[i]p[i] 回来的步数。

+

最后加上1表示从i跳到i+1。

+

f[i+1]=f[i]+1+(f[i]f[p[i]])+1f[i+1]=f[i]+1+(f[i]-f[p[i]])+1 +

+
#include<cstdio>
+#include<cstring>
+#include<algorithm>
+using namespace std;
+#define int long long
+const int mod=1e9+7,N=1000009;
+int p[N],n,ans[N];
+signed main()
+{
+	scanf("%lld",&n);
+	for(int i=1;i<=n;i++) 
+		scanf("%lld",&p[i]);
+	for(int i=1;i<=n;i++)
+	{
+		ans[i+1]=(ans[i]+1+ans[i]-ans[p[i]]+1+mod)%mod;
+		if(ans[i+1]<0) ans[i+1]+=mod;
+	}
+	printf("%lld",ans[n+1]);
+	return 0;
+}
+
+

没开longlong 100->20

+
+

T2.Pudding

+
+

Harry得到了一个字符串。
+他想让Aloisia找出其中包含的(0w0)子序列有多少个。(注意0是数字,不是字母O)
+为了提高难度,Harry提出他可以随时修改一个或一段字符,询问区间内的(0w0)子序列个数。
+答案对4294967296取模。如果答对了的话,他就请Aloisia喝布丁奶茶。
+请你帮帮Aloisia。

+
+

考虑维护(0w0)的每个子串,(,(0,0w,(0w0,(0w0),0w0),w0),0),)。

+

我们可以记录 f[i][j]f[i][j] 表示从i到j的(0w0)的子串。

+

由于是区间操作,我们考虑线段树。

+

区间修改可以打标记覆盖。

+

重点在down和update。

+

下放标记时,把所有子节点的f置0,再赋值为标记点->区间长度。

+

build的时候同理。

+

update时,考虑跨区间的合并贡献。

+

类似区间dp的方式,f[i][k]×f[k+1][j]f[i][k]\times f[k+1][j]能够贡献父亲的 f[i][j]f[i][j]

+

(0w0)可以直接相加合并。

+

在query的时候,可以利用线段树从左到右遍历的性质。

+

记录ans为最终答案,同时在遍历过程中用新节点更新自己。

+

也就是所有新来的节点都能和之前的ans作为贡献。

+
#include<cstdio>
+#include<cstring>
+#include<iostream>
+using namespace std;
+#define ls (x<<1)
+#define rs (x<<1|1)
+#define int long long
+#define out puts("Debug")
+const int N=50009,mod=4294967296;
+char s[N],op[4];
+int n,m,sum[N],ans[6][6];
+
+struct Node
+{
+	int f[8][8];
+	char tag;
+} tr[N<<2];
+
+inline void down(int x,int l,int r)
+{
+	memset(tr[ls].f,0,sizeof tr[ls].f);
+	memset(tr[rs].f,0,sizeof tr[rs].f);
+	int mid=(l+r)>>1;
+	char c=tr[x].tag;
+
+	tr[ls].tag=tr[rs].tag=c;
+
+	if(c=='(') tr[ls].f[1][1]=mid-l+1;
+	if(c=='0') tr[ls].f[2][2]=tr[ls].f[4][4]=mid-l+1;
+	if(c=='w') tr[ls].f[3][3]=mid-l+1;
+	if(c==')') tr[ls].f[5][5]=mid-l+1;
+
+	if(c=='(') tr[rs].f[1][1]=r-mid;
+	if(c=='0') tr[rs].f[2][2]=tr[rs].f[4][4]=r-mid;
+	if(c=='w') tr[rs].f[3][3]=r-mid;
+	if(c==')') tr[rs].f[5][5]=r-mid;
+
+	tr[x].tag=0;
+}
+
+inline void update(int x)
+{
+	// memset(tr[x].f,0,sizeof tr[x].f);
+	for(int i=1;i<=5;i++)
+		for(int j=i;j<=5;j++)
+		{
+			tr[x].f[i][j]=(tr[ls].f[i][j]+tr[rs].f[i][j])%mod;
+			for(int k=i;k<j;k++)
+				tr[x].f[i][j]=(tr[x].f[i][j]+tr[ls].f[i][k]*tr[rs].f[k+1][j]%mod)%mod;
+		}
+}
+
+inline void build(int x,int l,int r)
+{
+	if(l==r)
+	{
+		if(s[l]=='(') tr[x].f[1][1]=1;
+		if(s[l]=='0') tr[x].f[2][2]=tr[x].f[4][4]=1;
+		if(s[l]=='w') tr[x].f[3][3]=1;
+		if(s[l]==')') tr[x].f[5][5]=1;
+		tr[x].tag=0;
+		return;
+	}
+	int mid=(l+r)>>1;
+	build(ls,l,mid);
+	build(rs,mid+1,r);
+	update(x);
+}
+
+inline void change(int x,int l,int r,int L,int R,char c)
+{
+	if(L<=l&&r<=R)
+	{
+		tr[x].tag=c;
+		memset(tr[x].f,0,sizeof tr[x].f);
+
+		if(c=='(') tr[x].f[1][1]=r-l+1;
+		if(c=='0') tr[x].f[2][2]=tr[x].f[4][4]=r-l+1;
+		if(c=='w') tr[x].f[3][3]=r-l+1;
+		if(c==')') tr[x].f[5][5]=r-l+1;
+		return;
+	}
+	if(tr[x].tag!=0)  down(x,l,r);
+	int mid=(l+r)>>1;
+	if(L<=mid) change(ls,l,mid,L,R,c);
+	if(R>mid) change(rs,mid+1,r,L,R,c);
+	update(x);
+}
+
+inline void query(int x,int l,int r,int L,int R)
+{
+	if(L<=l&&r<=R)
+	{
+		int tmp[8][8];
+		for(int i=1;i<=5;i++)
+			for(int j=i;j<=5;j++)
+			{
+				tmp[i][j]=(ans[i][j]+tr[x].f[i][j])%mod;
+				for(int k=i;k<j;k++)
+					tmp[i][j]=(tmp[i][j]+ans[i][k]*tr[x].f[k+1][j]%mod)%mod;
+			}
+		for(int i=1;i<=5;i++)
+			for(int j=i;j<=5;j++)
+				ans[i][j]=tmp[i][j];//tmp辅助转移
+		return;
+	}
+	int mid=(l+r)>>1;
+	if(tr[x].tag!=0) down(x,l,r);
+	if(L<=mid) query(ls,l,mid,L,R);
+	if(R>mid) query(rs,mid+1,r,L,R);
+	return;
+}
+
+signed main()
+{
+	scanf("%lld%lld",&n,&m);
+	scanf("%s",s+1);
+	build(1,1,n);
+	while(m--)
+	{
+		int x,y,z;
+		char ch;
+		scanf("%s",op+1);
+		scanf("%lld",&x);
+		if(op[1]=='A')
+		{
+			cin>>ch;
+			change(1,1,n,x,x,ch);
+		}
+		if(op[1]=='B')
+		{
+			scanf("%lld",&y);
+			cin>>ch;
+			change(1,1,n,x,y,ch);
+		}
+		if(op[1]=='C')
+		{
+			scanf("%lld",&y);
+			memset(ans,0,sizeof ans);
+			query(1,1,n,x,y);
+			printf("%lld\n",ans[1][5]);
+		}
+	}
+	return 0;
+}
+
+
+

T3.Tiramisu

+
+

Aloisia买了一份提拉米苏。在吃之前,她决定思考一个问题来增加仪式感。她随机出一个01串和一个正整数k,然后询问自己m次:每次给出一个区间,可以进行若干次操作,选出区间内任一个长度为k的子区间取反,求最少多少次操作可以把区间全变成0。每次询问独立。

+
+

考虑对原序列异或差分,这样可以 O(1)O(1) 进行区间减。

+

注意到,差分的操作端点,在 modk\mod k 的意义下是相等的。

+

这样可以通过维护剩余系下每个数的操作次数的前缀和来计算。

+

无解的情况:区间中简化剩余系的次数总和为奇数,可以采用哈希 O(1)O(1) 计算。

+

同时注意边界,维护d,c为b数组在原序列作为端点的次数。

+

记住差分是 [l,r+1][l,r+1]

+
#include<cstdio>
+#include<cstring>
+#include<algorithm>
+using namespace std;
+#define ll unsigned long long
+const int N=2000009;
+int n,k,m,a[N],b[N],sum[N],has[N],Has[N],c[N],d[N];
+char s[N];
+ll H=23333;
+
+inline ll Hash()
+{
+	return H^=H<<13,H^=H>>17,H^=H<<5;
+}
+
+int main()
+{
+	// freopen("1.in","r",stdin);
+	// freopen("1.out","w",stdout);
+	scanf("%d%d%d",&n,&k,&m);
+	scanf("%s",s+1);
+	for(int i=0;i<k;i++) has[i]=Hash();
+	for(int i=1;i<=n;i++) 
+	{
+		a[i]=s[i]-'0';
+		Has[i]=Has[i-1];
+		sum[i]=sum[i-1];
+		int group=i%k;
+		if(a[i]^a[i-1])
+		{
+			Has[i]^=has[group];
+			sum[i]-=b[group];
+			b[group]=i/k-b[group];
+			sum[i]+=b[group];
+		}
+		c[i]=b[(i+1)%k];
+		d[i]=b[i%k];
+	}
+	while(m--)
+	{
+		int l,r,ans=0;
+		bool y=true;
+		scanf("%d%d",&l,&r);
+		if(Has[l]^Has[r]^(a[l]*has[l%k])^(a[r]*has[(r+1)%k])) {puts("-1");continue;}
+		ans=sum[r]-sum[l];
+		if(a[r]) ans+=(r+1)/k-2*c[r];
+		if(a[l]) ans+=2*d[l]-l/k;
+		printf("%d\n",ans);
+	}
+	return 0;
+}
+
+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/mo-ni-sai-10-ti-jie/index.html b/post/mo-ni-sai-10-ti-jie/index.html new file mode 100644 index 0000000..38362f8 --- /dev/null +++ b/post/mo-ni-sai-10-ti-jie/index.html @@ -0,0 +1,921 @@ + + + + + + + + + + 模拟赛 10 题解 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 模拟赛 10 题解 + +

+ +
+
+

思维+状压+数据结构+dp

+ +

A.分配

+

结论题,有专门的海盗分钻石问题。

+

s=1s=1, 考虑倒推,只要保证有 n2\lceil\frac n 2\rceil 支持即可。

+

s=2s=2,只剩四个人的情况,肯定编号为奇数的人必死。

+

所以他会无条件支持jack。

+

之后贪心想一想,看看证明,打个表,二进制找找规律即可。

+

B.游戏

+

先预处理出对于每一列,哪些位置是相同的。

+

接着我们采取两次状压:st[S]st[S] 表示问了 SS 中的列,还不清楚的行有哪些。

+

这个可以根据最后一列进行转移,同时统计问到每个状态还有几个不清楚的。

+

之后我们倒序考虑每个状态,考虑每个没问的行,加上问到这个行的次数。

+

最后统计完后/siz,还记得加一。

+

转移:

+

f[S]=E(\sum_{S\subseteq T\and siz[T/S]=1}f[T]\times siz[T])+1 +

+

C.数列编辑器

+

这个由于是单点操作,区间查询,可以采用树状数组来实现。

+

分别建出前缀和后缀树状数组,它们之间的位置就是指针的位置。

+

不难发现,每次加入和删除都是对前缀的末尾进行操作,这个可以轻松维护。

+

指针移动时,只需要像栈一样,将元素由前缀向后缀移动即可。

+

区间查询时,如果区间被树状数组完全包含,那么可以直接查询。

+

反之可以将区间拆成两段来合并。

+

单点修改直接做就好,判断位置在前缀还是后缀。

+

D.牢不可破的子序列

+

考试的时候没切,真是丢死人了。

+

我们设 fif_i 表示已经处理到 ii 的最大权值和,发现转移并不好转移。

+

一开始的想法是从 fikf_{i-k} 转移,加上中间的那一段。

+

强制加上 sumisumiksum_{i}-sum_{i-k} 是为了保证区间长度大于 kk 的约束,使其满足条件。

+

这样看起来是对的,但是忽略了一种情况:

+

我最后用 kk 拼起来的那一段,他前面的部分不一定大于等于 kk,只要保证最后拼起来大于等于 kk 即可。

+

而如果我们用 ff 数组转移,就忽略了这一点(可以看图)。

+
d
+

所以我们要引入一个新数组 gg,其中 gg 的最后一段长度可以是任意的,那么就有

+

fi=max(fi1,gik+sumisumik)f_i=\max(f_{i-1},g_{i-k}+sum_{i}-sum_{i-k}) +

+

同时我们还要更新 gg,这就类似于最大子段和。

+

注意不连续时要保证合法性,即从 fi1f_{i-1} 转移。

+

gi=max(fi1,gi1+ai)g_i=\max(f_{i-1},g_{i-1}+a_i) +

+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/mo-ni-sai-11-ti-jie/index.html b/post/mo-ni-sai-11-ti-jie/index.html new file mode 100644 index 0000000..4ab97af --- /dev/null +++ b/post/mo-ni-sai-11-ti-jie/index.html @@ -0,0 +1,939 @@ + + + + + + + + + + 模拟赛 11 题解 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 模拟赛 11 题解 + +

+ +
+
+

数论+置换+数据结构+思维+dp+斜率优化

+ +

A. 方程式

+

详见luogu裴蜀定理模板。

+

推广:对于 nn 元一次方程 ax+by+cz+=dax+by+cz+\dots=d,有解的充要条件是 gcd(a,b,c,)d\gcd(a,b,c,\dots)|d

+

证明可以移项,注意特判全为0的情况

+

B. 猜球游戏

+

对前缀和的理解++。

+

事实上,只要有结合律,存在逆变换的操作就可以进行前缀和和差分。

+

不难发现置换和逆置换是可以抵消的,也就是我们可以构造出一个 "置换" 的前缀和,存的是变换后的数组。

+

同时我们构造一个逆置换的前缀和,用来差分。

+

其中逆置换 revrev 表示按照这个数组的下标输出,能得到抵消这几次操作的数组。

+

构造方式考虑权值和下标的对应关系,rev[j]=map[j]rev[j]=map[j],即权值为 jj 的对应下标。

+

C. 凑数游戏

+

挺好的题。

+

有序的情况下,当且仅当 si+1<ai+1s_i+1<a_{i+1} 的时候,出现最小不能被表示的数,即 si+1s_i+1

+

这个很好理解,考虑归纳法,我们已经能凑出 [1,si][1,s_i] 的所有数。

+

如果 ai+1si+1a_{i+1}\leqslant s_i+1,我们可以先用之前的数凑出 siai+1+1s_i-a_{i+1}+1 ,这样就能凑出 ai+1+1a_{i+1}+1

+

现在问题转化为了如何找到这个 si+1s_i+1

+

我们考虑每次迭代,找到 si+1\leqslant s_i+1 的数,把它扔到前缀和里面去,不断扩大 sumsum 的范围。

+

这样一直做,知道找不到为止,这样的复杂度是 O(nlogn)O(n\log n) 的。我不会证

+

所以瓶颈在于如何快速找到区间内小于等于某个数的个数。

+

这个可以用主席树或者离线树状数组轻松维护,总复杂度 O(nlog2n)O(n\log^2n)

+

D. RPG游戏

+

首先有一个暴力dp:

+

f[i][j]=maxxi&yj(f[x][y]+(ix+jy)×b[x][y])+a[i][j]f[i][j]=\max_{x\le i \& y\le j}(f[x][y]+(i-x+j-y)\times b[x][y])+a[i][j] +

+

其中 f[i][j]f[i][j] 为强制拿 (i,j)(i,j)valval 的最大权值和。

+

考虑优化,先推一下式子:

+

f[i][j]a[i][j]=(i+j)×b[x][y]+f[x][y](x+y)×b[x][y]f[i][j]-a[i][j]=(i+j)\times b[x][y]+f[x][y]-(x+y)\times b[x][y] +

+

我们把 (i+j)(i+j) 看成 xxb[x][y]b[x][y] 看成 kkf[x][y](x+y)×b[x][y]f[x][y]-(x+y)\times b[x][y] 看成 bb,这就是一条直线的形式。

+

我们现在要找到一个 (x,y)(x,y),满足在 ii 下 直线的高度最大。

+

维护一些直线,我们可以采用李超线段树。

+

注意,此题还要满足一种偏序关系 x\le i\and y\le j,由于是二维偏序,在外面套个树状数组即可。

+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/mo-ni-sai-12-ti-jie/index.html b/post/mo-ni-sai-12-ti-jie/index.html new file mode 100644 index 0000000..4bb5c63 --- /dev/null +++ b/post/mo-ni-sai-12-ti-jie/index.html @@ -0,0 +1,925 @@ + + + + + + + + + +模拟赛 12 题解 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 模拟赛 12 题解 + +

+ +
+
+

思维+贪心+双指针+换根dp+树上差分+树状数组

+ +

A.饥饿的小鸟

+

考场上这样贪心:每个鸟能跳多远跳多远。

+

把初始的 LL 个数作为鸟的数量,之后依次拓展能够到达的地方,把它们的承载量和当前鸟的个数取min作为后面的答案。

+

把拓展到的,还有剩余荷叶的地方扔进大根堆,每次取出最远的跳。

+

事实上是有 O(n)O(n) 做法的,答案就是所有长度为 LL 的段的 min\min

+

证明可以感性理解,即跳的过程中每个 LL 鸟都要休息,短板原理。

+

B.进化序列

+

我们发现答案是单调不降的,即区间左端点单调变化时右端点也是单调的。

+

这可以用双指针扫一遍,枚举左端点,统计合法区间个数。

+

查询区间或用st表 O(1)O(1) 实现。

+

C.旅行

+

首先我们可以进行树上差分求出每个点的 F(i)F(i)

+

具体而言就是在 ii 和向上走 di+1d_i+1 步的节点分别 a,+a-a,+a,最后树上前缀和就好了。

+

如果走出根就不减。

+

要维护 E(F(i)2)E(F(i)^2),就要维护 E(F(i))E(F(i)),有公式:

+

E((F(a)+F(b))2)=E(F(a)2+2F(a)F(b)+F(b)2)=E(F(a)2)+2×E(F(a))E(F(b))+E(F(b)2)E((F(a)+F(b))^2)\\=E(F(a)^2+2F(a)F(b)+F(b)^2)\\=E(F(a)^2)+2\times E(F(a))E(F(b))+E(F(b)^2) +

+

我们可以先进行一遍dfs,求出子树内的 E(F(i))E(F(i))E(F(i))2E(F(i))^2

+

然后进行换根,求出整个连通块的答案。

+

注意:换根时要先减去该子树的贡献,然后再更新子树换根后的 gg

+

D.平衡树

+

发现无论怎样旋转,树的中序遍历是不变的。

+

所以我们可以运用 dfsdfs 序的思想,让每个节点维护中序遍历上的一段区间。

+

查询可以直接乘积差分,但是旋转呢?

+

我们发现,旋转只影响 xxyy 的区间,其他节点维护的信息不变。

+

具体分左旋右旋讨论一下区间是怎么变的就好了,画一下图,消除和增加对应位置的贡献。

+

由于是单点加,区间查询,我们可以用树状数组维护

+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/mo-ni-sai-13-ti-jie/index.html b/post/mo-ni-sai-13-ti-jie/index.html new file mode 100644 index 0000000..7ba67ab --- /dev/null +++ b/post/mo-ni-sai-13-ti-jie/index.html @@ -0,0 +1,911 @@ + + + + + + + + + +模拟赛 13 题解 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 模拟赛 13 题解 + +

+ +
+
+

数论+最小生成树+字符串+模拟+最短路

+ +

A.GCD

+

不难发现 f(i)1f(i)\neq1 当且仅当 ipki\neq p^k,其中 pp 为质数。

+

所以可以在线性筛过程中求出 ff,即所有 pkp^k 的数。

+

B.小A的同学图

+

发现题目和边权大小有关,不难联想到最小生成树。

+

把边权从小到大排序,依次加入每条边,类似 KruskralKruskral

+

加边的时候维护一下当前得到的不同颜色数,这个可以用bitset实现。

+

同时还要维护加到这条边后的答案前缀和,除了算上加完这条边的不同颜色个数,还要算上当前边与上条边边权之差再乘上上一次的 ansans

+

这是因为承受度在这两者之间的答案只能沿袭上一次的 ansans

+

这样做完,查询时直接前缀和+二分找到对应的左右端点,注意边界的情况。

+
+

考试的时候写了一个奇怪的做法:找到 SS 到其他点路径上最大值求最小,把他们作为分界点。

+

查询时把区间分成若干个颜色之间的段去跑。

+

后来想了想觉得是本质一样的。

+

C.前缀

+

先咕着,以后再改。

+

D.移动

+

也是最短路模型。

+

发现各个节点间未关闭的区间可以连边,跑最短路时用 lower_boundlower\_bound 找到前后可以连的区间连边就行了。

+

这个的实现方式有多种,可以用堆维护当前时间最小的状态,也可以直接最短路。

+

细节比较多,有时间再写一遍。

+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/mo-ni-sai-14-ti-jie/index.html b/post/mo-ni-sai-14-ti-jie/index.html new file mode 100644 index 0000000..b77f0df --- /dev/null +++ b/post/mo-ni-sai-14-ti-jie/index.html @@ -0,0 +1,927 @@ + + + + + + + + + +模拟赛 14 题解 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 模拟赛 14 题解 + +

+ +
+
+

贪心+结论+数论

+ +

认识到了自己的弱小(

+

A.淘淘蓝蓝之地主的硬币

+

发现 kk 个钞票一定是给用时最大的 kk 个人更优。

+

所以排序之后,前 nkn-k 个人是吃面包的,时间是累加的。

+

注意:maxai\max a_i 可能大于前面所有人的和。

+

kk 不保证小于等于 nn!!!!!!!

+

B.淘淘蓝蓝喜欢01串

+

原题:CF1430D

+

可以先用一个栈把所有连续的相同长度子串提取出来。

+

我们贪心的去想,每次操作都要删一个长度最长的前缀,而我们还要删一个字符。

+

是的,我们可以让这个字符处在某个前缀的位置,这样删的时候就可以多保留一些字符了。

+

具体删在怎样的前缀呢?不难想到,是长度大于1的。

+

这样我们就可以从前往后找每一个长度不为 11 的前缀,把它一直删到 11 再向后找就可以了。

+

注意可能都是 11,这时候随便删就好了。

+
注意 iijj 的大小关系。
+

C.淘淘蓝蓝之幻影树

+

考试没猜出来,哭了QAQ。

+

首先我们发现两个队伍打擂台赛,正着来和反着来效果是一样的。

+

这里可以简单理解一下:

+

如果赢了,那说明前面的人打死了所有的对手,而从后开始不会使胜负状态改变。

+

同理,输了的话,说明这个队伍已经全部被打败,每个人注定会被某个敌人打败。。

+

这样,我们把 kk 倒序后,就可以考虑 pp 到根的路径了。

+

具体的,我们可以处理出 g[u][i]g[u][i] 表示在 ii 号节点到根的路径上,第一个节点 ii 被打败。

+

这个在dfs过程中可以由父亲传给儿子。

+

查询的时候把 kk 个数依次向上跳,直到跳出根或者用完为止。

+
+

还存在一种 O(summlogn)O(sum*m\log n) 的做法,不用倒序。

+

正序从根开始,依次看每个人能不能打败从当前点到 pp 的所有节点。

+

如果不能,就从 pp 倍增向上跳,直到跳到第一个当前人死掉的位置,作为新的开始。

+

判断的时候,枚举每种能打败当前点的颜色,看它在路径上是否出现过。

+

维护一个链上的前缀和就好了。

+

D.淘淘蓝蓝之电电鼠大战御坂美琴

+

吐槽题面……

+

发现 did_i 都是 nn 的约数,这也许可以优化背包的复杂度。

+

我们对一个 dd 的选法,它一定占了 pn+rp*n+r 这样的体积。

+

那么我们可以在 modn\mod n 的剩余系下进行 dpdp ,先不管 WW 的限制。

+

f[i][j]f[i][j] 表示考虑到了前 ii 个约数,所用的和在分别 modndi\mod \frac n {d_i} 下的和为 jj ,所能得到的最大/n的个数。

+

转移可以从 f[i1][jkd[i]]+(a[i]k)/(ndi)f[i-1][j-k*d[i]]+(a[i]-k)/(\frac n {d_i}) 转移,表示选了 kk 个作为余数,剩下的都除了 nn 统计答案。

+

注意上限到 ndi\frac n {d_i}

+

最后统计答案时枚举余数 ii ,注意 nn 的个数不超过 Win\frac {W-i}{n}

+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/mo-ni-sai-15-ti-jie/index.html b/post/mo-ni-sai-15-ti-jie/index.html new file mode 100644 index 0000000..ff77f0e --- /dev/null +++ b/post/mo-ni-sai-15-ti-jie/index.html @@ -0,0 +1,898 @@ + + + + + + + + + +模拟赛 15 题解 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 模拟赛 15 题解 + +

+ +
+
+

前缀和+stl + dp + 优化 +树链剖分

+ +

A.计算异或和

+

我们可以纵向看这些式子:

+

i=1nj=1nj%i{\Huge{\oplus}}_{i=1}^n{\Huge{\oplus}}_{j=1}^n j\%i +

+

那么我们发现,对一个固定的数取模是有循环节的,这个循环节个数为 ni\lfloor\frac n i\rfloor

+

由于进行的是异或操作,所以只有个数为奇数时才被算入答案。

+

贡献是完全剩余系的异或和,即 [0,i1][0,i-1]

+

关注循环节不完全包含 nn 的情况,即 n0modin\neq 0\mod i

+

B.配置香水

+

做一遍前缀和,问题转化为选出两个数,使得差是 kk 的倍数。

+

我们可以直接枚举左端点和 kk 的倍数,用 mapmap 统计答案,复杂度是 O(nlognlogkn)O(n\log n\log_k \sum n) 的。

+

可以用 HashHash 表省去一个 log\log

+

C.奥法之劫

+

点这里

+

D.多彩树

+

可以用树剖或 LCT 实现。先咕着

+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/mo-ni-sai-16-ti-jie/index.html b/post/mo-ni-sai-16-ti-jie/index.html new file mode 100644 index 0000000..02bd50d --- /dev/null +++ b/post/mo-ni-sai-16-ti-jie/index.html @@ -0,0 +1,943 @@ + + + + + + + + + +模拟赛 16 题解 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 模拟赛 16 题解 + +

+ +
+
+

二分+dp+单调栈+树链剖分+贪心+并查集

+ +

A.软件

+

显然,答案具有单调性,所以我们可以采用二分。

+

对于给定的时间 tt,判定可以dp。

+

f[i][j]f[i][j] 表示前 ii 个人中,已经加工了 jj 个第一个软件的模块,加工的第二个软件模块的最大值。

+

不难发现我们可以把一个人的工作划分成两段:第一段加工软件一,第二段加工软件二。

+

转移时可以枚举第 ii 个人加工的第一个软件的模块数,那么剩下的时间它都在加工第二个软件。即:

+

f[i][j]=maxk[0,j](f[i1][jk]+(tk×d1)/d2)f[i][j]=\max_{k\in[0,j]}(f[i-1][j-k]+(t-k\times d_1)/d_2) +

+

注意 kk 枚举的上界不能超过 nd1\frac n {d_1}

+

判定 f[n][m]f[n][m] 是否 m\geqslant m 即可。

+

+

B.最大后缀值个数

+

从根到每个节点的路径上维护一个单调栈,不难发现答案就是到每个节点的单调栈元素个数。

+

到每个点插入的时候要二分,不能暴力弹栈。

+

可以类似于CSP2019d1t2的做法,回溯的时候撤销操作。

+

注意不要清空加入元素的位置,即使是栈顶!!!

+

可以采用swap的方式。

+

C.树

+

先推一下式子:

+

depu+depv2×deplcatimvtimudep_u+dep_v-2\times dep_{lca}\geqslant tim_v-tim_u +

+

那么可以移项,变成一边只和 uuvv 相关。

+

depu+timu2×deplcatimvdepvdep_u+tim_u-2\times dep_{lca}\geqslant tim_v-dep_v +

+

发现 lcalca 都是在 uu 到根的链上,并且该式左边在链底取到最小值。

+

所以我们直接把 deplcadep_{lca} 替换成链底即可。

+

把式子挂在链上面,维护最小值,操作直接链修改链查询就好了。

+

D.魔塔

+

神仙贪心。

+

邻项交换法可证:按 timesd\frac{times}{d} 取是最优的。

+

我刚开始的想法是直接用堆,从根向下贪心,取完把它的儿子扔到堆里面。

+

Wankupi\text{Wankupi} 的指导,这个贪心确实是假的,因为一个节点的贡献不止它的权值,还要考虑它的子树。

+

换言之,它本身可能很劣,但他的子树很优,所以还是要先打它。

+

这启发我们把每个节点都先加入堆里面,每次取出权值最大的节点是先不打,而是把它的贡献加到他祖先上面作为新的权值。

+

我们同时再记录一个攻打标记,只有当取出的值有可以攻打的标记,我们才能去打,并加入它的儿子。

+

由于一个节点要贡献所有祖先,所以我们采用并查集来维护这个操作。

+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/mo-ni-sai-18-ti-jie/index.html b/post/mo-ni-sai-18-ti-jie/index.html new file mode 100644 index 0000000..9fca4cd --- /dev/null +++ b/post/mo-ni-sai-18-ti-jie/index.html @@ -0,0 +1,904 @@ + + + + + + + + + +模拟赛 18 题解 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 模拟赛 18 题解 + +

+ +
+
+

贪心+背包+最短路+换根dp+二分

+ +

A.淘淘蓝蓝之游戏

+

记得双关键字,k1000k\geq1000

+

B.淘淘蓝蓝之保温箱

+

原题:CF730J。

+

答案就是使得不动的部分最大化,可以dp解决。

+

背包把每一个的 aa 作为价值,11 为体积。

+

C.淘淘蓝蓝之树林

+

Orz hs_black\color{black}h\color {red}s\_black 用凸包过了本题。

+

这个环上,有一条一定是到起点的最短路。

+

但怎么保证另外一边走另一个方向呢?

+

这个好办,只要从森林到头的那一部分堵上即可。

+

一定记得广搜队列大小是点数!!!!,要开 N2N^2!!!

+

D.淘淘蓝蓝之扮猪吃愉悦

+

换根dp

+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/mo-ni-sai-19-ti-jie/index.html b/post/mo-ni-sai-19-ti-jie/index.html new file mode 100644 index 0000000..30a6ac6 --- /dev/null +++ b/post/mo-ni-sai-19-ti-jie/index.html @@ -0,0 +1,893 @@ + + + + + + + + + +模拟赛 19 题解 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 模拟赛 19 题解 + +

+ +
+
+

主席树+差分+二维BIT

+ +

A.斐波那契

+

发现 fib109fib\leqslant 10^9 时,序列的个数在 4040 左右。

+

所以可以每次枚举划分的左端点,查看是否有斐波那契数和新加的数的差为原来的数,用 MapMap 统计。

+

B.序列

+

这题就比较神了。

+

首先,要求的中位数在 [l1,r1][l_1,r_1] 范围内,可以转化为求在 [1,l11][1,l_1-1][1,r1][1,r_1] 的答案。

+

考虑不限制区间长度怎么做:枚举区间的右端点,看在它左边有没有符合要求的就行。

+

按照中位数的常见套路,**把 val\leqslant val 的赋值为 11val\geqslant val 的赋 1-1。**反过来也是一样的。

+

我们记 aa 为当前前缀大于 valval 的个数,bb 为小于的个数。差分后可以得到区间信息。

+

那么 比 valval 小的数是中位数的充要条件:aabba-a'\leqslant b-b'。因为 valval 变小,aa 只会更大

+

移项,ababa-b\leqslant a'-b',设 ab=cnta-b=cnt

+

扫描到每个下标时把它们的 cntcnt 扔进权值线段树里,每次查询比 cntcnt 小的个数即可。

+

有了长度的限制,可以考虑的范围只有 [ir,il+1][i-r,i-l+1]

+

区间小于一个数的数,我选择主席树。

+

C.栅栏

+

挺标新立异的。

+

可以对子矩形进行一些操作,单点查询时判断两个点所属的矩形是否相同。

+

由于边界不重合,这样判断就能保证联通。

+

可以对子矩形整体加或异或一个值,但要保证不同矩形覆盖查询到的值时不同的,即不冲突。

+

这个值可以 randrand 出来,用 mapmap 记录每个子矩形修改的值是多少。

+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/mo-ni-sai-20-ti-jie/index.html b/post/mo-ni-sai-20-ti-jie/index.html new file mode 100644 index 0000000..118ff65 --- /dev/null +++ b/post/mo-ni-sai-20-ti-jie/index.html @@ -0,0 +1,921 @@ + + + + + + + + + +模拟赛 20 题解 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 模拟赛 20 题解 + +

+ +
+
+

数论+dp+模拟+主席树+哈希

+ +

A.方程的解

+

首先特判掉是 00 的情况。

+

我们可以通过 exgcdexgcd 求出方程的一组特解 x0,y0x_0,y_0

+

那么可以得到方程的特解就是 x=x0+p,y=y0qx=x_0+p,y=y_0-q

+

每次 x+px+p,就让 yqy-q ,来调整 x,yx,y 的大小。

+

可以先把 xx 调整为最小正整数,再看 yy 调整了多少 qq+1+1 就是解的数量。

+

注意特判和细节。

+

B.染色

+

枚举子树内选了几个黑点,考虑每条边的贡献。

+

C.光

+

恶心模拟题。

+

首先,我们发现光是沿对角线走的,并且黑白染色后只会处于同种颜色(类似于国际象棋的教士)。

+

所以对于每个坏点,我们可以在两条对角线的方向保存它们。

+

我们可以表示为 (x+y,x)(x+y,x)(xy,x)(x-y,x),这样可以二分查找来加速撞到坏点的过程。

+

一开始可以先让它撞到坏点,再循环。

+

细节比较多。

+

D.无向图问题

+

给定字典序大小关系 {pi}\{p_i\},我们可以统计出每个节点的贡献,看它贡献在了 pp 的第几位。

+

朴素做法就是直接跑 dijdij,松弛时直接 O(n)O(n) 比较两条路径的权值。

+

那么我们可以按照字典序从高到低位哈希,这样就可以 O(1)O(1) 比较。

+

但是我们每新加入一个点,路径的哈希值会改变,考虑可以使用权值线段树维护到每个 [1,n][1,n] 的出现次数,在 pushup 的时候哈希起来判等。

+

由于在更新时,要继承上一次的状态,所以可以采用主席树。

+

记住在开堆的时候重载小于号是反的。

+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/mo-ni-sai-21-ti-jie/index.html b/post/mo-ni-sai-21-ti-jie/index.html new file mode 100644 index 0000000..5197e21 --- /dev/null +++ b/post/mo-ni-sai-21-ti-jie/index.html @@ -0,0 +1,943 @@ + + + + + + + + + +模拟赛 21 题解 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 模拟赛 21 题解 + +

+ +
+
+

数论+计数+dp+贪心+堆

+ +

A.gcd

+

考虑到前缀 gcdgcd 值互不相同的只有 O(logn)O(\log n) 个,同时他们也是单调不升的。

+

所以我们可以暴力遍历所有的前缀 gcdgcd,用双向链表删去那些与前面值相同的元素。

+

在删的时候注意把数量累加就好了。

+

B.or_and

+

差一点想出做法

+

首先,可以分位考虑,考虑每一位被统计了多少次。

+

我们知道,二进制中的一位被统计,当且仅当这一位在两个数中至少有一个 11

+

我们可以统计出 [0,n][0,n] 的数中这一位是 11 的个数 NN[0,m][0,m] 中的个数 MM

+

那么简单容斥一下,这一位的贡献就是 Nm+MnNMNm+Mn-NM,我们重复计算了两位都是 11 的部分。

+

问题传化为了求 NNMM

+

分类讨论一下:

+
    +
  • 如果当前这一位是 11,这一位前面的填法是唯一的,而后面可以按照原数填,也可以随便填。
  • +
  • 如果当前这一位是 00,我必须要把它变为 11,考虑从上面借一位,后面随便填。注意上面的方案数要加 11
  • +
+

C.middle

+

好题。

+

首先将 aa 数组排序,有如下性质:

+
    +
  • aibia2nia_i\leqslant b_i\leqslant a_{2n-i},根据中位数的定义显然。
  • +
  • 任意 i<ji<j ,不存在 bj<bi<bj+1b_{j}<b_i<b_{j+1}bj+1<bi<bjb_{j+1}<b_i<b_j ,考虑中位数每次向外拓展两个单位,不会一下比两个数都小。
  • +
+

根据这两条性质,我们可以进行 dpdp

+

发现这些性质都是越向后越紧的,所以我们可以考虑从后向前 dpdp,维护哪些数可以成为中位数。

+

f[i][j][k]f[i][j][k] 表示已经确定了 [i,n][i,n],备选集合中 <bi<b_i 的数量为 jj>bi>b_i 的数量为 kk 的方案数。

+

考虑由 ii1i\rightarrow i-1,增加的两个数 ai1a_{i-1}amia_{m-i} (性质一),如果它们不等于 aia_i,那么备选集合将扩大。

+

我们转移的决策就是在枚举 bi1b_{i-1} 选什么。

+
    +
  • 选了和 bib_i 相同的数:备选集合没有改变,直接 f[i][j][k]f[i1][x][y]f[i][j][k]\rightarrow f[i-1][x][y]
  • +
  • 选了小于 bib_i 的数,那么就枚举这个数在集合中的排名 ll。显然,排名在 [l+1,i][l+1,i] 之间的都没有用(性质二),而 bib_{i} 因为比 bi1b_{i-1} 大,归到了后面那类:f[i][j][k]f[i1][l][y+1]f[i][j][k]\rightarrow f[i-1][l][y+1]
  • +
  • 选了大于 bib_i 的数,同理:f[i][j][k]f[i1][l]f[i][j][k]\rightarrow f[i-1][l]
  • +
+

D.beautiful

+

保证前面的合法,考虑新加两个位置的贡献。

+

为了保证合法,最后一个位置肯定是右括号,我们来讨论前面填什么。

+
    +
  • +

    填左括号,直接匹配。

    +
  • +
  • +

    填右括号,为了合法,我们要把前面的一个右括号变为左括号,贪心地想,自然取代价最小的,即 ABA-B 最小。

    +
  • +
+

所以开个小根堆,维护前面右括号中 ABA-B 的最小值即可。

+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/mo-ni-sai-24-ti-jie/index.html b/post/mo-ni-sai-24-ti-jie/index.html new file mode 100644 index 0000000..7ceb6b5 --- /dev/null +++ b/post/mo-ni-sai-24-ti-jie/index.html @@ -0,0 +1,939 @@ + + + + + + + + + +模拟赛 24 题解 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 模拟赛 24 题解 + +

+ +
+
+

模拟赛 24 题解

+

思维+树状数组+最短路+背包+计数+状压

+ +

A.宝藏

+

发现中位数是递减的关系,所以我们可以预处理出所有答案。

+

按权值降序排序,那么随着 rr 的增加,中位数一定后移。

+

只要 pp 前面最小的 rr 个的和和后面最大的 rr 个的和再加它自身 m\leqslant m 就是合法的,否则继续后移。

+

查询动态区间 kk 小和,我采用树状数组+二分,也可以树状数组上倍增,更快。

+

1.注意 t=0t=0,加入BIT的时候要整体加。

+

2.注意可能存在多个 tt 相等的情况,二分的时候注意一下。

+

B.寻找道路

+

比较有意思,之前没见过。

+

一开始的想法是先走 00 再走 11,但这样在 disdis 相同的情况下没法确定大小关系。

+

正确做法就是disdis 相同的放在一起跑就好了,同时走 00 再走 11

+

注意 00 的特殊性,一开始要找出所有走 00 边能到达的点,代价一样且都是最小的。

+

C.猪国杀

+

jzp yyds!

+

正解是容斥,可以去wkp's blog,这里提供一下jzp的背包做法。

+

考虑只有比某个值小才有贡献,那么我们可以钦定 kk 为最大值进行 dpdp

+

f[i][j]f[i][j] 表示考虑了前 ii 张牌,点数和为 jj 的方案数。

+

那么考虑新来一张牌的影响:如果点数在 [1,k][1,k] 内,则可以直接由前面的状态转移,为 p=1kf[i1][jp]\sum_{p=1}^kf[i-1][j-p],可以前缀和优化。

+

如果 >k>k,那么不能拿进来,还是从 f[i1][j]f[i-1][j] 转移。

+

考虑统计答案,同样是钦定一个最大值 kk,枚举前面 <k<k 的张数 jj,它们的和 tt

+

由于要钦定 <k<k,所以只能从最大值为 k1k-1ff 转移。

+

还剩下的空间是 mtkm-t-k,剩下的牌数是 njn-j 张。

+

我们只要保证剩下的 njn-j 张牌的总空间小于 mtkm-t-k 就可以了,没必要占满。

+

这些方案是 i=1mtkf[nj][i]\sum_{i=1}^{m-t-k}f[n-j][i]。一边 dpdp 一边统计就好了。

+

D.数树

+

好题。

+

首先 m10m\leqslant10, 可以想到状压表示每个点是否被映射。

+

那么我们枚举 BB 的根是什么,这样就形成了 “不同“的树的形态。

+

我们进行树形dp找每个形态对应的位置。

+

f[u][S]f[u][S] 表示 uu 的儿子里面对应 BB 的状态为 SS,这里不包含 uu 自身。定义每个点的儿子集合为 son[u]son[u],方便转移。

+

我们枚举 uu 的儿子 vv,再枚举它对应的点 ii。如果 vv 想对应 ii 的话,那么 vv 的儿子应该对应 ii 的儿子。

+

所以这个方案数是 f[v][son[i]]f[v][son[i]],与 f[u][S]f[u][S] 相乘累加到 f[u][Si]f[u][S|i] 上。

+

最终状态就是 uu 的儿子对应了 son[rt]son[rt]

+

但是这样肯定会算重,因为再枚举根的时候,并不能保证这 mm 种形态都是不同的,也就是说它们一开始就是 "同构" 的。

+

所以只要看 BB 中的自身对应了多少种 BB 的形态就好了,最后除掉这部分就是最终方案。

+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/mo-ni-sai-28-ti-jie/index.html b/post/mo-ni-sai-28-ti-jie/index.html new file mode 100644 index 0000000..1ea010b --- /dev/null +++ b/post/mo-ni-sai-28-ti-jie/index.html @@ -0,0 +1,894 @@ + + + + + + + + + +模拟赛 28 题解 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 模拟赛 28 题解 + +

+ +
+
+

最小生成树+dp+思维

+ +

A 和 B 太水被吃了。

+

C.pair

+

把给定的条件看成边,那么答案就是最大生成基环树森林。

+

可以简单证明:一条边必须有一个点和它进行配对,所以点数 \geqslant 边数。

+

那么用并查集维护就好了,再维护一下当前连通块是否包含环。

+

D.mex

+

好题。

+

首先考虑什么样的链会产生贡献,显然,它必须是连续的 [0,k][0,k]

+

它会对什么产生贡献:(u,v)(u,v) 分别位于链两端的子树中。

+

并且我们发现贡献是递增的,也就是 [0,k][0,k] 的mex是 [0,k1][0,k-1] 的mex加一。

+

所以我们考虑dp,设 f[l][r]f[l][r] 表示当前链的端点是 l,rl,r 的贡献和。

+

转移利用刚才递增的特征,比 f[l][son[r]]f[l][son[r]]f[son[l]][r]f[son[l]][r] 多了 11 的贡献,而次数是左右两个 sizsiz 相乘。

+

其中 son[u]son[u] 表示 uu 的出边中靠近链的那一个。

+

转移顺序不确定,采用记忆化搜索。

+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/mo-ni-sai-29-ti-jie/index.html b/post/mo-ni-sai-29-ti-jie/index.html new file mode 100644 index 0000000..7b775b0 --- /dev/null +++ b/post/mo-ni-sai-29-ti-jie/index.html @@ -0,0 +1,907 @@ + + + + + + + + + +模拟赛 29 题解 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 模拟赛 29 题解 + +

+ +
+
+

思维+模拟+计数+子树贡献+决策单调性

+ +

A.数上的数

+

每个数管辖一定的范围,随便做就好了。

+

B.矩阵游戏

+

计数好题。

+

首先考虑一行或一列异或两次就会变回来,所以直接考虑奇偶性就可以。

+

我们可以分行列考虑,计算有 ii 行染黑和有 jj 列染黑的方案数。

+

注意这里的 iijj 都要和 kk 的奇偶性相同,因为染两次相当于没染。

+

但是这样会算重,如果把行列的状态取反,那么原来被染了一次的还是染了一次,原来染了两次还是相当于没染。

+

如果一个取反后的状态仍被统计,那么它的贡献就要乘 12\frac 1 2

+

之前的条件是 i,jk,i,jk(mod2)i,j\leqslant k,i,j\equiv k\pmod 2,取反后若仍满足条件,则为 ni,mjk,ni,mjk(mod2)n-i,m-j\leqslant k,n-i,m-j\equiv k\pmod 2

+

C.隐藏食物

+

二进制枚举每一位后,变成统计树上两个组两两间路径的和。

+

考虑每条边的贡献就好了。

+

D.魔法商店

+

这里是小体积多物品01背包的通法——决策单调性。

+

先按体积分组,每组内必定是从大到小取。

+

仿照多重背包的单调队列解法,当考虑到体积为 ww 的物品时,按 modw\mod w 的剩余系分类。

+

枚举余数为 rr,我们集中考虑体积为 kw+rkw+r 这一类状态,其中 kk 是上界。

+

那么我们当前的决策区间就是 [0,k][0,k],可以证明这是有决策单调性的。

+

因为相同体积,取得越多,肯定价值越劣。所以关于 ff 有决策单调性。

+
+

jzp 给出了一种证明:把背包的容量看成自变量,价值看作函数。

+

在固定体积的情况下,这个函数是上凸。

+

由于容量 dd 增大,肯定拿的价值变多,所以函数向上向右移动。

+

又因为是凸函数,所以具有决策单调性。

+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/mo-ni-sai-32-ti-jie/index.html b/post/mo-ni-sai-32-ti-jie/index.html new file mode 100644 index 0000000..f08d0d0 --- /dev/null +++ b/post/mo-ni-sai-32-ti-jie/index.html @@ -0,0 +1,935 @@ + + + + + + + + + +模拟赛 32 题解 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 模拟赛 32 题解 + +

+ +
+
+

博弈论+剥叶子+思维+模拟+构造+背包+贪心+状压+动态规划

+ +

A.树树

+

手玩可以知道,先手一定是选一个叶子的父亲,那么后手肯定要堵叶子。

+

理由就是这样能尽快堵死后手,堵死的条件是至少两个叶子。

+

那么可以采用剥叶子的方法,一层一层向上找,这样留下的就是一条条链了。

+

不难发现挂在节点上的偶链是没有贡献的,那么只统计有大于 11 个的奇链即可。

+

nn 为奇数时,先手必胜,因为堵不住。

+

B.网格

+

构造模拟,最终答案就是螺旋上升的走法。

+

注意特判一下位置就好了。

+

C.有手就行

+

考场切的一个题,但因为堆整体赋值而暴毙。

+

不难发现决策只有两种,一种是拿一个 aa,一种是拿一对 a+ba+b

+

因为如果选择了当前不优的 aa ,那么目的一定是为了拿 bb

+

并且顺序是无关的,这就可以分别排序然后直接背包。

+

D.求余数

+

状压计数好题。

+

首先小于 100100 的质数有 2525 个,这启发我们状压。

+

但是直接状压显然复杂度爆炸,我们考虑更优雅的做法——根号分治。

+

[1,m][1,m] 的数分成这样两类:一种只包含 <m<\sqrt m 的质因子,一种还有更大的质因子。

+

根号分治,对于第一种,我们状压所含质因子的种类后,是可以取多个的(在保证没有交集)。

+

而第二种,我们一类中只能取一种,所以两种方案不是很相同。

+

dpdp 的状态和转移一致,设 f[i][S][j]f[i][S][j] 表示考虑了前 ii 类,质因子集合为 xx,选了前 jj 个位置的方案数。

+

第一种是内部转移,枚举顺序是这样:

+
	for(int j=1;j<=P;j++) 
+			for(int S=0;S<M;S++)
+				if((S&a[x])==a[x])
+					f[j][S]=pls(f[j][S],f[j-1][S^a[x]]);
+
+

而第二种要保证一类只选一个,所以要这样:

+
	for(int j=P;j>=1;j--)
+		for(int S=0;S<M;S++)
+			for(int k=0;k<rest[i].size();k++)
+			{
+				int x=rest[i][k];	
+				if((S&a[x])==a[x])
+					f[j][S]=pls(f[j][S],f[j-1][S^a[x]]);	
+			}
+
+

差别就在转移顺序。

+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/mo-ni-sai-4-ti-jie/index.html b/post/mo-ni-sai-4-ti-jie/index.html new file mode 100644 index 0000000..c99abc4 --- /dev/null +++ b/post/mo-ni-sai-4-ti-jie/index.html @@ -0,0 +1,918 @@ + + + + + + + + + +模拟赛 4 题解 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 模拟赛 4 题解 + +

+ +
+
+

思维+状压dp+博弈论+数学+模拟

+ +

A. 神奇的位运算

+

我们要是判断符号的话,只需要存在 111,11010

+

稍微思考一下,答案只可能是 001122,答案的不同取值只取决于每一位。

+

我们把每一位分开考虑,那么答案就是需求最多的位/

+

B.终焉之数列

+

C.下棋

+

首先我们可以考虑 sgsg 函数的求法,即一个棋盘能够转移到哪些状态。

+

设当前棋盘长度为 nn,如果在边界放一个棋子,会转移到 n2n-2

+

而如果在中间的位置放棋子,那么会分裂成两个小棋盘 jjnj3n-j-3,当前状态的 sgsg 即为这两个小棋盘的 xorxor

+

根据 sgsg 定理,长度为 nn 的棋盘的 sgsg 是所有后继状态的 mexmex

+

这样我们可以求出任意长度棋盘的 sgsg 函数了。

+

打表发现,除第一个周期略有变化,sgsg 只总是以 6868 为周期。

+

那么就可以特判+打表+ sgsg 定理异或过掉此题。

+

D.魔方

+

垃圾模拟,毁我青春。

+

直接模拟就好,注意对齐和侧面旋转。

+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/mo-ni-sai-5-ti-jie/index.html b/post/mo-ni-sai-5-ti-jie/index.html new file mode 100644 index 0000000..6951feb --- /dev/null +++ b/post/mo-ni-sai-5-ti-jie/index.html @@ -0,0 +1,922 @@ + + + + + + + + + +模拟赛5 题解 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 模拟赛5 题解 + +

+ +
+
+

S2round赛高!

+

链表+线段树优化dp+数学+线段树二分

+ +

A.整数数列的解码

+

考试忘了加上链表了 10059100\rightarrow 59

+

其实很简单,mm 就是 1-1 的个数,之后依次把每个数分配到 mm 里面就好了。

+

注意在遇到 1-1 时要删掉这一行,用双向链表维护就好。

+

B.优秀的子集

+

题意:求选出线段覆盖了所有线段的并的方案数。

+

那么我们可以设 f[i][j]f[i][j] 表示我们考虑了前 ii 条线段,最远的右端点连续覆盖到 jj 方案数。

+

设当前线段的端点为 [l,r][l,r] ,转移有:

+

不选择这条线段时,直接加上 f[i1][j]f[i-1][j]

+

j<lj<l 时,选上这条线段后对答案没有影响,还是加上 f[i1][j]f[i-1][j]

+

lj<rl\le j<r 时,我们加上这条线段后右端点发生了变化,该状态不合法。

+

j=rj=r 时,加上这条线段后,所有右端点在 [l,r][l,r] 的状态都可以转移过来,所以加上 k=lrf[i1][k]\sum_{k=l}^rf[i-1][k]

+

发现空间爆炸,于是我们可以考虑滚掉第一维。

+

但是这样子转移是 O(n)O(n) 的,考虑转移的过程实质上是进行区间求和,单点加1,区间乘的操作。

+

所以可以使用线段树优化到 O(logn)O(\log n )

+
for(int i=1,j=0;i<=n;j=i,i++)
+	{
+		int nl=a[j+1].l,nr=a[j+1].r;
+		while(i<n&&a[i+1].l<=nr)//找到最后一个和原段有交的点
+			nr=max(nr,a[++i].r);
+		change(1,1,lsh,a[j+1].r,1);//覆盖当前的段多了一种方案,初始
+		for(int k=j+2;k<=i;k++)
+		{	
+			int ql=a[k].l,qr=a[k].r;
+			int sum=query(1,1,lsh,ql,qr);
+			change(1,1,lsh,qr,sum);//f[qr]+=sum[f[ql-qr]]
+			if(qr+1<=nr) modify(1,1,lsh,qr+1,nr,2);//这些位置添加当前线段后最远位置不变,方案数*2
+			if(ql==nl) change(1,1,lsh,qr,1); //我们忽略了只有一条线段的情况,即l=r
+		}
+		ans=1ll*ans*query(1,1,lsh,nr,nr)%mod;//不同段之间乘法原理,完全覆盖s
+	}
+
+
+

C. 传统艺能

+

考场上打表打出来的,现在好好回顾这个题

+

首先我们考虑贡献:对于一个有序点对 (a,b)(a,b),它对答案有贡献当且仅当 a>ba>b

+

所以我们可以用树状数组轻松统计出这样的点对个数,即 i=1nj=1n[ai>aj]\sum_{i=1}^n\sum_{j=1}^n[a_i>a_j]

+

由于要算期望,我们还需要统计样本空间的大小。

+

我们考虑所有方案都相当于从 nn 个里面拿出 22 个球比较,总方案 (n2)\binom n 2

+

而一次会比较 mm 组球,所以一对球的总贡献是 1(n2)×m=12(n1)\frac {1}{\binom n 2}\times m=\frac{1}{2(n-1)}

+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/mo-ni-sai-6-ti-jie/index.html b/post/mo-ni-sai-6-ti-jie/index.html new file mode 100644 index 0000000..ffd7940 --- /dev/null +++ b/post/mo-ni-sai-6-ti-jie/index.html @@ -0,0 +1,911 @@ + + + + + + + + + +模拟赛 6 题解 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 模拟赛 6 题解 + +

+ +
+
+

模拟+贪心+BIT+结论+套路

+ +

A . 贪吃蛇

+

傻逼模拟,运用stl的队列和set判重。

+

去掉尾巴的时候记得在set里面erase就好了。

+

B. 分糖果

+

原题 P2123 皇后游戏。

+

钦定的大小关系:

+

{min(x.a,y.b)<min(x.b,y.a)min(x.a,y.b)min(x.b,y.a)x.a<y.amin(x.a,y.b)=min(x.b,y.a)\begin{cases} +\min(x.a,y.b)<\min(x.b,y.a)&\min(x.a,y.b)\neq\min(x.b,y.a) \\ +x.a<y.a&\min(x.a,y.b)=\min(x.b,y.a) +\end{cases} +

+

第一个证明邻项交换法就好了,推式子。

+

第二个太神仙至今不会,考虑 aa 会对以后影响更多,贪心就好了。

+

C. 排序

+

我们可以发现这样的一个性质:在一次操作后,每个元素和它后面产生的逆序对被消除。

+

因为它回到了相对正确的位置上。

+

所以单次操作后修改的元素就不用再考虑了,可以删除掉。

+

每个数只会被删一次。

+

那么有个naive的想法就是用链表每次暴力跳+删除。

+

随机数据下表现优秀,但还是 O(nm)O(nm) 的。

+

考虑优化这个删除的过程,我们如何避免访问被删除的数。

+

正解给出了在线段树上二分位置,这样删除是 O(logn)O(\log n) 的。

+
+

神仙wyx给出了另外一种解法:离线树状数组。

+

我们可以把询问离线下来,搞一棵权值树状数组,其中下标是 aa,权值是询问的时间。

+

对于每一个询问位置,我们维护它最早在什么时间询问的。(这之后这个点就没有作用了)

+

在处理时,我们枚举 i:1ni:1\rightarrow n,依次处理每个元素的贡献。

+

一个元素的贡献,一定算在了在它前面,比它大,且第一个出现的元素上面。

+

这个可以用反向树状数组轻松维护,而我们从 11nn 保证了询问在它前面。

+

查询到某个点时,就把这个点的询问加进去就好了,对前面没有影响。

+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/mo-ni-sai-7-ti-jie/index.html b/post/mo-ni-sai-7-ti-jie/index.html new file mode 100644 index 0000000..b5c75aa --- /dev/null +++ b/post/mo-ni-sai-7-ti-jie/index.html @@ -0,0 +1,933 @@ + + + + + + + + + +模拟赛 7 题解 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 模拟赛 7 题解 + +

+ +
+
+

数学+边双+树上倍增+二分+dp+贪心

+ +

A.math

+

我们发现 d(x)d(x) 是奇数当且仅当 xx 是完全平方数。

+

ij=x2i*j=x^2 的时候,i=p2t,j=q2ti=p^2*t,j=q^2*t

+

那么我们考虑固定一个 tt,计算 ppqq 的数量。

+

不难发现 p2tn,q2tmp^2*t\leqslant n,q^2*t\leqslant m,那么 pnip\leqslant\sqrt \frac n iqmiq\leqslant\sqrt \frac m i

+

所以我们以 qq 的奇偶定符号,p|p| 作为值就好, O(n)O(n) 的扫一遍。

+

B.osu

+

首先使最小移动速度最大,我们想到二分。

+

我们可以发现一个性质:最终的速度一定使这 n+1n+1 个点两两之间到达速度之一,证明类比货币系统。

+

这样只需要把他们之间的速度算出来,排序二分就行。

+

check的时候采取 O(n2)O(n^2) dp,枚举上一个出现的点,如果速度在lim范围内就可以转移 11

+

至于答案的输出方式,只要维护分子和分母分别是多少,最后约分开平方即可。

+

C.map

+

我们知道,处在同一个边双联通分量里面的点之间一定是有两条路径的。

+

那么我们考虑按 vbccv-bcc 缩点,那么原图便形成了一棵树。

+

每次链接树上的两个点,那么这两个点间路径上 的连通块都可以满足条件。

+

考虑新增的点对数,即为 (ci)2ci2(\sum c_i)^2-\sum c_i^2

+

树上倍增维护路径和和平方和即可。

+

D.circular

+

由于是在环上,我们先破环成链,并拆成 2n2n 条线段。

+

参考 国旗计划 这个题,我们可以预处理出每条线段向后跳 2i2^i 步不选相交的线段能到哪里。

+

那么我们可以考虑强制选第 ii 条线段,那么这条线段的最远长度是 Li+mL_i+m

+

每次只要从高到低扫一遍,直到第一个跳到的线段小于这个长度即可。

+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/mo-ni-sai-8-ti-jie/index.html b/post/mo-ni-sai-8-ti-jie/index.html new file mode 100644 index 0000000..ab165a9 --- /dev/null +++ b/post/mo-ni-sai-8-ti-jie/index.html @@ -0,0 +1,898 @@ + + + + + + + + + +模拟赛 8 题解 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 模拟赛 8 题解 + +

+ +
+
+

哈希+对顶堆+倍增+矩阵乘法+dp+MTT

+ +

A.完全平方数

+

判断几个数的乘积是完全平方数:每个素因子的出现次数是偶数。

+

考虑一个新加的数,如果我们把它素因子的 valval 都异或 11

+

那么判断一种方案是否合法,只需要看是不是所有 valval 都为 00,即前缀异或为 00

+

考虑到异或出来只有 0011,我们考虑状压解决这个问题。

+

但是 π(105)=9981\pi(10^5)=9981,位数太多不好处理。

+

那么我们可以选择一个大质数 PP,每次把压好的状态 modP\mod P,这样就达到了 HashHash 的效果。

+

我们在得到一个新的状态时,要先加上它之前的出现次数,再更新它的次数,这个可以用 mapmap 维护。

+

每次把新加的质数对应的状态都异或一遍就好了。

+

B.K优先队列

+

正解是对顶堆,这里我采用平衡树实现。

+

C.宝藏

+

观察题面给出的串,可以发现它是通过倍增来构造的。

+

考虑到 n500n\leqslant 500,我们想到可以用矩阵乘法来表示每次的行走过程。

+

可以构造两个矩阵,一个只包含 11 边,一个包含 00 边,那么我们可以通过这两个矩阵互相乘来构造走 2i2^i 步的转移矩阵。

+

统计答案是能走就走,记录上一次走得是哪边的矩阵,最后记录步数即可。

+

记得用bitset优化。

+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/mo-ni-sai-9-ti-jie/index.html b/post/mo-ni-sai-9-ti-jie/index.html new file mode 100644 index 0000000..2225938 --- /dev/null +++ b/post/mo-ni-sai-9-ti-jie/index.html @@ -0,0 +1,876 @@ + + + + + + + + + +模拟赛 9 题解 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 模拟赛 9 题解 + +

+ +
+
+

A.询问

+

注意到查询时要保证相对顺序和字符数量,考虑哈希。

+

我们可以依次对 2626 个字母哈希,查询时提取区间依次枚举,看有没有两种字符的哈希值完全对应。

+

B.异或

+

01trie模板题,插入的时候维护siz即可。

+

C.矩形

+

转化成点在右下角的矩形,之后扫描线。

+

D.虚伪的最小公倍数

+

分子分母分开推式子。

+

分母处理时两次整除分块。

+

d=1ndg=1ndμ(g)ndgk\prod_{d=1}^nd^{\sum_{g=1}^{\lfloor\frac n d\rfloor}\mu(g)\lfloor\frac n {dg}\rfloor^k} +

+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/qia-te-lan-shu-xue-xi-bi-ji/index.html b/post/qia-te-lan-shu-xue-xi-bi-ji/index.html new file mode 100644 index 0000000..74f37ea --- /dev/null +++ b/post/qia-te-lan-shu-xue-xi-bi-ji/index.html @@ -0,0 +1,950 @@ + + + + + + + + + +卡特兰数 学习笔记 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 卡特兰数 学习笔记 + +

+ +
+
+

1.定义

+

f(n)f(n)为卡特兰数,则有:

+

f(n)=(n2n)(n12n)f(n)=\binom{n}{2n}-\binom{n-1}{2n} +

+

存在递推式:

+

f(n)=i=0n1(in)(ni1n)f(n)=\sum_{i=0}^{n-1}\binom i n\binom {n-i-1} n +

+ +

证明:

+

(2nn)(2nn1)=1n+1(2nn)\binom{2n}n-\binom{2n}{n-1}=\frac{1}{n+1}\binom{2n}{n} +

+
+

2.应用

+

1.求在网格图从(0,0)(0,0)(n,n)(n,n)不经过对角线的方案总数。

+

2.凸多边形的带标号三角剖分数。

+

3.n个节点构成的完全二叉树数目。

+

4.n个数进栈的不同出栈次序。

+

证明:

+

对于1,所有经过对角线的路线都可以一一映射到(n1,n+1)(n-1,n+1)

+

2.还不会证明。

+

3.可以递归考虑,对于每棵子树,左子树分i个点,右子树必定n-1-i个点。

+
+

3.例题

+
1.P1044 栈
+

很简单,根据应用4直接做就可以。

+

注意不要用通项,会爆longlong。

+
+
2.[SCOI2010]生成字符串
+

虽然不是卡特兰数,但运用了类似的思想。

+

将n+m的串看成由(0,0)(0,0)走到(n+m,nm)(n+m,n-m)的方案数。

+

这样可以很好的控制n>m的条件,即不经过y=-1。

+

类似应用1,直接把不合法的映射到(0,2)(0,-2)(n+m,nm)(n+m,n-m)

+

最终答案:

+

(n+mm)(n+mm1)\binom {n+m}{m}-\binom{n+m}{m-1} +

+

Code:

+
#include<bits/stdc++.h>
+using namespace std;
+#define ll long long
+const int mod=20100403;
+ll n,m,fac[2000009],inv[2000009];
+inline ll C(ll n,ll m)
+{
+	return fac[n]*inv[m]%mod*inv[n-m]%mod;
+}
+
+int main()
+{
+	scanf("%lld%lld",&n,&m);
+	fac[0]=1;inv[1]=1;
+	for(int i=1;i<=n+m;i++) fac[i]=1ll*fac[i-1]*i%mod;
+	for(int i=2;i<=n+m;i++) inv[i]=1ll*(mod-mod/i)*inv[mod%i]%mod;
+	for(int i=2;i<=n+m;i++) inv[i]=1ll*inv[i-1]*inv[i]%mod;
+	printf("%lld",(C(n+m,m)-C(n+m,m-1)+mod)%mod);
+	return 0;
+}
+
+
+
3.[TJOI2015]概率论
+

大概是恶评题?qwq

+

二叉树数目直接卡特兰数。

+

问题在于叶子数。

+

根据_rqy神犇的解释,n个节点树去掉一个叶子可以变成n-1个节点的树。

+

满足满射。

+

所以答案为n×fn1fn\frac {n\times f_{n-1}}{f_n}

+

根据通项化简即可。(注释)

+
#include <bits/stdc++.h>
+using namespace std;
+long long n;
+long double ans;
+//n*n*(n+1)÷(2n-1)*2n
+int main()
+{
+	scanf("%lld",&n);
+	ans=(long double)n*(n+1)/((2*n-1)*2);
+	printf("%.9Lf",ans);
+	return 0;
+}
+
+
+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/qing-ke-ti-jie/index.html b/post/qing-ke-ti-jie/index.html new file mode 100644 index 0000000..bb52d75 --- /dev/null +++ b/post/qing-ke-ti-jie/index.html @@ -0,0 +1,890 @@ + + + + + + + + + +请客 题解 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 请客 题解 + +

+ +
+
+

环状计数问题。

+ +

1.破环成链

+

先不考虑环的限制,计算出合法的链的数目,最后拼起来。

+

2.动态规划

+

最初的想法是设 f[k][i][j]f[k][i][j] 表示前 kk 个人放了 ii 个男的和 jj 个女的,但显然这样没法体现出连续的一段是多少。

+

可以在最后加一维状态 [0/1][0/1],表示这一位放的是男生还是女生,这样在表示连续这一条件的时候就可以通过人数增加个数和男(女)生增加的个数相同来体现。

+

我们发现 i+j=ki+j=k,所以直接优化掉 jj 这一维就好了。

+

转移就是枚举最后一段放了多少个,即枚举向前第一个异性的位置:

+

f[i][j][1]=k=1a1f[ik][jk][0]f[i][j][0]=k=1b1f[ik][j][1]f[i][j][1]=\sum_{k=1}^{a-1}f[i-k][j-k][0]\\f[i][j][0]=\sum_{k=1}^{b-1}f[i-k][j][1] +

+

可以用前缀和优化做到 O(n2)O(n^2)

+

3.统计答案

+

而题目要求的是环,我们考虑如何从链变成环。

+

我们可以钦定环的第一个点是男生还是女生,枚举环起始的位置就可以做了。

+

具体来说,就是把结尾的一段性别相同的段扔到前面去,这样保证能够不重不漏,记这个长度为 ii

+

我们钦定至少扔一个过去,所以每一中的方案数就是 (i+1)1=i(i+1)-1=i 个,而剩下的长度就是链了,可以直接使用 ff 数组。

+

假设扔了 ii 个女生,那么方案数就是 i=1b1i×f[n+mi][n][1]\sum_{i=1}^{b-1}i\times f[n+m-i][n][1]

+

注意前缀和时女生要从 i1,j1i-1,j-1 转移,而不是男生。

+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/shu-lun-han-shu-xue-xi-bi-j/index.html b/post/shu-lun-han-shu-xue-xi-bi-j/index.html new file mode 100644 index 0000000..88a628c --- /dev/null +++ b/post/shu-lun-han-shu-xue-xi-bi-j/index.html @@ -0,0 +1,994 @@ + + + + + + + + + +数论函数 学习笔记 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 数论函数 学习笔记 + +

+ +
+
+

数论函数&&莫比乌斯反演&&杜教筛

+ +

1.各种积性函数

+

单位函数

+

\epsilon(n)=[n=1]=\begin{equation} +\left\{ + \begin{array}{**lr**} + 1,\quad n=1 \\ + 0,\quad n\neq0 + \end{array} +\right. +\end{equation} +

+

Id函数

+

idk(n)=nkid_k(n)=n^k +

+

其中记Id(x)=id1(x)=xId(x)=id_1(x)=x

+

除数函数

+

σk(n)=dndk\sigma_k(n)=\sum_{d|n}d^k +

+

其中σ0(n)\sigma_0(n)常记为d(n)d(n),约数和σ1(n)\sigma_1(n)常记为σ(n)\sigma(n)

+

欧拉函数

+

ϕ(n)=ni=1s(11pi)\phi(n)=n\cdot\prod^s_{i=1}\big(1-\frac{1}{p_i} \big) +

+

其中n=p1α1p2α2psαsn=p_1^{\alpha_1}p_2^{\alpha_2}\cdots p_s^{\alpha_s}

+

欧拉函数有如下性质

+

n=dnϕ(d)n=\sum_{d|n}\phi(d) +

+

或:Id=ϕ1Id=\phi*1

+

证明:把1到n的整数按与n的最大公约数分类

+

gcd(n,i)=dgcd(n,i)=d,那么gcd(nd,id)=1gcd(\frac n d,\frac i d)=1

+

ndid\frac n d\geqslant\frac i d ,这样的id\frac i dϕ(nd)\phi(\frac n d)

+

所以i有ϕ(nd)\phi(\frac n d)个。

+

因此

+

n=dnϕ(nd)=dnϕ(d)n=\sum_{d|n}\phi(\frac n d)=\sum_{d|n}\phi(d) +

+

因为nd\frac n d和d遍历的n的约数。

+

莫比乌斯函数

+

\mu(n)=\begin{equation} +\left\{ + \begin{array}{**lr**} + 1,\quad n=1 \\ + (-1)^s, n=p_1p_2\cdots p_s\\ + 0,\quad otherwise + \end{array} +\right. +\end{equation} +

+

其中otherwise表示n有平方因子。

+

性质:

+

dnμ(d)=ϵ(n)\sum_{d|n}\mu(d)=\epsilon(n) +

+

+

μ1=ε\mu*1=\varepsilon +

+

证明:

+

n=1n=1时显然成立

+

n>1n>1 ,设π(n)=s\pi(n)=s,当μ(d)0\mu(d)\neq0时,d的每个素因子质数为0或1

+

可以从中选出k个指数为1,选法共有(sk)\binom s k种。

+

所以,根据二项式定理,有(请走这边)

+

dnμ(d)=k=0s(1)k(sk)=(11)s=0\sum_{d|n}\mu(d)=\sum^s_{k=0}(-1)^k\binom s k =(1-1)^s=0 +

+

得证

+

2.狄利克雷卷积

+

h(n)=dnf(d)g(nd)h(n)=\sum_{d|n}f(d)g(\frac n d) +

+

记作h=fgh=f*g

+

性质:

+

单位函数ε\varepsilon是狄利克雷卷积的单位元,即fε=ff*\varepsilon=f

+

狄利克雷卷积满足交换律和结合律

+

如果f,gf,g都是积性函数,那么fgf*g也是积性函数

+

证明:

+

n=p1α1p2α2psαsn=p_1^{\alpha_1}p_2^{\alpha_2}\cdots p_s^{\alpha_s},那么有

+

f(n)=α1f(p1)α2f(p2)αsf(ps)g(n)=α1g(p1)α2g(p2)αsg(ps)h(n)=fg=α1(f(1)+g(n))+α2(f(p1)+g(np1))+=α1h(p1))α2h(p2)αsh(ps)f(n)=\alpha _1f(p_1)\alpha _2f(p_2)\cdots \alpha _sf(p_s)\\ +g(n)=\alpha _1g(p_1)\alpha _2g(p_2)\cdots \alpha _sg(p_s)\\ +h(n)=f*g=\alpha_1(f(1)+g(n))+\alpha_2(f(p_1)+g(\frac n {p_1}))+\cdots\\=\alpha_1 h(p_1))\alpha _2h(p_2)\cdots \alpha _sh(p_s) +

+

常用卷积μ1=ϵ,Id=ϕ1\mu*1=\epsilon,Id=\phi*1

+

3.莫比乌斯反演

+

莫比乌斯变换

+

g(n)=dnf(d)g(n)=\sum_{d|n}f(d) +

+

称g是f的莫比乌斯变换,f是g的莫比乌斯逆变换。

+

也记作g=f1g=f*1

+

莫比乌斯反演定理

+

g(n)=dnf(d)f(n)=dng(d)μ(nd)g(n)=\sum_{d|n}f(d)\Leftrightarrow f(n)=\sum_{d|n}g(d)\mu(\frac n d) +

+

证明:

+

g=f1f=fε=f1μ=gμg=f*1\Leftrightarrow f=f*\varepsilon=f*1*\mu=g*\mu +

+

经典问题

+

跟定x,y,使x,y互质的数对数有多少

+

x=1ny=1m[gcd(x,y)=1]=x=1ny=1mdgcd(x,y)μ(d)=x=1ny=1mdx,dyμ(d)=dx,dyx=1ny=1mμ(d)=d=1min(n,m)μ(d)ndmd\sum^n_{x=1}\sum^m_{y=1}[gcd(x,y)=1]\\= +\sum^n_{x=1}\sum^m_{y=1}\sum_{d|gcd(x,y)}\mu(d)\\ +=\sum^n_{x=1}\sum^m_{y=1}\sum_{d|x,d|y}\mu(d) \\ + +=\sum_{d|x,d|y}\sum^n_{x=1}\sum^m_{y=1}\mu(d)\\ + +=\sum^{min(n,m)}_{d=1}\mu(d)\left\lfloor\frac n + +d\right\rfloor\left\lfloor\frac m d\right\rfloor +

+

x=1ny=1m[gcd(x,y)=1]=x=1ny=1mdgcd(x,y)μ(d)=x=1ny=1mdx,dyμ(d)=dx,dyx=1ny=1mμ(d)=d=1min(n,m)μ(d)ndmd\sum^n_{x=1}\sum^m_{y=1}[gcd(x,y)=1]=\sum^n_{x=1}\sum^m_{y=1}\sum_{d|gcd(x,y)}\mu(d)\\=\sum^n_{x=1}\sum^m_{y=1}\sum_{d|x,d|y}\mu(d)\\=\sum_{d|x,d|y}\sum^n_{x=1}\sum^m_{y=1}\mu(d)\\=\sum^{min(n,m)}_{d=1}\mu(d)\left\lfloor\frac n d\right\rfloor\left\lfloor\frac m d\right\rfloor +

+

4.杜教筛(SUM)

+

杜教筛是对数论函数求和的一种方式。

+

欧拉函数前缀和

+

φ(n)=i=1nϕ(i)\varphi(n)=\sum^n_{i=1}\phi(i) +

+

考虑到Id=ϕ1Id=\phi*1,有

+

12n(n+1)=k=1nk=k=1ndkϕ(d)=k=1ndkϕ(kd)=d=1nk=1ndϕ(k)=d=1nφ(nd)\frac 1 2n(n+1)=\sum^n_{k=1}k=\sum^n_{k=1}\sum_{d|k}\phi(d)\\ +=\sum^n_{k=1}\sum_{d|k}\phi(\frac k d)\\ +=\sum^n_{d=1}\sum^{\lfloor\frac n d\rfloor}_{k=1}\phi(k)=\sum^n_{d=1}\varphi(\left\lfloor\frac n d\right\rfloor) +

+

莫比乌斯函数前缀和

+

考虑到1=μϵ1=\mu*\epsilon,有

+

1=k=1nϵ(k)=k=1ndkμ(kd)=d=1ndkk[1,n]μ(kd)=d=1nk=1ndμ(k)=d=1nM(nd)1=\sum^n_{k=1}\epsilon(k)=\sum^n_{k=1}\sum_{d|k}\mu(\frac k d)\\ +=\sum^n_{d=1}\sum_{d|k\\k\in[1,n]}\mu(\frac k d)=\sum^n_{d=1}\sum^{\lfloor\frac nd\rfloor}_{k=1}\mu(k)=\sum^n_{d=1}M(\left\lfloor\frac n d\right\rfloor) +

+

一般积性函数的前缀和

+

ffff +

+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/shu-wei-dp-xue-xi-bi-ji/index.html b/post/shu-wei-dp-xue-xi-bi-ji/index.html new file mode 100644 index 0000000..e6e9dec --- /dev/null +++ b/post/shu-wei-dp-xue-xi-bi-ji/index.html @@ -0,0 +1,1030 @@ + + + + + + + + + +数位DP 学习笔记 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 数位DP 学习笔记 + +

+ +
+
+

写在之前:

+

1.对于区间[X,Y][X,Y],可利用统计[0,N][0,N]中的答案f(N)f(N),则区间内的答案:f(Y)f(X1)f(Y)-f(X-1)

+

2.从的角度来考虑。

+

考虑边界NN可以拆分成BB进制数an1an2a0\overline{a_{n-1}a_{n-2}\dots a_0}

+

对于每一位,我们都可以按照当前位的数字为[0,ai1][0,a_{i}-1]aia_i分为两类。

+

对于前者,可以直接通过组合数计算。

+

对于后者,可以继续计算到a0a_0

+

最后答案为前者之和加上最后一种情况。

+ +
+

Problem 1.度的数量

+

Description:

+
+

求给定区间 [X,Y] 中满足下列条件的整数个数:这个数在B进制下‘1’的个数等于K。

+
+

Solution:

+

模板题,统计每一位的两个分支。

+

若该位为0,返回0。

+

该位为1,为Cklasti+1C_{k-last}^i+1

+

该位大于1,1可以进入左边分支,为Cklast1iC^{i}_{k-last-1}

+

最后统计最右侧方案即可。

+

Code:

+
#include<bits/stdc++.h>
+using namespace std;
+const int N=35;
+int f[N][N],l,r,K,B;
+void Init()
+{
+    for(int i=0;i<=N;i++)
+        for(int j=0;j<=i;j++)
+            if(!j) f[i][j]=1;
+            else f[i][j]=f[i-1][j]+f[i-1][j-1];
+}
+inline int dp(int n)
+{
+    if(!n) return 0;
+    int res=0;
+    int last=0;
+    vector<int> nums;
+    for(;n;n/=B) nums.push_back(n%B);
+    for(int i=nums.size()-1;i>=0;i--)
+    {
+        int x=nums[i];
+        if(x)
+        {
+            res+=f[i][K-last];
+            if(x>1)
+            {
+                if(last+1<=K) res+=f[i][K-last-1];
+                break;//填了不是1的数不符合方案,不能是a*B^b
+            }
+            else
+            {
+                last++;
+                if(last>K) break;
+            }
+        }
+        if(K==last&&!i) res++;
+    }
+    return res;
+}
+int main()
+{
+    Init();
+    scanf("%d%d%d%d",&l,&r,&K,&B);
+    printf("%d",dp(r)-dp(l-1));
+    return 0;
+}
+
+
+

Problem 2.[ZJOI2010]数字计数

+

不放题面了,走这里

+
+

算是很经典的一个题吧,不过这里采用直接暴力求前后数字。

+

然后直接统计计算。

+

大概136ms(吸氧负优化)。

+
#include<cstdio>
+#include<cstring>
+#include<algorithm>
+#include<vector>
+#include<cmath>
+using namespace std;
+#define int long long
+int l,r;
+inline int dp(int n,int i)
+{
+    int res=0,num=0,bn=n;
+    for(;bn;bn/=10) num++;
+    for(int j=1;j<=num;j++)
+    {
+        int p=pow(10,j-1),l=n/p/10,r=n%p,now=n/p%10;
+        if(i) res+=l*p;
+        if(!i&&l) res+=(l-1)*p;//不算前导0
+        if((now>i)&&(i||l)) res+=p;
+        if((now==i)&&(i||l)) res+=r+1;//000+r->r+1
+    }
+    return res;
+}
+signed main()
+{
+    while(scanf("%lld%lld",&l,&r)&&l&&r)
+    {
+        if(l>r) swap(l,r);
+        for(int i=0;i<=9;i++) printf("%lld ",dp(r,i)-dp(l-1,i));
+        puts("");
+    }
+    return 0;
+}
+
+
+

Problem 3.Loj#10164 数字游戏

+

Description:

+
+

科协里最近很流行数字游戏。

+

某人命名了一种不降数,这种数字必须满足从左到右各位数字呈非下降关系,如 123,446。

+

现在大家决定玩一个游戏,指定一个整数闭区间 [a,b],问这个区间内有多少个不降数。

+
+
+

Solution:

+

和第一题类似。可以预处理出当前有i位数,最后一位是j的不降数的个数:

+

f[i][j]+=f[i1][k](k[j,9])f[i][j]+=f[i-1][k](k\in[j,9]) +

+

之后直接转移即可,记住当n=0是也有一个不降数0。

+

last是上一个数的末尾,i+1是位数。

+

Code:

+
#include<bits/stdc++.h>
+using namespace std;
+const int N=15;
+int f[N][N],l,r;
+void Init()
+{
+    for(int i = 0;i <= 9;i++) f[1][i]=1;
+    for(int i=2;i<=N;i++)
+        for(int j=0;j<=9;j++)
+            for(int k=j;k<=9;k++)
+                f[i][j]+=f[i-1][k];
+}
+
+inline int dp(int n)
+{
+    if(!n) return 1;
+    vector<int> nums;
+    while(n) nums.push_back(n%10),n/=10;
+    int res=0,last=0;
+    for(int i=nums.size()-1;i>=0;i--)
+    {
+        int x=nums[i];
+        if(x<last) break;
+        for(int j=last;j<x;j++)
+            res+=f[i+1][j];
+        last=x;
+        
+        if(!i) res++;
+    }
+    return res;
+}
+
+int main()
+{
+    Init();
+    while(scanf("%d%d",&l,&r)!=EOF)
+    {
+        printf("%d\n",dp(r)-dp(l-1));
+    }
+    return 0;
+}
+
+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/si-te-lin-shu-xue-xi-bi-ji/index.html b/post/si-te-lin-shu-xue-xi-bi-ji/index.html new file mode 100644 index 0000000..772abfb --- /dev/null +++ b/post/si-te-lin-shu-xue-xi-bi-ji/index.html @@ -0,0 +1,913 @@ + + + + + + + + + +斯特林数 学习笔记 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 斯特林数 学习笔记 + +

+ +
+
+ +

1.定义

+

第二类斯特林数:

+

定义 S(n,m)S(n,m){nm}\left\{\dfrac{n}{m}\right\} 表示斯特林数,表示n个不同的小球放在m个相同盒子的方案数。

+

有递推式:

+

S(n,m)=S(n1,m1)+m×S(n1,m)S(n,m)=S(n-1,m-1)+m\times S(n-1,m) +

+

枚举最后一个球放在了之前的格子还是新的盒子。

+

通项公式:

+

S(n,m)=1m!k=0m(1)kC(m,k)(mk)nS(n,m)=\frac 1{m!} \sum_{k=0}^m(-1)^kC(m,k)(m-k)^n +

+

证明:枚举空集合的个数k,那么剩下m-k的里面就都是有球的,方案数为 C(m,k)(mk)nC(m,k)(m-k)^n

+

容斥原理,因为是无序的,要除以m的阶乘。

+

2.例题

+

其实和斯特林数基本没关系

+

CF1097G

+

看到 xkx^k ,我们可以首先想到降幂,即

+

xk=i=0k{ki}(xi)i!x^k=\sum_{i=0}^k\left\{\dfrac{k}{i}\right\}\binom x ii! +

+

这个式子其实挺好理解的, xkx^k 是 有 kk 个标号球放在 xx 个有标号盒子里面。

+

枚举选出了哪几个盒子,再把 kk 个球放进去的方案数是斯特林数。

+

最后的 i!i! 是因为盒子是有标号的,但是斯特林数是没有标号的……

+

组合意义大法好!!!

+

那么这个题就是

+

f(x)k=i=0k{ki}i!(f(x)i)f(x)^k=\sum_{i=0}^k\left\{\dfrac{k}{i}\right\}i!\binom{f(x)}{i} +

+

发现前面的部分可以直接做,只有后面的 (f(x)i)\binom {f(x)}i 是不知道的。

+

我们再考虑一波组合意义:(f(x)i)\binom {f(x)}i 表示从 f(x)f(x) 这个边集中选出 ii 条边的方案数,其中 xx 是点集。

+

这启发我们进行树形dp。

+

但我们又发现边集也是不确定的,那么我们可以dp虚树的形态,在虚树的根统计答案。

+

这样,我们有 f[u][i]f[u][i] 表示在以 uu 为根的所有虚树中,选出了 ii 条边的方案数

+

注意:我们只是考虑选了 ii 条边,并不用考虑选法是否联通,这是由上面的式子所决定的。

+

我们可以在两棵子树合并的时候统计答案。

+
+

题解里面没有说为什么只有在合并时才能统计答案,这里说一下我的见解。

+

还是回顾一下我们的目的:统计在一个 点集 中最小连边形成的边集中选出 ii 条的方案数。

+

我们的 f[u][i]f[u][i] 就是 uuuu 的子树所有点集的答案,而这个贡献我们已经在合并之前统计完了。

+

也就是说,只有当点集改变时,我们才可能加入新的答案,这便是子树的合并。

+

在合并结束后,我们把合并的这两棵子树看成一棵子树,再更新它们的 ff 。这是经典 trick了。

+

注意:合并后的 f[u][i]f[u][i] 和之前的已经不一样了,因为点集扩大了,所以我们要更新 ff,保证后面转移所用的 ff 是正确的。

+

合并的过程类似树形背包搞一搞就好了。

+

这里的复杂度是 O(nk)O(nk) 的,证明可以参考i207M学长的博客,讲得非常好,我这里就不赘述了。

+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/ti-jie-cf662c-binary-table/index.html b/post/ti-jie-cf662c-binary-table/index.html new file mode 100644 index 0000000..515d9d3 --- /dev/null +++ b/post/ti-jie-cf662c-binary-table/index.html @@ -0,0 +1,942 @@ + + + + + + + + + +题解 CF662C 【Binary Table】 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 题解 CF662C 【Binary Table】 + +

+ +
+
+

Description

+
+

有一个 n行 m 列的表格,每个元素都是 0/1 ,每次操作可以选择一行或一列,把 0/1翻转,即把 0换为 1,把 1换为 0。请问经过若干次操作后,表格中最少有多少个 1。

+

n20,m105n\le20,m\le 10^5

+
+
+ +

Solution

+

n很小,我们可以考虑状压n,表示第i列的状态。

+

对于行的反转,我们也可以状压。

+

0/10/1 表示当前这一行反转或未反转。

+

对于一个状态为i的列,当反转情况为k时,它当前列的状态为 iki\oplus k

+

可以用 anskans_k 记录当前反转状态为k的答案。

+

fif_i 表是列状态为i的的行数。

+

那么我们如何体现每一列的反转呢?

+

注意到,对于一列的反转,它的 00 变为 1111 变为 00

+

所以只要将列状态为i的0/1个数取min,便完成了列的反转。

+

gjg_j 表示状态为j的0/1个数取min的结果。

+

那么有

+

ansk=ifi×gikans_k=\sum_if_i\times g_{i\oplus k} +

+

j=ikj=i\oplus k,则有 k=ijk=i\oplus j

+

所以:

+

ansk=ij=kfi×gjans_k=\sum_{i\oplus j=k}f_i\times g_j +

+

这就是异或卷积了,直接FWT就好。

+
+

Code

+
#include<cstdio>
+#include<cstring>
+#include<algorithm>
+using namespace std;
+#define int long long
+const int N=(1<<20)+9,M=1e5+9;
+int n,m,f[N],g[N],a[M],num[N];
+char s[M];
+
+inline void FWT(int *f,int flag)
+{
+	for(int mid=2,k=1;mid<=n;mid<<=1,k<<=1)
+		for(int i=0;i<n;i+=mid)
+			for(int j=0;j<k;j++)
+				f[i+j]+=f[i+j+k],
+				f[i+j+k]=f[i+j]-f[i+j+k]-f[i+j+k],
+				f[i+j]/=flag,f[i+j+k]/=flag;
+}
+
+signed main()
+{
+	scanf("%lld%lld",&n,&m);
+	for(int i=1;i<=n;i++)
+	{
+		scanf("%s",s+1);
+		for(int j=1;j<=m;j++)
+			if(s[j]=='1') 
+				a[j]|=(1<<i-1);
+	}
+	for(int i=1;i<=m;i++) f[a[i]]++;
+	for(int i=0;i<(1<<n);i++) num[i]=num[i>>1]+(i&1);
+	for(int i=0;i<(1<<n);i++) g[i]=min(num[i],n-num[i]);//体现出对某一列的反转
+	n=(1<<n);
+	FWT(f,1),FWT(g,1); 
+	for(int i=0;i<n;i++) f[i]*=g[i];
+	FWT(f,2);
+	int ans=1e15;
+	for(int i=0;i<n;i++)
+		ans=min(ans,f[i]);
+	printf("%lld",ans);
+	return 0;
+}
+
+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/ti-jie-cqoi2015-wang-luo-tun-tu-liang/index.html b/post/ti-jie-cqoi2015-wang-luo-tun-tu-liang/index.html new file mode 100644 index 0000000..04dd2a9 --- /dev/null +++ b/post/ti-jie-cqoi2015-wang-luo-tun-tu-liang/index.html @@ -0,0 +1,1020 @@ + + + + + + + + + +题解 [CQOI2015] 网络吞吐量 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 题解 [CQOI2015] 网络吞吐量 + +

+ +
+
+

Description

+
+

现在,若已知一个计算机网络中各路由器间的连接情况,以及各个路由器的最大吞吐量(即每秒能转发的数据包数量),网络中的路由器使用 1 到 n 编号,假设所有数据包一定沿最短路径转发,试计算从路由器 1 到路由器 n 的网络的最大吞吐量。计算中忽略转发及传输的时间开销,不考虑链路的带宽限制,即认为数据包可以瞬间通过网络。路由器1 到路由器 n 作为起点和终点,自身的吞吐量不用考虑,网络上也不存在将1 和 n 直接相连的链路。

+
+ +

本来以为是道水题,没想到是坑。

+

刚开始以为可以直接在原图上跑费用流。

+

但是有点权和最短路的限制,显然我们要重新建图。

+

在建图前跑SPFA求最短路(数据应该卡不掉,只要你常数小)。

+

由于只能在最短路上流,我们可以枚举每条边看是否在最短路上。

+

如果在就连边。

+

**注意:**这题的数据有重边,如果用邻接矩阵,要特判取min!!!!

+

如果你用vector就没事。

+

(这就是我爆零原因/kk)。

+

而对于c的限制,我们可以拆点,从i向i‘连一条ci的边。

+

但是1和n要连无限大。

+

最后就可以跑最大流惹qwq。

+

另:此题不用建源汇点,直接用1和n就行 虽然我还是建了

+

很重要:

+

1.不开longlong见祖宗!

+

2.INF赋小见上帝!

+

3.不判重两行泪!

+

出题人好毒QAQ

+
#include <bits/stdc++.h>
+using namespace std;
+#define int long long
+const int N=1e6+9,INF=5e17;
+
+int dis[N],ver[N<<1],w[N<<1],nxt[N<<1],h[N],cur[N],dep[N];
+int n,m,c[N],x,y,z,ans,g[509][509],tot=1,s=0,t=1501;
+bool vis[N];
+
+inline void SPFA()
+{
+	queue<int> Q;
+	for(int i=2;i<=n;i++) dis[i]=INF;
+	Q.push(1),vis[1]=true;dis[1]=0;
+	while(!Q.empty())
+	{
+		int u=Q.front();Q.pop();
+		vis[u]=0;
+		for(int i=0;i<=n;i++)
+		{
+			if(dis[i]>dis[u]+g[u][i]&&g[u][i]!=-1)
+			{
+				dis[i]=dis[u]+g[u][i];
+				if(!vis[i]) Q.push(i),vis[i]=true;
+			}
+		}
+	}
+}
+
+inline void addedge(int x,int y,int z)
+{
+	ver[++tot]=y,w[tot]=z,nxt[tot]=h[x],h[x]=tot;
+	ver[++tot]=x,w[tot]=0,nxt[tot]=h[y],h[y]=tot;
+}
+
+inline bool bfs()
+{
+	queue<int> Q;
+	memset(dep,-1,sizeof dep);
+	Q.push(s);dep[s]=0;
+	while(!Q.empty())
+	{
+		int u=Q.front();Q.pop();
+		for(int i=h[u];i;i=nxt[i])
+		{
+			int v=ver[i];
+			if(dep[v]==-1&&w[i]>0)
+			{
+				Q.push(v);
+				dep[v]=dep[u]+1;
+			}
+		}
+	}
+	return dep[t]!=-1;
+}
+
+inline int dfs(int u,int flow)
+{
+	if(u==t) return flow;
+	int delta,max_flow=0;
+	for(int i=cur[u];i;i=nxt[i])
+	{
+		cur[u]=i;
+		int v=ver[i];
+		if(dep[v]==dep[u]+1&&w[i]>0)
+		{
+			delta=dfs(v,min(w[i],flow));
+			flow-=delta;
+			max_flow+=delta;
+			w[i]-=delta;
+			w[i^1]+=delta;
+			if(!flow) break;
+		}
+	}
+	return max_flow;
+}
+
+inline void Dinic()
+{
+	while(bfs())
+	{
+		memcpy(cur,h,sizeof h);
+		ans+=dfs(s,INF);
+	}
+}
+
+signed main()
+{
+    // freopen("Alansp.out","w",stdout);
+	scanf("%lld%lld",&n,&m);
+	t=n*2+1;
+     memset(g,-1,sizeof g);
+    for(int i=1;i<=m;i++) 
+    {
+        scanf("%lld%lld%lld",&x,&y,&z);
+        if(g[x][y]==-1) g[x][y]=g[y][x]=z;
+        else g[x][y]=min(g[x][y],z),g[y][x]=g[x][y];
+    }
+	// for(int i=1;i<=n;i++)
+    // {
+    //     for(int j=1;j<=n;j++) if(g[i][j]!=-1) cout<<i<<' '<<j<<endl;
+    // }
+    for(int i=1;i<=n;i++) scanf("%lld",&c[i]);
+	SPFA();
+    // for(int i=1;i<=n;i++) cout<<dis[i]<<endl;
+	addedge(s,1,INF),addedge(n*2,t,INF);
+	for(int i=1;i<=n;i++) 
+	{
+		if(i!=1&&i!=n) addedge(i,i+n,c[i]);
+		else addedge(i,i+n,INF);
+	}
+	for(int i=1;i<=n;i++)
+	{
+		for(int j=1;j<=n;j++)
+		{ 
+			if(i==j) continue;
+			if(dis[i]+g[i][j]==dis[j]&&g[i][j]!=-1) addedge(i+n,j,INF);
+		}
+	}
+	Dinic();
+	printf("%lld",ans);
+	return 0;
+}
+
+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/ti-jie-p5047-yuno-loves-sqrt-technology-ii/index.html b/post/ti-jie-p5047-yuno-loves-sqrt-technology-ii/index.html new file mode 100644 index 0000000..0c5af45 --- /dev/null +++ b/post/ti-jie-p5047-yuno-loves-sqrt-technology-ii/index.html @@ -0,0 +1,1139 @@ + + + + + + + + + +题解 P5047 Yuno loves sqrt technology II | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 题解 P5047 Yuno loves sqrt technology II + +

+ +
+
+

题解 P5047

+

Description

+
+

给定一个长度为 nn 的序列 {a}\{a\} ,有 qq 次询问,每次询问区间 [a,b][a,b] 的逆序对数。

+
+
+ +

Solution

+

二次离线莫队。先进行离散化。

+

我们可以预处理出对于一个位置 aia_i,在他前面和后面分别有多少个数和它组成逆序对。

+

这可以用树状数组实现。

+

在莫队的过程中,更新区间可以利用记录的数组 sufsufprepre 来更新答案。

+

设原区间为 [l,r][l,r],新区间 [ql,qr][ql,qr]

+

那么更新ans就是 sufql+preqr(sufl+prer)suf_{ql}+pre_{qr}-(suf_l+pre_r)

+

但我们发现这样做会多算/少算,所以我们依次考虑每种情况。

+
+
1.1 ql<l
+
+

我们减去了红色的部分,加上了绿色的区域。

+

我们的意愿是除去 [ql,l1][ql,l-1] 与当前区间的贡献。

+

显然,我们多考虑了 [ql,l1][ql,l-1] 这个区间(蓝色)和qr之后的数组成逆序对的贡献。

+

把询问挂在qr+1的后缀询问上,询问它及它之后的数和这个区间的贡献。

+

权值设为 1-1,因为要减去。

+
1.2 ql>l
+
+

同理,这次是多减去了 [l1,ql][l-1,ql] 的贡献。

+

那么在qr+1挂上它们和后面的数贡献的询问即可,权值为 11

+
2.1 qr<r
+
+

由于我们考虑的是前缀 prepre,所以要计算它们和l之前的数的贡献。

+

注意:这里不是ql,而是l。

+

也就是我们需要计算的是和之前左端点的贡献。

+

为什么这样做呢:我们之前对l讨论的时候,已经把 qlqlll 这两点之间的贡献消除了。

+

如若此时再和l相比,那么它们之间的贡献又会被考虑。

+

这一点明白了,剩下的就和上面一样了。

+

此时仍是不包含r这个点。询问挂在l-1上。

+
2.2 qr>r
+
+

这和上面就一致了,多算了 [r+1,qr][r+1,qr] 的贡献。

+
+

在莫队过后,我们的答案与真正值只相差了挂在某些点的询问。

+

那么如何来统计这些询问呢?有个naive的想法仍旧是利用树状数组。

+

先算一算复杂度,询问的个数是 O(m)O(m) 的。

+

挂起来的区间长度,每个询问是 O(n)O(\sqrt n) 的,总共 O(mn)O(m\sqrt n)

+

树状数组单次操作 O(logn)O(\log n),显然是过不去的。

+

我们发现修改的操作比较少,询问比较多。

+

所以我们可以采用 O(n)O(\sqrt n) 的时间修改,而要求 O(1)O(1) 询问个数。

+

那么就可以值域分块了。

+

具体来说,可以维护每个数比它小/大的个数了。

+

新加入一个数时,在它前/后的值域加一。

+

整块直接加,零散块暴力。

+

查询时返回零散块和整块的和就可以了。

+

最后不要忘了乘上权值。

+

记得把答案累加,因为二次离线莫队算的是差值。

+
+

Code:

+
#include<bits/stdc++.h>
+using namespace std;
+namespace input
+{
+    const int InputBufferSize=(1<<23)+5;
+    char buffer[InputBufferSize],*s,*eof;
+    inline void init()
+    {
+        assert(stdin!=NULL);
+        s=buffer;
+        eof=s+fread(buffer,1,InputBufferSize,stdin);
+    }
+    inline bool read(int &x)
+    {
+        x=0;
+        int flag=1;
+        while(!isdigit(*s)&&*s!='-')s++;
+        if(eof<=s)return false;
+        if(*s=='-')flag=-1,s++;
+        while(isdigit(*s))x=x*10+*s++-'0';
+        x*=flag;
+        return true;
+    }
+    inline bool read(char* str)
+    {
+        *str=0;
+        while(isspace(*s))s++;
+        if(eof<s)return false;
+        while(!isspace(*s))*str=0,*str=*s,str++,s++;
+        *str=0;
+        return true;
+    }
+}
+namespace output
+{
+    const int OutputBufferSize=(1<<23)+5;
+    char buffer[OutputBufferSize];
+    char *s=buffer;
+    inline void flush()
+    {
+        assert(stdout!=NULL);
+        fwrite(buffer,1,s-buffer,stdout);
+        s=buffer;
+        fflush(stdout);
+    }
+    inline void print(const char ch)
+    {
+        if(s-buffer>OutputBufferSize-2)flush();
+        *s++=ch;
+    }
+    inline void print(char* str)
+    {
+        while(*str!=0)print(char(*str++));
+    }
+    inline void print(long long x)
+    {
+        char buf[25]= {0},*p=buf;
+        if(x<0)print('-'),x=-x;
+        if(x==0)print('0');
+        while(x)*(++p)=x%10,x/=10;
+        while(p!=buf)print(char(*(p--)+'0'));
+    }
+}
+using namespace input;
+using namespace output;
+const int N=2e5+9;
+#define ll long long
+#define lowbit(x) (x&-x)
+#define R register
+int n,m,a[N],sum[N],maxn,len,block;
+int bel[N];
+ll tr[N],suf[N],pre[N],ans[N],Sum[N];
+
+inline int get(int x){return x/len;}
+struct Query
+{
+	int l,r,id;
+	ll ans;
+	bool operator < (const Query &a)const
+	{
+		return get(l)==get(a.l)?r<a.r:get(l)<get(a.l);	
+	}
+} Q[N];
+struct query
+{
+	int l,r,id,t;
+};
+
+inline void add(int x,int c)
+{
+	while(x<=maxn)
+	{
+		tr[x]+=c;
+		x+=lowbit(x);
+	}
+}
+
+inline int ask(int x)
+{
+	int res=0;
+	while(x)
+	{
+		res+=tr[x];
+		x-=lowbit(x);
+	}
+	return res;
+}
+
+inline void add1(int x)
+{//小于x的位置加一,分为整块Sum和零散块sum
+	int pos=bel[x];
+	for(int i=1;i<=bel[x]-1;i++) Sum[i]++;
+	while(x>=1&&bel[x]==pos) sum[x]++,x--;
+}
+
+inline int query1(int x){return Sum[bel[x]]+sum[x];}
+
+inline void add2(int x)
+{//大于x的位置加一,分为整块Sum和零散块sum
+	int pos=bel[x];
+	for(int i=bel[x]+1;i<=bel[maxn];i++) Sum[i]++;
+	while(x<=maxn&&bel[x]==pos) sum[x]++,x++;
+}
+
+inline int query2(int x){return Sum[bel[x]]+sum[x];}
+
+vector<query> vecl[N],vecr[N];
+vector<int> buk;
+int main()
+{
+	init();read(n),read(m);
+	len=sqrt(n);
+	for(R int i=1;i<=n;i++) read(a[i]),buk.push_back(a[i]);
+	sort(buk.begin(),buk.end());
+	buk.erase(unique(buk.begin(),buk.end()),buk.end());
+	for(R int i=1;i<=n;i++)
+		a[i]=lower_bound(buk.begin(),buk.end(),a[i])-buk.begin()+1,maxn=max(maxn,a[i]);
+	block=sqrt(maxn);
+	for(R int i=0;i<=maxn;i++) bel[i]=i/block+1;
+	for(int i=1;i<=n;i++) pre[i]=pre[i-1]+i-1-ask(a[i]),add(a[i],1);
+	memset(tr,0,sizeof tr);
+	for(int i=n;i>=1;i--) suf[i]=suf[i+1]+ask(a[i]-1),add(a[i],1);
+	for(int i=1;i<=m;i++)
+	{
+		read(Q[i].l),read(Q[i].r);
+		Q[i].id=i;
+	}
+	sort(Q+1,Q+1+m);
+	int l=1,r=0;
+	for(int i=1;i<=m;i++)
+	{
+		int ql=Q[i].l,qr=Q[i].r;
+		Q[i].ans-=suf[l]+pre[r];
+		Q[i].ans+=suf[ql]+pre[qr];//画图可知,两次区间多加/减了一些区域
+		if(l>ql) vecr[qr+1].push_back({ql,l-1,i,-1});
+		if(l<ql) vecr[qr+1].push_back({l,ql-1,i,1});
+		if(r<qr) vecl[l-1].push_back({r+1,qr,i,-1});
+		if(r>qr) vecl[l-1].push_back({qr+1,r,i,1});
+		l=ql,r=qr;            
+	}
+	for(int i=1;i<=n;i++)
+	{
+		add1(a[i]);
+		for(auto j:vecl[i])
+		{
+			int l=j.l,r=j.r,t=j.t,id=j.id;
+			for(int k=l;k<=r;k++)//查询大于它的数,满足之前的数i下标小
+				Q[id].ans+=1ll*t*query1(a[k]+1);
+		}
+	}
+	memset(sum,0,sizeof sum);
+	memset(Sum,0,sizeof Sum);
+	for(int i=n;i>=1;i--)
+	{
+		add2(a[i]);
+		for(auto j:vecr[i])
+		{
+			int l=j.l,r=j.r,t=j.t,id=j.id;
+			for(int k=l;k<=r;k++)//查询小于它的数,满足之前的数i下标大
+				Q[id].ans+=1ll*t*query2(a[k]-1);
+		}
+	}
+	for(int i=2;i<=m;i++) Q[i].ans+=Q[i-1].ans;
+	for(int i=1;i<=m;i++) ans[Q[i].id]=Q[i].ans;
+	for(int i=1;i<=m;i++) print(ans[i]),print('\n');
+	flush();
+	return 0;
+}
+
+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/ti-jie-poi2014far-farmcraft/index.html b/post/ti-jie-poi2014far-farmcraft/index.html new file mode 100644 index 0000000..31b9317 --- /dev/null +++ b/post/ti-jie-poi2014far-farmcraft/index.html @@ -0,0 +1,932 @@ + + + + + + + + + +题解 [POI2014]FAR-FarmCraft | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 题解 [POI2014]FAR-FarmCraft + +

+ +
+
+

一发巧妙的贪心

+ +

在luogu网校学完这题,就来水题解

+

容易看出,原图是一棵树。

+

所以我们考虑树形DP。

+

暴力DP肯定TLE,我们考虑用贪心优化。

+

我们记g(i)g(i)为遍历i的子树的最短时间。

+

f(i)f(i)为遍历i的子树,且每人装好电脑的最短时间。

+

显然有,f(i)>g(i)f(i)>g(i)

+

我们发现f(i)g(i)f(i)-g(i)这段时间是用来等待的。

+

如果你做过排队接水这道题,那么你不难想到要从大到小排序。

+

这样我们每次转移时可以先将儿子排序,然后直接转移。

+

但请注意细节,转移时:

+
for(int i=1;i<=cnt;i++) f[u]=max(f[u],f[son[i]]+g[u]+1);
+
+

而不是

+
for(int i=1;i<=cnt;i++) f[u]=max(f[u],f[son[i]]+g[u]+2)
+
+

为什么呢?

+

网校没讲,我想了好久QAQ

+

其实很简单。

+

我们知道每个点的等待值肯定大于等于1(无特殊情况)。

+

所以f[i]g[i]>=1f[i]-g[i]>=1

+

我们只需考虑进入i时的一条道路。

+

而走出i时的时间已经被覆盖在等待时间里啦!

+

所以我们就可以轻松写出代码了qwq。

+

(至于具体的DP过程,可以写写这道题)。

+
#include <bits/stdc++.h>
+using namespace std;
+const int N=500009;
+int f[N],g[N],son[N];
+int n,cnt,tot;
+int ver[N],nxt[N],h[N],a[N];
+inline void add(int x,int y)
+{
+	ver[++tot]=y,nxt[tot]=h[x],h[x]=tot;
+}
+bool cmp(int x,int y)
+{
+	return f[x]-g[x]>f[y]-g[y];
+}
+inline void dfs(int u,int fa)
+{
+	if(u!=1) f[u]=a[u];
+	for(int i=h[u];i;i=nxt[i]) if(ver[i]!=fa) dfs(ver[i],u);
+	cnt=0;
+	for(int i=h[u];i;i=nxt[i]) if(ver[i]!=fa) son[++cnt]=ver[i];
+	sort(son+1,son+1+cnt,cmp);//贪心的想,f[i]-g[i]是需要等待的时间,根据排队接水,需要往前放。
+	for(int i=1;i<=cnt;i++) f[u]=max(f[u],f[son[i]]+g[u]+1),g[u]+=g[son[i]]+2;
+	//这个地方为什么f[son[i]]+g[u]要加1而不是2呢,我想了好久,详情请见我上面解析
+}
+
+int main()
+{
+	scanf("%d",&n);
+	for(int i=1;i<=n;i++) scanf("%d",&a[i]);
+	for(int i=1;i<n;i++)
+	{
+		int x,y;
+		scanf("%d%d",&x,&y);
+		add(x,y),add(y,x);
+	}
+	dfs(1,0);
+	printf("%d",max(f[1],g[1]+a[1]));
+	return 0;
+}
+
+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/ti-jie-pta-little-bird/index.html b/post/ti-jie-pta-little-bird/index.html new file mode 100644 index 0000000..c1bd512 --- /dev/null +++ b/post/ti-jie-pta-little-bird/index.html @@ -0,0 +1,722 @@ + + + + + + + + + +题解 PTA-Little Bird | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 题解 PTA-Little Bird + +

+ +
+
+

Description

+

有一个鸟,从1开始,跳到比当前矮的树不消耗体力,否则消耗一点体力,每次询问有一个步伐限制,求每次最少耗费多少体力

+
+

其实是可以用下标做单调队列的~

+

注意到:

+

dp[i]=minik<=j<i{dp[j]+[hj<=hi]}dp[i]=\min_{i-k<= j<i}\{dp[j]+[h_j<=h_i]\} +

+

这两个都和j有关,就可以打包成pair扔进单调队列。

+

或者直接存下标。

+

这个单调队列的单调性不仅由dp[i]决定,还有h决定。

+

显然,当dp值相同的时候,我们站的高度应该越高越好

+

所以入队时多判断一下就行。

+
#include <bits/stdc++.h>
+using namespace std;
+const int N=1000009;
+
+int n,q,k,ans;
+int h[N],dp[N];
+deque<int> Q;
+
+int main()
+{
+	scanf("%d",&n);
+	for(int i=1;i<=n;i++) scanf("%d",&h[i]);
+	scanf("%d",&q);
+	while(q--)
+	{
+		Q.clear();
+		scanf("%d",&k);
+        //Q.push_back(1);
+		for(int i=1;i<=n;i++)
+		{
+			while(!Q.empty()&&i-Q.front()>k) Q.pop_front();
+			if(!Q.empty()) dp[i]=dp[Q.front()]+(h[Q.front()]<=h[i]);
+			while(!Q.empty()&&(dp[i]<dp[Q.back()]||(dp[i]==dp[Q.back()]&&h[i]>=h[Q.back()]))) Q.pop_back();
+			Q.push_back(i);
+		}
+		printf("%d\n",dp[n]);
+	}
+	return 0;
+}
+
+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/ti-jie-zjoi2010-ji-zhan-xuan-zhi/index.html b/post/ti-jie-zjoi2010-ji-zhan-xuan-zhi/index.html new file mode 100644 index 0000000..e01a659 --- /dev/null +++ b/post/ti-jie-zjoi2010-ji-zhan-xuan-zhi/index.html @@ -0,0 +1,1029 @@ + + + + + + + + + + 题解 [ZJOI2010] 基站选址 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 题解 [ZJOI2010] 基站选址 + +

+ +
+
+

Description

+
+

有 N 个村庄坐落在一条直线上,第 i(i>1) 个村庄距离第 1个村庄的距离为 $$D_i$$。需要在这些村庄中建立不超过 K个通讯基站,在第 i个村庄建立基站的费用为 $$C_i$$。如果在距离第 i 个村庄不超过 $$S_i$$ 的范围内建立了一个通讯基站,那么就村庄被基站覆盖了。如果第 i 个村庄没有被覆盖,则需要向他们补偿,费用为 $$W_i$$。现在的问题是,选择基站的位置,使得总费用最小。

+
+
+ +

f[i][j]f[i][j]表示前i个村庄建立j个基站,第i个强制选的最小价值。

+

经过一番考虑,我们容易得到一下的DP方程:

+

f[i][j]=mink[1,i1]{f[k][j1]+cost(k,i)}+c[i]f[i][j]=\min_{k\in[1,i-1]}\{f[k][j-1]+cost(k,i)\}+c[i] +

+

其中cost(k,i)cost(k,i)表示\sum_{D_k<D_p-S_p\and D_i>D_p+S_p}W[p]

+

时间复杂度O(n2k)O(n^2k)

+

发现j这一维只有j-1有关,可以提出到外面,分层进行dp,类似01背包。

+

瓶颈在于如何计算cost(k,i)cost(k,i)

+
+

规约:L[i]L[i]表示能够覆盖到i的左端点,R[i]R[i]表示能够覆盖到i的右端点。

+

L[i],R[i]L[i],R[i]可以通过二分第一个大于等于(小于等于)Si+DiS_i+D_i的数。

+

我们知道,随着i的右移,左边的某些基站便不再能覆盖当前的i。

+

也就是说每次i有移动,那么[1,L[i]1][1,L[i]-1]里面的f值肯定要加上WiW_i

+

对于每次f[i]的转移,可以不用枚举,若是能查询到[1,i1][1,i-1]中f的最小值,那么便可以直接转移。

+

实现上述操作,区间查询&区间加,我们可以采用线段树来维护。

+

这样能够做到O(nklogn)O(nk\log n)

+

而对于维护i移动后哪些点会收到影响,也就是维护i是哪些点的R值,我们可以采取邻接表。

+

因为只要i移动,那些点对于后来的i,肯定要付出WiW_i代价。

+

而邻接表有效的节省了空间,同样便于插入。

+

最后补一张图

+

()

+

(P.S. 线段树可以重复利用,每个j决策更新一遍)

+
+

code

+
#include<cstdio>
+#include<algorithm>
+#include<cstring>
+using namespace std;
+#define int long long
+#define ls (x<<1)
+#define rs (x<<1|1)
+const int N=20009,INF=0x3f3f3f3f;
+int n,k,d[N],s[N],w[N],c[N],f[N],L[N],R[N],ans,sum;
+int nxt[N<<2],ver[N<<2],h[N],tot;
+struct Segment_Tree 
+{
+	int tag,val;
+} tr[N<<2];
+
+inline void add(int x,int y)
+{
+	ver[++tot]=y,nxt[tot]=h[x],h[x]=tot;
+}
+
+inline void build(int x,int l,int r)
+{
+	tr[x].tag=0;
+	if(l==r)
+	{
+		// tr[x].tag=0;
+		tr[x].val=f[l];
+		return;
+	}
+	int mid=(l+r)>>1;
+	build(ls,l,mid);
+	build(rs,mid+1,r);
+	tr[x].val=min(tr[ls].val,tr[rs].val);
+}
+
+inline void down(int x,int l,int r)
+{
+	int c=tr[x].tag;
+	tr[ls].tag+=c;
+	tr[rs].tag+=c;
+	tr[ls].val+=c;
+	tr[rs].val+=c;
+	tr[x].tag=0;
+}
+
+inline int query(int x,int l,int r,int L,int R)
+{
+	if(L<=l&&r<=R) return tr[x].val;
+	int mid=(l+r)>>1,res=INF;
+	if(tr[x].tag) down(x,l,r);
+	if(L<=mid) res=min(res,query(ls,l,mid,L,R));
+	if(R>mid) res=min(res,query(rs,mid+1,r,L,R));
+	return res;
+}
+
+inline void change(int x,int l,int r,int L,int R,int c)
+{
+	if(L<=l&&r<=R)
+	{
+		tr[x].tag+=c;
+		tr[x].val+=c;
+		return;
+	}
+	int mid=(l+r)>>1;
+	if(tr[x].tag) down(x,l,r);
+	if(L<=mid) change(ls,l,mid,L,R,c);
+	if(R>mid) change(rs,mid+1,r,L,R,c);
+	tr[x].val=min(tr[ls].val,tr[rs].val);
+}
+
+signed main()
+{
+	scanf("%lld%lld",&n,&k);
+	for(int i=2;i<=n;i++) scanf("%lld",&d[i]);
+	for(int i=1;i<=n;i++) scanf("%lld",&c[i]);
+	for(int i=1;i<=n;i++) scanf("%lld",&s[i]);
+	for(int i=1;i<=n;i++) scanf("%lld",&w[i]);
+	k++,n++;
+	d[n]=w[n]=INF;
+	s[n]=c[n]=0;
+	for(int i=1;i<=n;i++)
+	{
+		L[i]=lower_bound(d+1,d+1+n,d[i]-s[i])-d;
+		R[i]=lower_bound(d+1,d+1+n,d[i]+s[i])-d;
+		if(d[R[i]]>d[i]+s[i]) R[i]--;
+		// if(i==n) printf("%lld\n",R[n]);
+		add(R[i],i);
+	}
+	// printf("%d %d\n",L[n],R[n]);
+	for(int i=1;i<=n;i++)
+	{
+		f[i]=sum+c[i];//记f[i]为强制选i建基站所最小价值
+		for(int j=h[i];j;j=nxt[j])
+		{
+			sum+=w[ver[j]];	
+		}//sum进行累加
+	}
+	ans=f[n];
+	// for(int i=1;i<=n;i++) printf("%d ",f[i]);
+	for(int j=2;j<=k;j++)
+	{
+		build(1,1,n);//每次重新建树
+		for(int i=1;i<=n;i++)
+		{
+			// puts("DEBUG");
+			if(i>1) f[i]=query(1,1,n,1,i-1)+c[i];
+			else f[i]=INF;
+			for(int u=h[i];u;u=nxt[u])
+			{
+				int v=ver[u];
+				if(L[v]>1) change(1,1,n,1,L[v]-1,w[v]);
+			}
+		}
+		ans=min(ans,f[n]);
+		// printf("%d\n",f[n]);
+	}
+	printf("%lld",ans);
+	return 0;
+}
+
+
+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/wu-yuan-hui-shang-xia-jie-ke-xing-liu-xue-xi-bi-ji/index.html b/post/wu-yuan-hui-shang-xia-jie-ke-xing-liu-xue-xi-bi-ji/index.html new file mode 100644 index 0000000..f83a2da --- /dev/null +++ b/post/wu-yuan-hui-shang-xia-jie-ke-xing-liu-xue-xi-bi-ji/index.html @@ -0,0 +1,988 @@ + + + + + + + + + +无源汇上下界可行流 学习笔记 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 无源汇上下界可行流 学习笔记 + +

+ +
+
+

模板题

+ +

通解:

+

构造一个新图,使得边(u,v)(u,v)的上下界变为[0,cR(u,v)cL(u,v)][0,c_R(u,v)-c_L(u,v)]

+

容易证明,这样满足最大流容量限制。

+

但因为出边,入边数目、容量不同,不满足流量守恒。

+

也就是对于一个点u,会改变cincout|c_{in}-c_{out}|的容量。

+

cin=(u,v)VcL(u,v),cout=(v,u)VcL(v,u)c_{in}=\sum_{(u,v)\in V}c_L(u,v),c_{out}=\sum_{(v,u)\in V}c_L(v,u)

+

换句话说,即如果入流减少的多,会少流cincoutc_{in}-c_{out}

+

反之,会多流coutcinc_{out}-c_{in}

+

为了使其满足可行流的性质,我们可以让SS与其流一条容量为cincoutc_{in}-c_{out}的流。

+

反正,可以使其和汇点流一条为coutcinc_{out}-c_{in}的流。

+

这样便满足了流量守恒。

+

但是注意到,源点和汇点所流的流为补充流,也就是说,在原图中必须流满。

+

扩大(缩小)新图中的限制,这样才能满足原图上下界。

+

也就是说从源点向汇点要流一条最大流。

+

若最大流存在且满流,则原图中的可行流存在。

+
+

证明:

+

对于原图中的任意一条可行流,我们可以通过上述方式唯一构造出一组最大流。

+

同理,对于新图中的最大流,其满足流量限制。

+

我们可以给每条边加上流量下界,从而构造原图中的流。

+

多余的补偿与和S,T的流相抵消。

+

得证。

+
+

Code

+
#include<cstdio>
+#include<algorithm>
+#include<cstring>
+using namespace std;
+const int N=209,M=(N+10200)*2,INF=0x3f3f3f3f;
+int ver[M],nxt[M],f[M],h[N],l[M],tot,S,T;
+int n,m,ans,A[N],cur[N],dis[N],Q[N],hh,tt,cnt;
+
+inline void add(int a,int b,int c,int d)
+{
+    ver[tot]=b,nxt[tot]=h[a],f[tot]=d-c,l[tot]=c,h[a]=tot++;
+    ver[tot]=a,nxt[tot]=h[b],f[tot]=0,h[b]=tot++;
+}
+
+inline bool BFS()
+{
+    memset(dis,-1,sizeof dis);
+    hh=tt=0;Q[0]=S;
+    dis[S]=0;cur[S]=h[S];
+    while(hh<=tt)
+    {
+        int u=Q[hh++];
+        for(int i=h[u];~i;i=nxt[i])
+        {
+            int v=ver[i];
+            if(dis[v]==-1&&f[i])
+            {
+                dis[v]=dis[u]+1;
+                Q[++tt]=v;
+                cur[v]=h[v];
+                if(v==T) return true;
+            }
+        }
+    }
+    return false;
+}
+
+int dfs(int u,int lim)
+{
+    if(u==T) return lim;
+    int flow=0,delta;
+    for(int i=cur[u];~i&&flow<lim;i=nxt[i])
+    {
+        cur[u]=i;
+        int v=ver[i];
+        if(dis[v]==dis[u]+1&&f[i])
+        {
+            delta=dfs(v,min(f[i],lim-flow));
+            if(!delta) dis[v]=-1;
+            flow+=delta;
+            f[i]-=delta;
+            f[i^1]+=delta;
+        }
+    }
+    return flow;
+}
+
+inline int Dinic()
+{
+    int res=0;
+    while(BFS())
+    {
+        res+=dfs(S,INF);
+    }
+    return res;
+}
+
+int main()
+{
+    scanf("%d%d",&n,&m);
+    S=n+1,T=n+2;
+    memset(h,-1,sizeof h);
+    for(int i=0;i<m;i++)
+    {
+        int a,b,c,d;
+        scanf("%d%d%d%d",&a,&b,&c,&d);
+        add(a,b,c,d);
+        A[a]-=c,A[b]+=c;
+    }
+    
+    for(int i=1;i<=n;i++) 
+        if(A[i]>0) add(S,i,0,A[i]),cnt+=A[i];
+        else if(A[i]<0) add(i,T,0,-A[i]);
+    
+    if(Dinic()<cnt) puts("NO");
+    else 
+    {
+        puts("YES");
+        for(int i=0;i<2*m;i+=2)
+            printf("%d\n",f[i^1]+l[i]);
+    }
+    return 0;
+}
+
+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/xue-xi-bi-ji-hui-wen-shu/index.html b/post/xue-xi-bi-ji-hui-wen-shu/index.html new file mode 100644 index 0000000..c3324a8 --- /dev/null +++ b/post/xue-xi-bi-ji-hui-wen-shu/index.html @@ -0,0 +1,900 @@ + + + + + + + + + +学习笔记 回文树 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 学习笔记 回文树 + +

+ +
+
+ +

回文树,也叫回文自动机(PAM)。是OI中一种常用的自动机,用来处理子串回文并相互有联系的一类问题。

+ +

1.回文树的建立

+
struct Tries{
+	int ch[27],fail,len,sum;
+} T[N];
+int siz,lastans,cur,cnt=1;
+char str[N];
+
+

回文树是建立在字典树Tries上的一种自动机,类似AC自动机,也需要有fail指针(至于它的具体含义见下)。

+

而回文树的每个节点是一个子串,不再是一个字符。

+

它的每条边代表一个字符,从上往下走表示在父亲的子串两端各加一个边上的字符。

+

同时,回文树也有两个根,奇根和偶根。

+

初始化(奇根=1,偶根=0):

+
T[1].len=-1,T[0].len=0;//1 为奇根,0为偶根
+	T[1].fail=0,T[0].fail=1;//相互指,方便跳,因为任何串都满足奇根
+	//至于奇根的fail是为了get_fail
+
+

原因:如果你写过马拉车都学回文树了肯定会manacher啊qwq

+

那么你肯定知道回文串分为奇数长度和偶数长度。

+

这两种串区别很明显,而它们分别对应奇数和偶数。

+

len存当前节点的长度,sum存个数。

+

cur代表上一个建立(访问)的节点,这个也很重要。

+

2.回文树的维护

+

fail指针的含义:当前节点的最长回文后缀。(注意是回文后缀)

+
inline int get_fail(int cur,int now)
+{
+	while(str[now-T[cur].len-1]!=str[now]) cur=T[cur].fail;
+	return cur;
+}
+
+

暴力跳就可以我不知道有没有用并查集维护这个东西的((

+

咕咕咕咕qwq

+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/you-qu-ji-shu-ti-xuan-zuo/index.html b/post/you-qu-ji-shu-ti-xuan-zuo/index.html new file mode 100644 index 0000000..c6032d3 --- /dev/null +++ b/post/you-qu-ji-shu-ti-xuan-zuo/index.html @@ -0,0 +1,983 @@ + + + + + + + + + +有趣计数题选做 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 有趣计数题选做 + +

+ +
+
+

有趣计数题选做

+

1.[HEOI2013]SAO

+

题意实际上是让你求拓扑序数。

+

引用 shaowice1984\text{shaowice1984} 学长的一句话:“这题要是想拓扑图就凉了。”

+

我们可以先忽略边的限制直接建树,然后跑树形dp。

+

子树内的点对顺序到lca处统计贡献。

+

我们设 f[i][j]f[i][j] 表示 ii 这个点处于拓扑序第 jj 位的方案数。

+

那么对于 uu 的子树 vv,如果 vv 能放到 uu 的前面,那么对 f[u][i+j]f[u][i+j] 的贡献有:

+

f[u][i]×(i1j+i1)×(sizuisizu+sizvji)×kf[v][k]f[u][i]\times \binom{i-1}{j+i-1}\times \binom{siz_u -i}{siz_u+siz_v-j-i}\times \sum_{k}f[v][k] +

+

其中 vsonuv\in son_u,我们枚举了 vv 的子树有 jj 个在 uu 的前面。

+

那么更新后 uu 前面的点有 i+j1i+j-1 个,我们选出了 i1i-1 属于 uu,那么这 i1i-1 个点排在 uu 前面的方案是f[u][i]f[u][i]

+

同理 uu 的后面有 sizuisiz_u -i 个数。

+

那么我们可以通过限定 kk 的范围来控制先后顺序,把 uu 放在前面等价于 k[j+1,sizv]k\in[j+1,siz_v],我选的 kk 在序列中一定大于 i+jii+j-i 的位置。

+

同理,uu 在后面就一定保证在小于等于 i+jii+j-i 的位置。

+

发现最后一项可以前缀(后缀)和优化,复杂度 O(n2)O(n^2)

+

2.[BJOI2012]最多的方案

+

不知道算不算计数,反正挺有意思的(

+

考虑斐波那契数列的增长速度很快,在 n1018n\leqslant 10^{18} 时个数不会超过 100100

+

那么我们可以先找出一个使用斐波那契数最少的方案,这个可以贪心实现。

+

可以证明,每种构造方案均是这个方案的子方案。

+

也就是说,可以对这个方案的斐波那契数进行拆分,构造其他方案。

+

我们设这个方案所用的斐波那契数下标为 {a1am}\{a_1\dots a_m\},那么 i=1mfai=n\sum_{i=1}^mf_{a_i}=n

+

dpi,0/1dp_{i,0/1} 表示考虑到了 aia_i ,即表示出了 j=1ifaj\sum_{j=1}^if_{a_j} ,其中 faif_{a_i} 有没有被分拆的方案总数。

+

如果不分拆,那么只考虑 i1i-1 即可。

+

那么转移有:

+

dpi,0=dpi1,1+dpi1,0dp_{i,0}=dp_{i-1,1}+dp_{i-1,0} +

+

同理,分拆的话,需要用 (ai1,ai)(a_{i-1},a_i)[ai1,ai)[a_{i-1},a_i) 间的数来凑出 aia_i

+

这其中任何一个数都可以在范围内被拆成两个数,边界要判断是否被拆。

+

我们发现每分拆一次范围里的数就会少 11,再加上对边界的考虑,我们得到第一种情况的方案是 aiai11a_i-a_{i-1}-1,第二种 aiai1a_i-a_{i-1}

+

这样就可以转移了

+

dpi,1=(aiai11)×dpi1,1+(aiai1)×dpi1,0dp_{i,1}=(a_i-a_{i-1}-1)\times dp_{i-1,1}+(a_i-a_{i-1})\times dp_{i-1,0} +

+

3.[HAOI2012]道路

+

图上的简单计数。

+

首先要明确最短路图的概念:只有源点 SS 和其与其他点的单源最短路形成的子图。

+

容易发现最短路图是无环的,在本题中是 dagdag

+

我们可以枚举每个点作为源点,跑出最短路。

+

那么一条边 uvu\rightarrow v 在这张图上的贡献可以如下统计:

+

cntu×Cntv\mathrm{cnt_u\times Cnt_{v}} +

+

其中 cntcnt 表示结束在某点的最短路数量,CntCnt 表示从某点开始的最短路数。

+

前者可以在最短路图上拓扑排序求得。cntu=uvervcntvcnt_u=\sum_{u\in ver_v}cnt_v

+

后者可以利用拓扑序倒序推知。Cntu=vveruCntvCnt_u=\sum_{v\in ver_u}Cnt_v

+

最后保证 (u,v)(u,v) 在最短路图上即可。

+

信仰跑 nnSPFASPFA 不会 TLETLE

+

4.CF666C Codeword

+

shiroi\color{black}\text{s}\color{red}\text{hiroi} Orz。

+

显然,答案只与 S|S| 有关,具有普适性。因此我们有一个 naivenaive 的预处理dp做法。

+

f[i][j]f[i][j] 表示现在的串的前 jj 位包含了 SS 的前 ii 位的方案数。

+

那么转移很显然,只要看当前位包不包含 SS 的下一位即可。

+

f[i][j]=25f[i][j1]+f[i1][j1]f[i][j]=25f[i][j-1]+f[i-1][j-1] +

+

这样做是 O(n2)O(n^2) 的。仔细观察方程,发现它非常类似组合数的递推,或许我们可以想到更好的转移方式。

+

我们再考虑一下 f[i1][j1]f[i-1][j-1] 的实质:从前 j1j-1 位中选出 i1i-1 位填 SS 中的字符,剩下的 “随便填”。

+

如果真的随便填的话,显而易见是会算重的,那么可以通过加一些约束来得到正确答案。

+

考虑重复的情况:当剩下的位“随便”填了 S|S| 中的字符时,它在另一种方案中被选择。

+

思考匹配两个串的过程:对于两个相邻的 “匹配点”,我们钦定它们不能填后面那个 “匹配点” 的字符。

+

我们给这 (j1i1)\binom{j-1}{i-1} 种方案规定顺序:按匹配点从右向左排序。

+

这样,在匹配点左移的过程中,他所到的位置在之前的方案中并没有填它的字符,也就不会算重了。

+

所以 f[i1][j1]=(j1i1)25jif[i-1][j-1]=\binom{j-1}{i-1}25^{j-i},我们找到了一种不依赖之前 ii 来转移的方式。

+

这样下来,每个 ii 之间是独立的,单次更新一个 iiO(n)O(n) 的。

+

题目保证 S105\sum|S|\leqslant 10^5,那么不同的 S|S| 只会有 105\sqrt10^5 种。

+

直接暴力做就好,复杂度 O(nn)O(n\sqrt n)

+

5.CF1228E Another Filling the Grid

+

二项式反演。

+

我们设 g[i][j]g[i][j] 表示钦定 iijj 列不合法的方案数。

+

那么 g[i][j]=(ni)(nj)(k1)tkn2tg[i][j]=\binom n i\binom n j(k-1)^tk^{n^2-t}

+

其中 tt 为不合法的格子数,二维前缀和有:t=ni+njijt=n*i+n*j-i*j

+

那么不合法的格子是不能填 11 的,有 kk 种填法。同理剩下的有 k1k-1 种填法。

+

f[i][j]f[i][j] 表示恰好 iijj 列不合法的方案数。

+

则:

+

g[i][j]=x=iny=jn(xi)(yj)f[x][y]g[i][j]=\sum_{x=i}^n\sum_{y=j}^n\binom x i\binom y jf[x][y] +

+

二项式反演,得:

+

f[i][j]=x=iny=jn(1)xi+yj(xi)(yj)g[x][y]f[i][j]=\sum_{x=i}^n\sum_{y=j}^n(-1)^{x-i+y-j}\binom x i\binom y jg[x][y] +

+

我们的目标是 f[0][0]f[0][0],即 x=iny=jn(1)x+y(xi)(yj)g[x][y]\sum_{x=i}^n\sum_{y=j}^n(-1)^{x+y}\binom x i\binom y jg[x][y]

+

6.CF724F Uniformly Branched Trees

+

非常 有意思 的计数。

+

从重心考虑,钦定一棵树的重心为根,进行计数 dpdp

+

这样子每棵子树的大小不超过 n2\frac n 2,并且方便去重。

+

由于要考虑不同构的情况,所以我们按子树的大小从小向大计算。

+

我们设 f[i][j][k]f[i][j][k] 表示当前有 ii 个节点的树,根节点的度为 jj,子树大小不超过 kk 的方案数。

+

那么显然有转移:f[i][j][k]=f[i][j][k1]f[i][j][k]=f[i][j][k-1],不超过 k1k-1 的一定不超过 kk

+

接下来我们就要考虑大小恰好为 kk 的子树了。

+

枚举我们选了 tt 棵大小为 kk 的子树,那么剩下的方案数就是 f[itk][jt][k1]f[i-tk][j-t][k-1],注意剩下的子树大小不能超过 k1k-1

+

而这 tt 棵树有不同的形态,我们知道大小为 kk,且合法的树的形态是 f[k][d1][k1]f[k][d-1][k-1]

+

除去根节点,子树总大小为 k1k-1,并且因为这棵树要作为子树,根节点的度有一条是连向 fatherfather 的。所以有 d1d-1 棵子树。

+

那么我们要从这么多种形态的树种选择 tt 棵,同时这些树的形态可以重复,这就是一个可重组合,方案数为

+

(f[k][d1][k1]+t1t)\binom{f[k][d-1][k-1]+t-1}{t} +

+

在转移时还要乘上上面的组合数。

+

这样我们就处理完一个重心的问题了,但是还没有结束。因为当 nn 为偶数时,可能这棵树有两个重心。

+

其他题解里对为什么会算重讲得不是很详细,这里我细说一下。

+

我们在考虑 树的同构 的时候,将子树的大小从小到大考虑,但这样真的考虑了所有情况吗?我们来看下面的图:

+
+
+

如上图,它们子树的大小的确是递增的,但是这两棵树却是同构的。

+

这是因为在两个重心分别当作根时,它与那些大小小于 n2\frac n 2 的子树共同成的树形态是不同的,即去掉重心之间连边形成的两棵树形态不同。这样就会被重复计数。

+

统计这种情况,可以将两个重心的连边看成点,它连接着两棵大小为 n2\frac n 2 的子树。

+

同上,大小为 n2\frac n 2 的树形态有 f[n2][d1][n21]f[\frac n 2][d-1][\frac n2 -1] 种,我们要从这些形态里选出两种不重复的去重。

+

这样的方案数是:

+

(f[n2][d1][n21]2)\binom{f[\frac n 2][d-1][\frac n2 -1]}{2} +

+

统计答案时减掉就好了。

+

注意特判 n2n\leqslant2 的情况。

+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/zhe-ban-sou-suo-xue-xi-bi-ji/index.html b/post/zhe-ban-sou-suo-xue-xi-bi-ji/index.html new file mode 100644 index 0000000..b06a2c8 --- /dev/null +++ b/post/zhe-ban-sou-suo-xue-xi-bi-ji/index.html @@ -0,0 +1,924 @@ + + + + + + + + + +折半搜索 学习笔记 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 折半搜索 学习笔记 + +

+ +
+
+

1.概述

+

折半搜索,又称meet in the middle,通常是把不能直接做的题目分成两半。

+

把这两半分别搜索。

+ +

比如O(2n)O(2^n)的做法,有时可以分解为O(22n2)O(2*2^{\frac n 2}),但是要考虑合并的复杂度。

+

合并时可以通过排序,使一部分有序,再通过二分或其他做法合并答案。

+

其实折半状压也是运用类似的思想。

+

可以解决一些统计方案,但爆搜会T的题目

+
+

2.例题

+

P4799 [CEOI2015 Day2]世界冰球锦标赛

+
+

Bobek有M元钱,共有N场比赛,每场比赛的门票都有一个价格 [公式]
+问在总票价不超过M元钱的情况下,Bobek共有多少种不同的观赛方案。
+注1:若方案1中观看了某场比赛,方案2中未观看该场,则认为两种方案不同。
+注2: [公式]

+
+

折半搜索模板。

+

只需要拆成两部分,二分查找合适的就行。

+

注意相等的可以取,所以要用upper_bound查找,数量减一。

+

但因为vector的下标从0开始,所以就不用了。

+
+

Code:

+
#include <cstdio>
+#include <cstring>
+#include <algorithm>
+#include <vector>
+using namespace std;
+#define int long long
+vector<int> a, b;
+int n, m, A[59], ans;
+inline void dfs(int l, int r, int sum, bool sign)
+{
+	if (sum > m)
+		return;
+	if (l > r)
+	{
+		if (!sign)
+			a.push_back(sum);
+		else
+			b.push_back(sum);
+		return;
+	}
+	dfs(l + 1, r, sum + A[l], sign);
+	dfs(l + 1, r, sum, sign);
+}
+
+signed main()
+{
+	scanf("%lld%lld", &n, &m);
+	for (int i = 1; i <= n; i++)
+		scanf("%lld", &A[i]);
+	dfs(1, n / 2, 0, 0);
+	dfs(n / 2 + 1, n, 0, 1);
+	sort(a.begin(), a.end());
+	for (int i = 0; i < b.size(); i++)
+		ans += upper_bound(a.begin(), a.end(), m - b[i]) - a.begin();
+	printf("%lld", ans);
+	return 0;
+}
+
+
+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/zheng-ti-er-fen-xue-xi-bi-ji/index.html b/post/zheng-ti-er-fen-xue-xi-bi-ji/index.html new file mode 100644 index 0000000..d1f1c5a --- /dev/null +++ b/post/zheng-ti-er-fen-xue-xi-bi-ji/index.html @@ -0,0 +1,1001 @@ + + + + + + + + + +整体二分 学习笔记 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 整体二分 学习笔记 + +

+ +
+
+

0.引述

+

来看这样一道题:

+
+

多次询问,查询静态区间k小,可离线

+
+ +

相信很多人都想到了主席树,但我们发现题中可以离线,所以我们有了一种常数小,debug方便,码量小的方法:

+

整体二分\Huge\text{整体二分}

+
+

1.引述

+

整体二分,是指将询问,修改等操作一起二分,基于值域。

+

传入的时候传四个参数:l,r,L,R。

+

表示值域在l到r内,操作在L到R内的操作答案。

+

处理的时候把操作分治,分到左右区间里。

+

同时,要使用树状数组,对左区间操作。

+

往下分治时,记住要撤销上次操作的影响,即清空树状数组。

+

整体二分还是很套路的,唯一不同的是树状数组中维护的内容。

+
inline void solve(int l,int r,int L,int R)
+{
+	if(L>R) return;//防越界
+	if(l==r)
+	{
+		for(int i=L;i<=R;i++) if(q[i].op==2) ans[q[i].id]=l;
+		//当区间缩小为1时,表示[L,R]内的查询答案都是当前的数,直接赋值就好
+		return;
+	}
+	int mid=(l+r)>>1,cnt1=0,cnt2=0;
+	for(int i=L;i<=R;i++)
+	{
+		if(q[i].op==1)
+		{
+			//修改操作,若当前的数小于左边界的最大值,则统计左区间个数时可以算上
+			if(q[i].l<=mid) q1[++cnt1]=q[i],add(q[i].id,q[i].r);
+			else q2[++cnt2]=q[i];
+		}
+		else
+		{
+			//查询操作,如果查询的k大于左区间的个数,就分到右边
+			int tmp=ask(q[i].r)-ask(q[i].l-1);//左区间个数
+			if(q[i].k<=tmp) q1[++cnt1]=q[i];
+			else q[i].k-=tmp,q2[++cnt2]=q[i];
+		}
+	}
+	for(int i=1;i<=cnt1;i++) if(q1[i].op==1) add(q1[i].id,-q1[i].r);//撤销操作
+	for(int i=1;i<=cnt1;i++) q[L+i-1]=q1[i];//分治下去操作
+	for(int i=1;i<=cnt2;i++) q[L+cnt1+i-1]=q2[i];
+	solve(l,mid,L,L+cnt1-1);
+	solve(mid+1,r,L+cnt1,R);
+}
+
+
+

2.例题

+

重要的还是例题~~。

+ +

模板题,树状数组为值域树状数组,查询可以直接仿照主席树的做法。

+
#include<cstdio>
+#include<cstring>
+#include<algorithm>
+const int N=2e5+9,INF=0x3f3f3f3f;
+#define lowbit(x) (x&-x)
+struct Query
+{
+	int l,r,k,id,op;
+} q[N*3],q1[N*3],q2[N*3];
+int n,m,a[N],cnt,cntq,ans[N],tr[N];
+char op[2];
+inline void add(int x,int c){while(x<=n){tr[x]+=c,x+=lowbit(x);}}
+inline int ask(int x){int res=0;while(x){res+=tr[x],x-=lowbit(x);}return res;}
+
+inline void solve(int l,int r,int L,int R)
+{
+	if(L>R) return;//防越界
+	if(l==r)
+	{
+		for(int i=L;i<=R;i++) if(q[i].op==2) ans[q[i].id]=l;
+		//当区间缩小为1时,表示[L,R]内的查询答案都是当前的数,直接赋值就好
+		return;
+	}
+	int mid=(l+r)>>1,cnt1=0,cnt2=0;
+	for(int i=L;i<=R;i++)
+	{
+		if(q[i].op==1)
+		{
+			//修改操作,若当前的数小于左边界的最大值,则统计左区间个数时可以算上
+			if(q[i].l<=mid) q1[++cnt1]=q[i],add(q[i].id,q[i].r);
+			else q2[++cnt2]=q[i];
+		}
+		else
+		{
+			//查询操作,如果查询的k大于左区间的个数,就分到右边
+			int tmp=ask(q[i].r)-ask(q[i].l-1);//左区间个数
+			if(q[i].k<=tmp) q1[++cnt1]=q[i];
+			else q[i].k-=tmp,q2[++cnt2]=q[i];
+		}
+	}
+	for(int i=1;i<=cnt1;i++) if(q1[i].op==1) add(q1[i].id,-q1[i].r);//撤销操作
+	for(int i=1;i<=cnt1;i++) q[L+i-1]=q1[i];//分治下去操作
+	for(int i=1;i<=cnt2;i++) q[L+cnt1+i-1]=q2[i];
+	solve(l,mid,L,L+cnt1-1);
+	solve(mid+1,r,L+cnt1,R);
+}
+
+int main()
+{
+	scanf("%d%d",&n,&m);//初始序列视为修改
+	for(int i=1;i<=n;i++) scanf("%d",&a[i]),q[++cnt]=(Query){a[i],1,0,i,1};
+	for(int i=1;i<=m;i++)
+	{
+		int l,r,k;
+		scanf("%s",op);
+		scanf("%d%d",&l,&r);
+		if(op[0]=='Q')
+			scanf("%d",&k),q[++cnt]=(Query){l,r,k,++cntq,2};
+		else q[++cnt]=(Query){a[l],-1,0,l,1},q[++cnt]=(Query){r,1,0,l,1},a[l]=r;
+	}
+	solve(-INF,INF,1,cnt);
+	for(int i=1;i<=cntq;i++) printf("%d\n",ans[i]);
+	return 0;
+}
+
+
+ +

这题就比较经典了。

+

操作为区间加,单点查到达某个值的时间。

+

这时候我们就要把区间加和单点查进行整体二分。

+

开始时,先把[l,mid]的区间加进行实现。

+

在查询时,如果当前国家的封地能量总合已经大于期望,那么证明达到满足它的期望的时间一定在[l,mid]的区间加内。

+

反正,则在右区间。

+

记得要保存每个国家的封地有哪些,可以用vector或者邻接表。

+

还注意破环成链,查询时记住把v和v+i的答案都算上。

+

记得撤销操作。

+

Warning:邻接表的表头要和查询打包到一个结构体里,否则在操作下放的时候无法把表头h传递下去,即q[i]=q1[...]时要传递表头。

+

代码我就放在这里🌶:

+

Code\huge\text{Code}

+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/zi-fu-chuan-ti-mu-xuan-zuo/index.html b/post/zi-fu-chuan-ti-mu-xuan-zuo/index.html new file mode 100644 index 0000000..72e36ce --- /dev/null +++ b/post/zi-fu-chuan-ti-mu-xuan-zuo/index.html @@ -0,0 +1,1016 @@ + + + + + + + + + +字符串题目选做 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 字符串题目选做 + +

+ +
+
+
基本概念
+

后缀数组的构建。

+

height和lcp的应用:表示排名相邻的两个后缀的lcp。

+

总的lcp:st表区间min。

+

后缀自动机的构建。

+

挖掘parent树的性质,关注集合中endpos相等的条件。

+

一.后缀数组部分

+

1.1 [AHOI2013]差异

+

1i<jnlen(sufi)+len(sufj)2×lcp(sufi,sufj)=1i<jnlen(sufi)+len(sufj)21i<jn×lcp(sufi,sufj)=n(n+1)2(n1)21i<jn×lcp(sufi,sufj)\sum_{1\le i< j\le n}len(suf_i)+len(suf_j)-2\times lcp(suf_i,suf_j)\\=\sum_{1\le i< j\le n}len(suf_i)+len(suf_j)-2\sum_{1\le i< j\le n}\times lcp(suf_i,suf_j)\\=\frac {n(n+1)}{2}(n-1)-2\sum_{1\le i< j\le n}\times lcp(suf_i,suf_j) +

+

求所有后缀的lcp。

+

考虑每个height的贡献:找到它能作为区间最小值的区间。

+

也就是找height的前缀最小值,它的位置记为pos。

+

那么 [pos,i][pos,i] 的区间都有它贡献了。

+

把贡献记为 ff 数组,那么可以继承pos的f贡献。

+

类似dp的方式统计。

+
+

1.2 [SDOI2016]生成魔咒

+

题意:求字符串S的任意前缀的不同非空字串数。

+

看到前缀,自然想到反转后来求后缀。

+

容易发现,后面的后缀完全包含原来的,所以只要求新贡献就行了。

+

考虑容斥,和其他后缀的不同的长度:leniheightilen_i-height_i

+

由于我们是按照后缀来考虑串,而height是比较排名。

+

我们难免会比较到在他之前被考虑过的字符串。

+

可以用链表倒序删除来规避这种情况。

+
+

1.3 [BJWC2010]外星联络

+

提供一种看起来是O(n2)O(n^2) 但是比较快的做法。

+

因为不用关注子串,只看长度。

+

可以发现height数组中的每一个值,都对应了一种出现次数大于1的子串。

+

那么我们就可以通过枚举height值来求解子串长度。

+

对于一个确定的子串要找到他所有的出现次数。

+

也就是从这个height开始,找到所有长度>=当前长度的height排名最远是多少,记为k。

+

那么总共的出现次数:k-i+1。i为当前排名。

+

由于是lcp,所以已经再两个串中出现了,所以k-i要加1。

+

为了防止算重,要从上一个height+1的位置开始枚举。

+
+

1.4 [SDOI2008]Sandy的卡片

+

首先要将字符串差分,满足同时加减的条件。

+

为了方便考虑这n个串的子串,我们把它们首位相接拼成一个大串。

+

中间用不相关的字符加起来。

+

我们要求这个串的n个后缀的lcp最大是多少。

+

具有单调性,可以二分解决。

+

还需要满足这n个后缀所属的串互不相同,可以用pos维护每个位置所属的串。

+

只要这些串都能在当前长度下找到lcp,就是合法情况。

+

由于求的是差分数组,所以对应回原数组还要把答案加1。

+

相当于:|——|——|——|——| 原数组

+

​ | | | | 差分数组

+

2.后缀自动机部分

+

2.1 SP705 SUBST1 - New Distinct Substrings

+

parent树上,儿子和父亲相差的 len|len| 就是新增加的字符。

+

这样保证了每个字符只被统计一次。

+

所以是本质不同的。

+
+

2.2.1 SP1811 LCS - Longest Common Substring

+

这里有一个比较常见的模型:统计LCS。

+

建好SAM后,我们把第二个串放在上面跑。

+

对于 sis_i 匹配的节点,当前的Common Substring就是 sis_i 代表的最长串。

+

我们考虑 si+1s_{i+1} 的转移。

+
    +
  • +

    如果 sis_i 能产生 si+1s_{i+1} 的出边,那么说明该串能够识别这个子串,直接让ans++即可

    +
  • +
  • +

    如果不行,那么我们就在parent树上向上跳。

    +

    因为当前节点的父亲是它的后缀,所以也可能匹配。

    +

    这时 ans=lenfa+1ans=len_{fa}+1

    +
  • +
  • +

    如果跳到 00 了还不行,那么将 ans=0ans=0 重新开始。

    +
  • +
+

对所有情况取 max\max 即可。

+
inline void get_ans()
+{
+	int p=1,le=0,mx=strlen(s2+1);
+	for(int i=1;i<=mx;i++)
+	{
+		int c=s2[i]-'a'+1;
+		if(tri[p][c]) p=tri[p][c],++le;
+		else 
+		{
+			while(!tri[p][c]&&p) p=fa[p];
+			if(!p) le=0,p=1;
+			else le=len[p]+1,p=tri[p][c];
+		}
+		ans=max(ans,le);
+	}
+}
+
+

2.2.2 SP1812 LCS2 - Longest Common Substring II

+

和上题类似,这次是多串LCS。

+

还是可以对第一个串建SAM,把剩下的串向上跑。

+

关键是我们怎么通过两两串的LCS推知总共的LCS。

+

可以在匹配串的时候,将已经匹配的长度 lenlen 记录在点上。

+

表示这个节点最多能匹配的长度。

+

当有多个串匹配到当前节点时,我们要把他们的 mxmxmin\min 作为答案。

+

因为肯定是最短的那一个作为CS。

+

我们把每个节点的 mnmnmax\max 即为LCS。

+

注意在更新时要考虑它的father,因为在不超过长度的限制下,他所能匹配的长度一定father也能匹配(后缀关系),但可能未被更新。

+

用基数排序求拓扑序实现。

+

2.3 [HAOI2016]找相同字符

+

还算小清新题。

+

对于两个串的子串,统计它们在A,B两串中的出现次数。

+

通过上文知道,本质不同的子串可以通过len来计算。

+

建好A的后缀自动机后,我们可以统计B在上面匹配的长度 lele

+

考虑和每个节点的匹配长度 lele',我们知道后缀在同一个endpos等价类里面是连续的。

+

所以每一个新增加的本质不同的子串都能和当前等价类的任意一个后缀进行匹配(子串)。

+

又因为新增加的子串长度为 le(mnlen1)=lemxlenfale'-(mnlen-1)=le'-mxlen_{fa}

+

再乘上集合大小siz即可。(拓扑序求)

+

注意:如果每个节点每次都要遍历一边,复杂度为 O(S2)O(|S|^2),无法接受。

+

所以可以提前预处理出匹配了最大长度len的贡献,做一遍前缀和。这样只用考虑最后的节点了。

+
+

3.AC自动机部分

+

3.1 [HAOI2017]字符串

+

考虑转化题意:要求的条件即 slcp+lcs+k\mathrm{|s|\le lcp+lcs+k}

+

那么我们可以通过枚举lcp的长度,从而确定合法的方案。

+

对文本串的正串反串都建立AC自动机,那么此时便能识别它的前缀和后缀。

+

此时我们再把模式串放上去,将它访问过的节点都加一。

+

那么不难发现,只有这些位置是有贡献的。

+

也就是只有文本串的对应后缀(pos+k+1)覆盖了这些位置,才能计入当前文本串的答案。

+

所以建立fail树,所求的初步答案即后缀节点子树和。

+

可以通过树状数组维护dfs序实现,即dfs前后两次做差。

+

但我们发现,在 s<lcp+lcs+k\mathrm{|s|< lcp+lcs+k} 时,对于 $|s| $ 的每个位置,我们都统计了一遍。

+

也就是说 slcp+lcs+k||s|-\mathrm{lcp+lcs+k}| 这些长度被多算了。

+

pos+kpos+k 的位置对应的子树和恰好对应它们,所以再挂上相关的询问即可。

+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/zjoi2014-li-jie-ti-bao-gao/index.html b/post/zjoi2014-li-jie-ti-bao-gao/index.html new file mode 100644 index 0000000..d23446c --- /dev/null +++ b/post/zjoi2014-li-jie-ti-bao-gao/index.html @@ -0,0 +1,965 @@ + + + + + + + + + +[ZJOI2014] 力 解题报告 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + [ZJOI2014] 力 解题报告 + +

+ +
+
+

Description

+

Fj = i=1j1qi×qj(ij)2  i=j+1nqi×qj(ij)2F_j~=~\sum_{i = 1}^{j - 1} \frac{q_i \times q_j}{(i - j)^2}~-~\sum_{i = j + 1}^{n} \frac{q_i \times q_j}{(i - j)^2} +

+

Ei = Fiqi E_i~=~\frac{F_i}{q_i} +

+

1in1 \leq i \leq n,求EiE_i的值。

+
+ +

当两边同时加上j时,仍不变。

+

Fj = i=1jqi×qj(ij)2  i=jnqi×qj(ij)2F_j~=~\sum_{i = 1}^{j } \frac{q_i \times q_j}{(i - j)^2}~-~\sum_{i = j}^{n} \frac{q_i \times q_j}{(i - j)^2} +

+

Ej=i=1jqi(ij)2i=jnqi(ij)2E_j=\sum_{i=1}^j\frac {q_i} {(i-j)^2}-\sum_{i=j}^n\frac {q_i} {(i-j)^2} +

+

我们规定

+

f(n)=qn,g(n)=1n2f(n)= q_n,g(n)=\frac 1 {n^2} +

+

因为(ij)2=(ji)2(i-j)^2=(j-i)^2

+

Ej=i=1jf(i)×g(ji)i=jnf(i)×g(ij)E_j=\sum_{i=1}^jf(i)\times g(j-i)-\sum_{i=j}^nf(i)\times g(i-j) +

+

不妨令f(0)=0,g(0)=0f(0)=0,g(0)=0,那么左边变成了卷积形式。现在来看右边。

+

i=jnf(i)×g(ij)=i=0njf(i+j)×g(i)\sum_{i=j}^nf(i)\times g(i-j)=\sum_{i=0}^{n-j}f(i+j)\times g(i) +

+

k=njk=n-j,我们引入一个ff的反转后的多项式ff′,即让f(i)=f(ni)f'(i)=f(n-i)

+

i=0kf(nij)×g(i)=i=0kf(ki)×g(i)\sum_{i=0}^{k}f'(n-i-j)\times g(i)=\sum_{i=0}^kf(k-i)\times g(i) +

+

至此,两边都是卷积形式,可以直接FFT。

+
+

Code:

+
#include<cmath>
+#include<algorithm>
+#include<cstdio>
+#include<cstring>
+using namespace std;
+#define R register
+const int N=1e5+9;
+const double pi=3.1415926535898;
+struct complex
+{
+	complex(double xx=0,double yy=0){x=xx,y=yy;}
+	double x,y;
+};
+complex operator + (complex a,complex b){return complex(a.x+b.x,a.y+b.y);}
+complex operator - (complex a,complex b){return complex(a.x-b.x,a.y-b.y);}
+complex operator * (complex a,complex b){return complex(a.x*b.x-a.y*b.y,a.x*b.y+a.y*b.x);}
+complex a[N],b[N],c[N];
+int r[N],l,m=1;
+inline int read()
+{
+	int res=0,f=1;
+	char ch=getchar();
+	while(ch<'0'||ch>'9'){
+		if(ch=='-') f=-1;
+		ch=getchar();
+	}
+	while(ch>='0'&&ch<='9'){
+		res=(res<<1)+(res<<3)+ch-'0';
+		ch=getchar();
+	}
+	return res*f;
+}
+
+	int n;
+inline void FFT(complex *f,int op)
+{
+	for(R int i=0;i<m;++i) if(i<r[i]) swap(f[i],f[r[i]]);
+	for(R int mid=1;mid<m;mid<<=1)
+	{
+		complex Wn=complex(cos(pi/mid),op*sin(pi/mid));
+		for(R int rr=mid<<1,i=0;i<m;i+=rr)
+		{
+			complex w=complex(1,0);
+			for(R int k=0;k<mid;k++,w=w*Wn)
+			{
+				complex X=f[k+i],Y=f[k+mid+i]*w;
+				f[k+i]=X+Y;
+				f[k+i+mid]=X-Y;
+			}
+		}
+	}
+	if(op==-1) for(int i=0;i<m;i++) f[i].x/=m;
+}
+
+int main()
+{
+	n=read();
+	for(R int i=1;i<=n;++i)
+	{
+		scanf("%lf",&a[i].x);
+		c[n-i].x=a[i].x;
+		b[i].x=(double)(1.0/i/i);
+	}
+	while(m<=(n<<1))  ++l,m<<=1;
+	for(R int i=0;i<m;++i) r[i]=(r[i>>1]>>1)|((i&1)<<(l-1));
+	FFT(a,1);
+	FFT(b,1);
+	FFT(c,1);
+	for(R int i=0;i<m;i++) a[i]=a[i]*b[i],c[i]=c[i]*b[i];
+	FFT(a,-1);FFT(c,-1);
+	for(R int i=1;i<=n;++i)
+		printf("%.3lf\n",a[i].x-c[n-i].x);
+	return 0;
+}
+
+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/zu-he-shu-xue-xue-xi-bi-ji/index.html b/post/zu-he-shu-xue-xue-xi-bi-ji/index.html new file mode 100644 index 0000000..024f9aa --- /dev/null +++ b/post/zu-he-shu-xue-xue-xi-bi-ji/index.html @@ -0,0 +1,965 @@ + + + + + + + + + +组合数学 学习笔记 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 组合数学 学习笔记 + +

+ +
+
+

计数问题 Ⅰ

+ +

一.排列与组合

+

1.1 四个基本计数原理

+

划分:集合S的一个划分是它的子集$ S_1,S_2,S_3…S_m $ 使每个元素恰好只属于其中的一个子集。

+

加法原理:$ |S| = |S_1| + |S_2| + |S_3| +...+|S_m| $

+

乘法原理 :设$ S是有序对 (a,b) 的集合,对象a来自大小为p的集合, 对象b来自大小为q的集合,则 |S|=p*q $

+

减法原理:设$ A\subseteq U $,且 Aˉ=UA\bar{A}=\complement_UA ,那么$ |A|=|U|-|\bar{A|}$

+

除法原理: $ k=\frac{|S|}{m} $,其中m为在一个部分中的对象数目。

+

1.2 集合的排列

+

排列:一个n元素集合S的r排列,我们理解为n个元素中的r个元素的有序放置

+

P(n,r)P(n,r)表示n元素集合的r排列数目,我们有:

+

P(n,r)=n!(nr)!P(n,r)=\frac{n!}{(n-r)!}

+

特殊的 P(n,0)=1P(n,0)=1

+

n元素集合的循环r排列数目:

+

P(n,r)r=n!r(nr)!\frac{P(n,r)}{r}=\frac{n!}{r·(n-r)!} +

+

1.3 集合的组合

+

组合(子集):集合S元素的一个无序选择A。ASA\subseteq S

+

(nr)n\choose r表示n元素集合的r子集的数目。我们有

+

(nr)=n!r!(nr)!=(nnr){n\choose{r}}={\frac{n!}{r!(n-r)!}}={n\choose n-r} +

+

帕斯卡公式:对于所有满足1kn11\le k\le n-1 的整数n和k,有

+

(nk)=(n1k)+(n1k1){n\choose{k}}={n-1\choose k}+{n-1\choose k-1} +

+
吸收恒等式
+

(nm)=n!m!(nm)!=nm×(n1)(n2)(nm+1)(m1)(m2)1(nm)=nm(n1m1)\binom n m=\frac{n!}{m!(n-m)!} = \frac{n}{m}\times\frac{(n-1)(n-2)\cdots(n-m+1)}{(m-1)(m-2)\cdots 1}\\\binom n m=\frac n m\binom {n-1}{m-1} +

+

归纳恒等式

+

(nm)=(n1m)+(n1m1)\binom n m=\binom {n-1} {m}+\binom{n-1}{m-1} +

+

证明:从前n-1个物品中选择m个或m-1个两种情况,即最后一个物品选或不选。

+

特:Lucas定理:

+

若p为质数,有

+

(nm)(nmodpmmodp)(n/pm/p){n\choose m}\equiv {{n\mod p}\choose{m\mod p}}*{{n/p}\choose{m/p}} +

+

1.4 杨辉三角及二项式定理

+

​ 第0列

+

杨辉三角 1 第1列 第0行

+
											1	    1     第2列                              第1行
+
+

​ 1 2 1 第3列 第2行

+

​ 1 3 3 1 第3行

+

$ \cdots$

+

注意到,第n行第k列的数为(nk)\binom n k

+

第n行的和为2n2^{n}

+

(x+1)n=i=0nxi(ni)(x+1)^n=\sum^n_{i=0}x^i\binom n i +

+

简单证明:

+

(x+1)n=(x1)×(x1)n1(x+1)^n=(x-1)\times(x-1)^{n-1} +

+

考虑其组合意义,(x+1)n(x+1)^n 的第k项就是用x乘上(x1)n1(x-1)^{n-1}的第k-1项加上1乘上(x1)n1(x-1)^{n-1} 的第k-1项。那么就有

+

[xk](x+1)n=[xk1](x1)n1+[xk](x1)n[x^k](x+1)^n=[x^{k-1}](x-1)^{n-1}+[x^k](x-1)^n +

+

[xk](x1)n=(nk)[x^k](x-1)^n=\binom n k

+

二项式定理

+

由上式,我们有:

+

(x+1)n=i=0nxi(ni)(x+1)^n=\sum^n_{i=0}x^i\binom n i +

+

x=abx=\frac a b,有:

+

(ab+1)n=i=0n(ni)aibi(\frac a b+1)^n=\sum^n_{i=0}\binom n ia^ib^{-i} +

+

两边同乘bnb^n,得:

+

(a+b)n=i=0n(ni)aibni(a+b)^n=\sum^n_{i=0}\binom n ia^ib^{n-i} +

+

二.容斥原理和集合反演

+

2.1 容斥原理

+

ABC=A+B+CABBCCA+ABC|A\cup B \cup C|=|A|+|B|+|C|-|A\cap B|-|B\cap C|-|C\cap A|+|A\cap B\cap C| +

+

这是最基础的集合容斥。

+

容斥定理

+

对于多个集合,我们有:

+

i=1nAi=T[1,n](1)T1jTSj|\bigcup^n_{i=1}A_i|=\sum_{T\subseteq[1,n]}(-1)^{|T|-1}|\bigcap_{j\in T}S_j| +

+

集合反演

+

对于函数f(S),g(S)f(S),g(S),有

+

f(S)=TSg(T)g(S)=TS(1)STf(T)f(S)=\sum_{T\subseteq S}g(T)\Leftrightarrow g(S)=\sum_{T\subseteq S}(-1)^{|S|-|T|} f(T) +

+

证明,先咕着。

+

三.特殊方法

+

插板法,必须相邻,互不相邻

+

隔板法:n个物品分k堆,不可空,有(nk)\binom n k种分法。

+

插板法的应用:求方程

+

x1+x2+x3++xk=nx_1+x_2+x_3+\cdots+x_k=n +

+

的解的个数,且要求xi>dix_i>d_i

+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/zui-chang-gong-gong-shang-sheng-zi-xu-lie-lcis/index.html b/post/zui-chang-gong-gong-shang-sheng-zi-xu-lie-lcis/index.html new file mode 100644 index 0000000..a96c1e0 --- /dev/null +++ b/post/zui-chang-gong-gong-shang-sheng-zi-xu-lie-lcis/index.html @@ -0,0 +1,892 @@ + + + + + + + + + +最长公共上升子序列(LCIS) | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 最长公共上升子序列(LCIS) + +

+ +
+
+

Description

+

熊大妈的奶牛在小沐沐的熏陶下开始研究信息题目。

+

小沐沐先让奶牛研究了最长上升子序列,再让他们研究了最长公共子序列,现在又让他们研究最长公共上升子序列了。

+

小沐沐说,对于两个数列A和B,如果它们都包含一段位置不一定连续的数,且数值是严格递增的,那么称这一段数是两个数列的公共上升子序列,而所有的公共上升子序列中最长的就是最长公共上升子序列了。

+

奶牛半懂不懂,小沐沐要你来告诉奶牛什么是最长公共上升子序列。

+

不过,只要告诉奶牛它的长度就可以了。

+

数列A和B的长度均不超过3000。

+

1≤N≤3000,序列中的数字均不超过int

+ +
+

Solution

+

LIS和LCS的求法不再赘述,关键在于如何结合

+

扫描1~j-1,如果当前位置b数组的值大于a[i],证明可以拼接

+

方程f[i][j]=max1=<k<j(f[i1][j],f[i1][k]+1)(a[i]>b[k])f[i][j]=\max_{1=<k<j}(f[i-1][j],f[i-1][k]+1)(a[i]>b[k])

+

可以转移到最大值

+

最后再用最大值转移,复杂度O(n3)O(n^3)

+

瓶颈在于每次转移都要枚举1到j-1

+

我们可以记录前缀最大值,在每次处理时即可更新

+

核心代码

+
for(int i=1;i<=n;i++)
+    {
+        maxn=1;
+        for(int j=1;j<=n;j++)
+        {
+            f[i][j]=f[i-1][j];
+            if(a[i]==b[j]) f[i][j]=max(f[i][j],maxn);
+            if(a[i]>b[j]) maxn=max(maxn,f[i-1][j]+1);
+        }
+    }
+
+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/post/zui-da-quan-bi-he-zi-tu-xue-xi-bi-ji/index.html b/post/zui-da-quan-bi-he-zi-tu-xue-xi-bi-ji/index.html new file mode 100644 index 0000000..12d7da2 --- /dev/null +++ b/post/zui-da-quan-bi-he-zi-tu-xue-xi-bi-ji/index.html @@ -0,0 +1,703 @@ + + + + + + + + + +最大权闭合子图 学习笔记 | AlanSP's Blog + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + + + +
+
+
+

+ + 最大权闭合子图 学习笔记 + +

+ +
+
+
+

求给定有向图的最大权闭合子图的点权和。(其中闭合表示没有从子图向外的连边)

+
+ +

考虑使用最小割。

+

将点权按正负分开,源点连正权点,汇点连负权点。

+

边的容量为绝对值。

+

把原图中的边容量设为正无穷。

+

这样便建出了一张新图。

+
+

证明1:新图的最小割一定割在源点,汇点边

+

显然,中间的边权是INF。

+

最小割=最大流=有限数值

+

证明2:任何一个闭合子图可以唯一映射到割在源汇的割(简单割)

+

易证,任何子图都对应一个割的S集合。

+

充分性:由闭合性可知,闭合子图中不会有向外的连边。

+

那么对应的割不会割在中间连边。

+

必要性:简单割的S集合中,不会有向非汇点的边。

+

即不存在(u,v)S&(u,v)T(u,v)\notin S\&(u,v)\notin T

+

对应到原图中为闭合子图。

+

证明3:最大权闭合子图边点权和=$\sum_{v\in V^+} W(v) - ~ $最小割

+

点权和=vV+W(v)+vVW(v)\sum_{v\in V^+} W(v)+\sum_{v\in V^-} W(v)

+

最小割=vV+W(v)+vVW(v)\sum_{v\in V^+} W(v)+\sum_{v\in V^-} -W(v)

+ +
+ + + + +
+ + +
+
+
+
+ + +
+ + + diff --git a/styles/main.css b/styles/main.css new file mode 100644 index 0000000..5dd7218 --- /dev/null +++ b/styles/main.css @@ -0,0 +1,2024 @@ +* { + margin: 0; +} +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +embed, +figure, +figcaption, +footer, +header, +hgroup, +menu, +nav, +output, +ruby, +section, +summary, +time, +mark, +audio, +video { + border: 0; + vertical-align: baseline; +} +html { + height: 100%; + font-size: 58%; + font-family: sans-serif; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; +} +a { + text-decoration: none; + word-wrap: break-word; + cursor: pointer; +} +h1, +h2, +h3, +h4, +h5, +h6 { + margin: 20px 0 15px; + padding: 0; + font-weight: bold; + line-height: 1.5; +} +body { + height: 100%; + box-sizing: border-box; + margin: 0; + padding: 0; + position: relative; + font-size: 14px; + line-height: 2; + width: 100%; + overflow-x: hidden; +} +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} +blockquote { + color: #9a9a9a; + position: relative; + padding: 0.4em 0 0 2.2em; + font-size: 0.96em; +} +blockquote:before { + position: absolute; + left: 4px; + content: "\201c"; + font: 700 40px/1 serif; + color: rgba(0, 0, 0, 0.1); +} +#canvas { + left: 0px; + top: 0px; + overflow: hidden; + margin: 0px; + padding: 0px; + z-index: -99999; + position: fixed; + opacity: 0.85; + width: 100%; + height: 100%; +} +@media (max-width: 991px) and (min-width: 768px) { + .bg-img { + display: none; + } +} +@media (max-width: 767px) { + .bg-img { + display: none; + } +} +.aplayer-title, +.aplayer-list-title { + color: #000; +} +.head-top-line { + height: 3px; + background: #222; +} +.header-box { + position: relative; +} +.main-container { + position: relative; +} +.sidebar a { + border: none; +} +.sidebar-box { + color: #555; + background: #fff; + box-shadow: initial; + border-radius: initial; + padding: 20px 0px; + box-sizing: border-box; +} +.sidebar-item > div { + flex: 1; + text-align: center; +} +.sidebar-item-box + .sidebar-item-box { + border-left: 1px solid #efefef; +} +.side-item-stat { + display: flex; + justify-content: space-around; +} +.side-item-stat .site-item-stat-count { + display: block; + text-align: center; + color: inherit; + font-weight: 600; + font-size: 16px; + height: 20px; + line-height: 20px; +} +.site-item-rss { + display: block; + color: #fc6423; + border: none; + font-size: 16px; + border-top: 1px dotted #ccc; + border-bottom: 1px dotted #ccc; + text-align: center; + margin-top: 20px; +} +.site-item-rss a { + color: #fc6423; +} +.site-item-rss a:hover { + color: #e34603 !important; +} +.site-author-name { + margin: 0; + text-align: center; + color: #222; + font-weight: 600; +} +.site-description { + margin-top: 0; + text-align: center; + font-size: 13px; + color: #999; + margin: 0 0 25px 0; +} +.sidebar-item-social { + margin-top: 5px; + padding-bottom: 5px; + border-bottom: 1px dotted #ccc; +} +.sidebar-item-social > .social-item { + position: relative; + text-align: left; +} +.social-item > a { + text-align: left; + padding: 0 px; + transition: all 0.2s linear; + display: inline-block; + width: 90px; + white-space: nowrap; + font-size: 13px; + padding-left: 15px; +} +.social-img > img { + display: none; + position: absolute; + margin-left: -10px; + width: 240px; + left: 0; + margin-top: 30px; +} +.social-img:hover > img { + display: block; +} +.social-item .iconfont { + margin-right: 2px; + font-size: 16px !important; +} +.social-item a:hover { + border-radius: 4px; + background: #eee; +} +.icon-douban { + font-style: normal; + padding: 0px 6px; + background: #555555; + font-weight: bold; + color: #FFF; + border-radius: 2px; + transform: scale(0.5); + transform-origin: left; + display: inline-block; +} +.douban-span { + margin-left: -12px; +} +.friends-title { + text-align: center; + margin-top: 10px; + font-size: 14px; + font-weight: 600; +} +.friends-box a { + max-width: 280px; + display: block; + box-sizing: border-box; + display: inline-block; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + transition: all 0.2s linear; +} +.bg-img { + left: 0px; + top: 0px; + overflow: hidden; + margin: 0px; + padding: 0px; + z-index: -999999; + position: fixed; + opacity: 0.85; + width: 100%; + height: 100%; +} +.bg-img img { + width: 100%; + height: 100%; + object-fit: cover; +} +.home-sidebar-fixed { + position: fixed !important; + top: 0px; +} +.footer-box { + position: relative; + margin-top: 80px; +} +.footer { + margin-top: 100px; + min-height: 50px; + text-align: center; + font-size: 14px; + color: #999; + margin: 20px; +} +.footer a { + color: #555; + text-decoration: none; + border-bottom: 1px solid #999; + word-wrap: break-word; +} +.poweredby div { + display: inline-block; +} +.power-left::after { + content: "|"; + padding-left: 10px; +} +.split { + width: 2px; + height: 100%; + background-color: #999; +} +.back-to-top { + box-sizing: border-box; + position: fixed; + right: 30px; + z-index: 1050; + padding: 0 6px; + width: initial; + background: #222; + font-size: 12px; + opacity: 0.6; + color: #fff; + cursor: pointer; + text-align: center; + -webkit-transform: translateZ(0); + transition-property: bottom; + transition-duration: 0.2s; + transition-timing-function: ease-in-out; + transition-delay: 0s; + bottom: -40px; +} +.back-top-active { + bottom: 30px; +} +@media (max-width: 767px) { + .back-to-top { + right: 10px; + } + .back-top-active { + bottom: 10px; + } +} +.page { + border-top: 1px solid #eee; + background-color: #fff; +} +.page a { + border: none; +} +.pagination-ul { + text-align: center; + border-top: none; + padding: 0; + display: block; + list-style-type: disc; + margin-inline-start: 0px; + margin-inline-end: 0px; + margin-top: -1px; +} +.pagination-ul li { + list-style-type: none; + display: inline-block; + cursor: pointer; +} +.pagination-ul a { + width: 32px; + font-size: 16px; + padding: 1px 0; + display: inline-block; + border-top: 1px solid transparent; +} +.pagination-active a { + color: #fff; + background: #ccc; + border-top-color: #ccc; +} +.pagination-ul a:hover { + border-top: 1px solid #222; +} +.pagination-dir a { + width: 32px; + display: inline-block; + border-top: 1px solid transparent; +} +.post-body img { + max-width: 100%; + display: block; + overflow: hidden; + background-size: cover; + background-position: center; +} +.post-body { + font-family: 'Monda', "PingFang SC", "Microsoft YaHei", sans-serif; + overflow-x: hidden; +} +.post-body h2, +.post-body h3, +.post-body h4, +.post-body h5, +.post-body h6 { + padding-top: 10px; +} +@media (min-width: 992px) { + .post-body { + text-align: justify; + } +} +.post-button { + margin-top: 50px; +} +.text-center { + text-align: center; +} +.post-button .btn { + color: #555; + font-size: 14px; + background: #fff; + border-radius: 2px; + line-height: 2; + margin: 0 4px 8px 4px; +} +.btn { + display: inline-block; + padding: 0 20px; + font-size: 14px; + color: #fff; + background: #222; + border: 2px solid #555 !important; + text-decoration: none; + border-radius: 0; + transition-property: background-color; + transition-duration: 0.2s; + transition-timing-function: ease-in-out; + transition-delay: 0s; +} +.btn:hover, +.post-button .btn:hover { + border-color: #222; + color: #fff; + background: #222; +} +.post-footer .post-eof { + display: block; + margin: 80px auto 60px; + width: 8%; + height: 1px; + background: #ccc; + text-align: center; +} +.full-image { + border: none; + max-width: 100%; + width: auto; + margin: 20px auto; +} +.fancybox { + border: none !important; +} +.post-body .image-caption, +.post-body .figure .caption { + margin: 10px auto 15px; + text-align: center; + font-size: 14px; + color: #999; + font-weight: bold; + line-height: 1; +} +@media (min-width: 992px) { + .post-body { + text-align: justify; + } +} +@media (max-width: 767px) { + .post-title { + font-size: 22px !important; + } + .pc-show { + display: none; + } +} +@media (min-width: 992px) { + .full-image { + max-width: none; + width: 118%; + margin: 0 -9%; + } +} +.post-header .post-title { + font-size: 26px; + text-align: center; + word-break: break-word; + font-weight: 400; +} +.post-title-link { + display: inline-block; + position: relative; + color: inherit; + border-bottom: none; + line-height: 1.2; + vertical-align: top; +} +.post-title-link:hover { + color: inherit; +} +.post-title-link:hover::before { + visibility: visible; + -webkit-transform: scaleX(1); + -moz-transform: scaleX(1); + -ms-transform: scaleX(1); + -o-transform: scaleX(1); + transform: scaleX(1); +} +.post-title-link::before { + content: ""; + position: absolute; + width: 100%; + height: 2px; + bottom: 0; + left: 0; + visibility: hidden; + -webkit-transform: scaleX(0); + -moz-transform: scaleX(0); + -ms-transform: scaleX(0); + -o-transform: scaleX(0); + transform: scaleX(0); + transition-duration: 0.2s; + transition-timing-function: ease-in-out; + transition-delay: 0s; +} +.post-meta { + margin: 3px 0 60px 0; + color: #999; + font-family: 'Monda', "PingFang SC", "Microsoft YaHei", sans-serif; + font-size: 12px; + text-align: center; +} +.post-meta-divider { + margin: 0 0.5em; +} +@media (max-width: 767px) { + .post-meta { + margin: 3px 0 20px 0; + } +} +.post { + opacity: 0; +} +.post-copyright { + margin: 2em 0 0; + padding: 0.5em 1em; + border-left: 3px solid #ff1700; + background-color: #f9f9f9; + list-style: none; +} +.post-copyright li, +.post-copyright a { + color: #222; +} +.post-copyright a:hover { + color: #000; +} +.post-footer .tags a { + display: inline-block; + margin-right: 10px; + font-size: 13px; + color: #555; + text-decoration: none; + border-bottom: 1px solid #999; + word-wrap: break-word; +} +.post-footer .tags a:hover { + color: #222; + border-bottom-color: #222; +} +.post-footer .nav { + display: flex; + justify-content: space-between; + margin-top: 15px; + width: 100%; + border-top: 1px solid #eee; +} +.post-footer .tags { + margin-top: 40px; + text-align: center; +} +.post-footer .nav-next, +.post-footer .nav-prev { + display: flex; + align-items: center; + padding: 10px 0 0 0; + vertical-align: top; +} +.post-footer .nav-next { + text-align: right; +} +.post-footer .nav-prev { + text-align: left; +} +.post-footer .nav .iconfont { + font-size: 16px !important; + font-weight: bold; + color: black; +} +.nav-mobile-next, +.nav-mobile-prev { + display: none; +} +.nav-pc-next, +.nav-pc-prev { + display: inline-block; + max-width: 280px; + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; +} +.nav i { + padding: 0 5px; +} +@media (max-width: 767px) { + .nav-pc-next, + .nav-pc-prev { + display: none; + } + .nav-mobile-next, + .nav-mobile-prev { + display: inline-block; + } + .post-footer .post-eof { + margin: 40px auto 30px; + } +} +.sidebar-fixed { + position: fixed; + top: 0px; + width: 240px; +} +.post-list-sidebar { + position: relative; + margin: 0 0 20px; +} +.sidebar-title { + display: flex; + justify-content: center; +} +.sidebar-title-item { + display: inline-block; + cursor: pointer; + border-bottom: 1px solid transparent; + font-size: 14px; + color: #555; + padding: 0 5px; + margin-right: 10px; +} +.sidebar-title-item:hover { + color: #fc6423; +} +.sidebar-title-active { + color: #fc6423; + border-bottom-color: #fc6423; +} +.post-toc, +.post-side-meta { + display: none; + opacity: 0; +} +.sidebar-box .sidebar-body-active { + display: block; +} +.post-sidebar-body { + position: relative; +} +.sidebar-inner { + background-color: #FFF; +} +.cloud-tag { + opacity: 0; +} +.tag-cloud-title { + text-align: center; + font-size: 16px; + padding-top: 40px; +} +.tag-cloud-list { + text-align: center; +} +.tag-cloud-list a { + display: inline-block; + margin: 10px; +} +.tag-cloud-list a:hover { + border-bottom: 1px solid #222; +} +.tag-timeline-wrapper .tag-timeline-title::before { + content: " "; + position: absolute; + left: 0; + top: 50%; + margin-left: -4px; + width: 8px; + height: 8px; + background: #bbb; + border-radius: 50%; + z-index: 9999; +} +.tag-timeline-wrapper::after { + content: " "; + position: absolute; + top: 20px; + left: 0; + margin-left: -2px; + width: 4px; + height: 100%; + background: #f5f5f5; +} +.tag-timeline-box { + position: relative; + z-index: 1111; + margin-left: 55px; +} +.tag-timeline-title { + position: relative; + padding: 30px 0; +} +.tag-timeline-box .tag-post-node { + position: relative; + margin: 30px 0; + transition-duration: 0.2s; + transition-timing-function: ease-in-out; + transition-delay: 0s; + transition-property: border; + border-bottom: 1px dashed #ccc; + cursor: pointer; +} +.tag-timeline-box .tag-post-node:hover { + border-bottom-color: #666; +} +.tag-post-node { + opacity: 0; +} +.tag-timeline-wrapper .tag-post-node::before { + content: " "; + position: absolute; + left: 0; + top: 12px; + width: 6px; + height: 6px; + margin-left: -4px; + background: #bbb; + border-radius: 50%; + border: 1px solid #fff; + z-index: 1000; +} +.tag-timeline-wrapper .tag-post-node:hover::before { + background: #666; +} +.tag-timeline-title small { + color: #bbb; + font-size: 80%; +} +.tag-timeline-box h2 { + font-size: 20px; + margin: 0 20px; +} +.tag-timeline-box h1 { + font-size: 12px; + font-weight: normal; + line-height: inherit; + margin: 0 20px; +} +.tag-timeline-box h1 > small { + font-size: 16px; +} +@media (max-width: 767px) { + .tag-timeline-box { + margin-left: 0px; + } + .tag-timeline-wrapper .tag-post-node::before { + content: none; + } + .tag-timeline-wrapper .tag-timeline-title::before { + content: none; + } + .tag-timeline-wrapper::after { + content: none; + } + .tag-timeline-title { + padding: 20px; + } +} +.archive-wrapper { + background-color: #FFF; +} +.archive-timeline-box { + margin-left: 55px; + padding-top: 40px; + position: relative; +} +.archive-timeline-box::after { + content: " "; + position: absolute; + top: 20px; + left: 0; + margin-left: -2px; + width: 4px; + height: 100%; + background: #f5f5f5; +} +.archive-timeline-title { + position: relative; +} +.archive-timeline-title::before { + position: absolute; + content: " "; + top: 8px; + left: 0; + margin-left: -6px; + width: 10px; + height: 10px; + opacity: 0.5; + background: #555; + border: 1px solid #fff; + border-radius: 50%; + z-index: 9999; +} +.archive-timeline-title h2 { + font-size: 14px; + line-height: 2; + margin-top: 0px; + margin-left: 20px; + font-weight: normal; +} +.node-title { + position: relative; +} +.node-title::before { + content: " "; + position: absolute; + left: 0; + top: 50%; + margin-left: -4px; + margin-top: -4px; + width: 8px; + height: 8px; + border-radius: 50%; + z-index: 9999; +} +.node-title h2 { + font-size: 20px; + line-height: 2; + margin-top: 0px; + margin-left: 20px; +} +.archive-timeline-box .tag-node { + margin: 30px 0; + transition-duration: 0.2s; + transition-timing-function: ease-in-out; + transition-delay: 0s; + transition-property: border; + border-bottom: 1px dashed #ccc; + cursor: pointer; +} +.motion-warpper { + position: relative; + z-index: 1000; +} +.tag-year { + opacity: 0; +} +.tag-archive-node { + opacity: 0; +} +.archive-timeline-box .tag-node::before { + content: " "; + position: absolute; + left: 0; + top: 12px; + width: 6px; + height: 6px; + margin-left: -4px; + border-radius: 50%; + background-color: #bbb; + border: 1px solid #fff; + transition-duration: 0.2s; + transition-timing-function: ease-in-out; + transition-delay: 0s; + transition-property: background; + z-index: 1000; +} +.archive-timeline-box h1 { + font-size: 12px; + font-weight: normal; + line-height: inherit; + margin: 0 20px; + color: inherit; +} +.archive-timeline-box h1 > small { + font-size: 16px; +} +.archive-timeline-box .tag-node:hover { + border-bottom-color: inherit; +} +@media (max-width: 767px) { + .archive-timeline-box { + margin-left: 0px; + } + .archive-timeline-box::after { + content: none; + } + .archive-timeline-title::before { + content: none; + } + .node-title::before { + content: none; + } + .archive-timeline-box .tag-node::before { + content: none; + } + .archive-timeline-box h1 { + max-width: 760px; + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + } +} +.markdownIt-TOC ul { + display: none; +} +.expanded ul { + padding: 0 2px 5px 10px; + display: block; +} +.closed ul { + padding: 0 2px 5px 10px; + display: none; +} +.toc-wrapper a { + transition-duration: 0.2s; + transition-timing-function: ease-in-out; + transition-delay: 0s; + transition-property: all; + border-bottom: 1px solid #ccc; +} +.toc-active { + opacity: 1; +} +.markdownIt-TOC { + margin: 0; + padding: 0 2px 5px 20px; + text-align: left; + list-style: none; + font-size: 14px; +} +.markdownIt-TOC .active-show > ul { + display: block; +} +.toc-wrapper .active-hidden > ul { + display: block; +} +.markdownIt-TOC li { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + line-height: 1.8; +} +@media (max-width: 961px) and (min-width: 768px) { + .toc-box { + display: none; + } +} +@media (max-width: 767px) { + .toc-box { + display: none; + } +} +.next-md-body .octicon { + display: inline-block; + fill: currentColor; + vertical-align: text-bottom; +} +.next-md-body .anchor { + float: left; + line-height: 1; + margin-left: -20px; + padding-right: 4px; +} +.next-md-body .anchor:focus { + outline: none; +} +.next-md-body h1 .octicon-link, +.next-md-body h2 .octicon-link, +.next-md-body h3 .octicon-link, +.next-md-body h4 .octicon-link, +.next-md-body h5 .octicon-link, +.next-md-body h6 .octicon-link { + color: #1b1f23; + vertical-align: middle; + visibility: hidden; +} +.next-md-body h1:hover .anchor, +.next-md-body h2:hover .anchor, +.next-md-body h3:hover .anchor, +.next-md-body h4:hover .anchor, +.next-md-body h5:hover .anchor, +.next-md-body h6:hover .anchor { + text-decoration: none; +} +.next-md-body h1:hover .anchor .octicon-link, +.next-md-body h2:hover .anchor .octicon-link, +.next-md-body h3:hover .anchor .octicon-link, +.next-md-body h4:hover .anchor .octicon-link, +.next-md-body h5:hover .anchor .octicon-link, +.next-md-body h6:hover .anchor .octicon-link { + visibility: visible; +} +.next-md-body { + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; + font-family: 'Monda', "PingFang SC", "Microsoft YaHei", sans-serif; + font-size: 15px; + word-wrap: break-word; +} +.next-md-body .pl-c { + color: #6a737d; +} +.next-md-body .pl-c1, +.next-md-body .pl-s .pl-v { + color: #005cc5; +} +.next-md-body .pl-e, +.next-md-body .pl-en { + color: #6f42c1; +} +.next-md-body .pl-s .pl-s1, +.next-md-body .pl-smi { + color: #24292e; +} +.next-md-body .pl-ent { + color: #22863a; +} +.next-md-body .pl-k { + color: #d73a49; +} +.next-md-body .pl-pds, +.next-md-body .pl-s, +.next-md-body .pl-s .pl-pse .pl-s1, +.next-md-body .pl-sr, +.next-md-body .pl-sr .pl-cce, +.next-md-body .pl-sr .pl-sra, +.next-md-body .pl-sr .pl-sre { + color: #032f62; +} +.next-md-body .pl-smw, +.next-md-body .pl-v { + color: #e36209; +} +.next-md-body .pl-bu { + color: #b31d28; +} +.next-md-body .pl-ii { + background-color: #b31d28; + color: #fafbfc; +} +.next-md-body .pl-c2 { + background-color: #d73a49; + color: #fafbfc; +} +.next-md-body .pl-c2:before { + content: "^M"; +} +.next-md-body .pl-sr .pl-cce { + color: #22863a; + font-weight: 700; +} +.next-md-body .pl-ml { + color: #735c0f; +} +.next-md-body .pl-mh, +.next-md-body .pl-mh .pl-en, +.next-md-body .pl-ms { + color: #005cc5; + font-weight: 700; +} +.next-md-body .pl-mi { + color: #24292e; + font-style: italic; +} +.next-md-body .pl-mb { + color: #24292e; + font-weight: 700; +} +.next-md-body .pl-md { + background-color: #ffeef0; + color: #b31d28; +} +.next-md-body .pl-mi1 { + background-color: #f0fff4; + color: #22863a; +} +.next-md-body .pl-mc { + background-color: #ffebda; + color: #e36209; +} +.next-md-body .pl-mi2 { + background-color: #005cc5; + color: #f6f8fa; +} +.next-md-body .pl-mdr { + color: #6f42c1; + font-weight: 700; +} +.next-md-body .pl-ba { + color: #586069; +} +.next-md-body .pl-sg { + color: #959da5; +} +.next-md-body .pl-corl { + color: #032f62; + text-decoration: underline; +} +.next-md-body details { + display: block; +} +.next-md-body summary { + display: list-item; +} +.next-md-body strong { + font-weight: inherit; + font-weight: bolder; +} +.next-md-body h1 { + font-size: 2em; + margin: 0.67em 0; +} +.next-md-body img { + border-style: none; +} +.next-md-body code, +.next-md-body kbd, +.next-md-body pre { + font-family: monospace,monospace; + font-size: 1em; +} +.next-md-body hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} +.next-md-body input { + font: inherit; + margin: 0; +} +.next-md-body input { + overflow: visible; +} +.next-md-body [type=checkbox] { + box-sizing: border-box; + padding: 0; +} +.next-md-body * { + box-sizing: border-box; +} +.next-md-body input { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} +.next-md-body strong { + font-weight: 600; +} +.next-md-body hr { + background: transparent; + border: 0; + border-bottom: 1px solid #dfe2e5; + height: 0; + margin: 15px 0; + overflow: hidden; +} +.next-md-body hr:before { + content: ""; + display: table; +} +.next-md-body hr:after { + clear: both; + content: ""; + display: table; +} +.next-md-body table { + border-collapse: collapse; + border-spacing: 0; +} +.next-md-body td, +.next-md-body th { + padding: 0; +} +.next-md-body details summary { + cursor: pointer; +} +.next-md-body h1, +.next-md-body h2, +.next-md-body h3, +.next-md-body h4, +.next-md-body h5, +.next-md-body h6 { + margin-bottom: 0; + margin-top: 0; +} +.next-md-body h1 { + font-size: 32px; +} +.next-md-body h1, +.next-md-body h2 { + font-weight: 600; +} +.next-md-body h2 { + font-size: 24px; +} +.next-md-body h3 { + font-size: 20px; +} +.next-md-body h3, +.next-md-body h4 { + font-weight: 600; +} +.next-md-body h4 { + font-size: 16px; +} +.next-md-body h5 { + font-size: 14px; +} +.next-md-body h5, +.next-md-body h6 { + font-weight: 600; +} +.next-md-body h6 { + font-size: 12px; +} +.next-md-body p { + margin-bottom: 10px; + margin-top: 0; +} +.next-md-body blockquote { + margin: 0; +} +.next-md-body ol, +.next-md-body ul { + margin-bottom: 0; + margin-top: 0; + padding-left: 0; +} +.next-md-body ol ol, +.next-md-body ul ol { + list-style-type: lower-roman; +} +.next-md-body ol ol ol, +.next-md-body ol ul ol, +.next-md-body ul ol ol, +.next-md-body ul ul ol { + list-style-type: lower-alpha; +} +.next-md-body dd { + margin-left: 0; +} +.next-md-body code, +.next-md-body pre { + font-family: SFMono-Regular, Consolas, Liberation Mono, Menlo, Courier, monospace; + font-size: 12px; +} +.next-md-body pre { + margin-bottom: 0; + margin-top: 0; +} +.next-md-body input::-webkit-inner-spin-button, +.next-md-body input::-webkit-outer-spin-button { + -webkit-appearance: none; + appearance: none; + margin: 0; +} +.next-md-body .border { + border: 1px solid #e1e4e8 !important; +} +.next-md-body .border-0 { + border: 0!important; +} +.next-md-body .border-bottom { + border-bottom: 1px solid #e1e4e8 !important; +} +.next-md-body .rounded-1 { + border-radius: 3px!important; +} +.next-md-body .bg-white { + background-color: #fff !important; +} +.next-md-body .bg-gray-light { + background-color: #fafbfc !important; +} +.next-md-body .text-gray-light { + color: #6a737d !important; +} +.next-md-body .mb-0 { + margin-bottom: 0!important; +} +.next-md-body .my-2 { + margin-bottom: 8px!important; + margin-top: 8px!important; +} +.next-md-body .pl-0 { + padding-left: 0!important; +} +.next-md-body .py-0 { + padding-bottom: 0!important; + padding-top: 0!important; +} +.next-md-body .pl-1 { + padding-left: 4px!important; +} +.next-md-body .pl-2 { + padding-left: 8px!important; +} +.next-md-body .py-2 { + padding-bottom: 8px!important; + padding-top: 8px!important; +} +.next-md-body .pl-3, +.next-md-body .px-3 { + padding-left: 16px!important; +} +.next-md-body .px-3 { + padding-right: 16px!important; +} +.next-md-body .pl-4 { + padding-left: 24px!important; +} +.next-md-body .pl-5 { + padding-left: 32px!important; +} +.next-md-body .pl-6 { + padding-left: 40px!important; +} +.next-md-body .f6 { + font-size: 12px!important; +} +.next-md-body .lh-condensed { + line-height: 1.25 !important; +} +.next-md-body .text-bold { + font-weight: 600!important; +} +.next-md-body:before { + content: ""; + display: table; +} +.next-md-body:after { + clear: both; + content: ""; + display: table; +} +.next-md-body > :first-child { + margin-top: 0!important; +} +.next-md-body > :last-child { + margin-bottom: 0!important; +} +.next-md-body blockquote, +.next-md-body dl, +.next-md-body ol, +.next-md-body p, +.next-md-body pre, +.next-md-body table, +.next-md-body ul { + margin-bottom: 16px; + margin-top: 0; +} +.next-md-body table { + font-size: 15px; +} +.next-md-body th { + text-align: left; +} +.next-md-body td { + vertical-align: middle; +} +.next-md-body hr { + background-color: #e1e4e8; + border: 0; + height: 0.25em; + margin: 24px 0; + padding: 0; +} +.next-md-body blockquote > :first-child { + margin-top: 0; +} +.next-md-body blockquote > :last-child { + margin-bottom: 0; +} +.next-md-body kbd { + background-color: #fafbfc; + border: 1px solid #c6cbd1; + border-bottom-color: #959da5; + border-radius: 3px; + box-shadow: inset 0 -1px 0 #959da5; + color: #444d56; + display: inline-block; + font-size: 11px; + line-height: 10px; + padding: 3px 5px; + vertical-align: middle; +} +.next-md-body h1, +.next-md-body h2, +.next-md-body h3, +.next-md-body h4, +.next-md-body h5, +.next-md-body h6 { + font-weight: 600; + line-height: 1.25; + margin-bottom: 16px; + margin-top: 24px; +} +.next-md-body h1 { + font-size: 2em; +} +.next-md-body h1, +.next-md-body h2 { + border-bottom: 1px solid #eaecef; + padding-bottom: 0.3em; +} +.next-md-body h2 { + font-size: 1.5em; +} +.next-md-body h3 { + font-size: 1.25em; +} +.next-md-body h4 { + font-size: 1em; +} +.next-md-body h5 { + font-size: 0.875em; +} +.next-md-body h6 { + color: #6a737d; + font-size: 0.85em; +} +.next-md-body ol, +.next-md-body ul { + padding-left: 2em; +} +.next-md-body ol ol, +.next-md-body ol ul, +.next-md-body ul ol, +.next-md-body ul ul { + margin-bottom: 0; + margin-top: 0; +} +.next-md-body li { + word-wrap: break-all; +} +.next-md-body li > p { + margin-top: 16px; +} +.next-md-body li + li { + margin-top: 0.25em; +} +.next-md-body dl { + padding: 0; +} +.next-md-body dl dt { + font-size: 1em; + font-style: italic; + font-weight: 600; + margin-top: 16px; + padding: 0; +} +.next-md-body dl dd { + margin-bottom: 16px; + padding: 0 16px; +} +.next-md-body table { + display: block; + overflow: auto; + width: 100%; +} +.next-md-body table th { + font-weight: 600; +} +.next-md-body table td, +.next-md-body table th { + border: 1px solid #dfe2e5; + padding: 6px 13px; +} +.next-md-body table tr { + background-color: #fff; + border-top: 1px solid #c6cbd1; +} +.next-md-body table tr:nth-child(2n) { + background-color: #f6f8fa; +} +.next-md-body img { + background-color: #fff; + box-sizing: content-box; + max-width: 100%; +} +.next-md-body img[align=right] { + padding-left: 20px; +} +.next-md-body img[align=left] { + padding-right: 20px; +} +.next-md-body code { + background-color: rgba(27, 31, 35, 0.05); + border-radius: 3px; + font-size: 85%; + margin: 0; + padding: 0.2em 0.4em; +} +.next-md-body pre { + word-wrap: normal; +} +.next-md-body pre > code { + background: transparent; + border: 0; + font-size: 100%; + margin: 0; + padding: 0; + white-space: pre; + word-break: normal; +} +.next-md-body .highlight { + margin-bottom: 16px; +} +.next-md-body .highlight pre { + margin-bottom: 0; + word-break: normal; +} +.next-md-body .highlight pre, +.next-md-body pre { + background-color: #f6f8fa; + border-radius: 3px; + font-size: 85%; + line-height: 1.45; + overflow: auto; + padding: 16px; +} +.next-md-body pre code { + background-color: transparent; + border: 0; + display: inline; + line-height: inherit; + margin: 0; + max-width: auto; + overflow: visible; + padding: 0; + word-wrap: normal; +} +.next-md-body .commit-tease-sha { + color: #444d56; + display: inline-block; + font-family: SFMono-Regular, Consolas, Liberation Mono, Menlo, Courier, monospace; + font-size: 90%; +} +.next-md-body .blob-wrapper { + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; + overflow-x: auto; + overflow-y: hidden; +} +.next-md-body .blob-wrapper-embedded { + max-height: 240px; + overflow-y: auto; +} +.next-md-body .blob-num { + -moz-user-select: none; + -ms-user-select: none; + -webkit-user-select: none; + color: rgba(27, 31, 35, 0.3); + cursor: pointer; + font-family: SFMono-Regular, Consolas, Liberation Mono, Menlo, Courier, monospace; + font-size: 12px; + line-height: 20px; + min-width: 50px; + padding-left: 10px; + padding-right: 10px; + text-align: right; + user-select: none; + vertical-align: top; + white-space: nowrap; + width: 1%; +} +.next-md-body .blob-num:hover { + color: rgba(27, 31, 35, 0.6); +} +.next-md-body .blob-num:before { + content: attr(data-line-number); +} +.next-md-body .blob-code { + line-height: 20px; + padding-left: 10px; + padding-right: 10px; + position: relative; + vertical-align: top; +} +.next-md-body .blob-code-inner { + color: #24292e; + font-family: SFMono-Regular, Consolas, Liberation Mono, Menlo, Courier, monospace; + font-size: 12px; + overflow: visible; + white-space: pre; + word-wrap: normal; +} +.next-md-body .pl-token.active, +.next-md-body .pl-token:hover { + background: #ffea7f; + cursor: pointer; +} +.next-md-body kbd { + background-color: #fafbfc; + border: 1px solid #d1d5da; + border-bottom-color: #c6cbd1; + border-radius: 3px; + box-shadow: inset 0 -1px 0 #c6cbd1; + color: #444d56; + display: inline-block; + font: 11px SFMono-Regular, Consolas, Liberation Mono, Menlo, Courier, monospace; + line-height: 10px; + padding: 3px 5px; + vertical-align: middle; +} +.next-md-body :checked + .radio-label { + border-color: #0366d6; + position: relative; + z-index: 1; +} +.next-md-body .tab-size[data-tab-size="1"] { + -moz-tab-size: 1; + tab-size: 1; +} +.next-md-body .tab-size[data-tab-size="2"] { + -moz-tab-size: 2; + tab-size: 2; +} +.next-md-body .tab-size[data-tab-size="3"] { + -moz-tab-size: 3; + tab-size: 3; +} +.next-md-body .tab-size[data-tab-size="4"] { + -moz-tab-size: 4; + tab-size: 4; +} +.next-md-body .tab-size[data-tab-size="5"] { + -moz-tab-size: 5; + tab-size: 5; +} +.next-md-body .tab-size[data-tab-size="6"] { + -moz-tab-size: 6; + tab-size: 6; +} +.next-md-body .tab-size[data-tab-size="7"] { + -moz-tab-size: 7; + tab-size: 7; +} +.next-md-body .tab-size[data-tab-size="8"] { + -moz-tab-size: 8; + tab-size: 8; +} +.next-md-body .tab-size[data-tab-size="9"] { + -moz-tab-size: 9; + tab-size: 9; +} +.next-md-body .tab-size[data-tab-size="10"] { + -moz-tab-size: 10; + tab-size: 10; +} +.next-md-body .tab-size[data-tab-size="11"] { + -moz-tab-size: 11; + tab-size: 11; +} +.next-md-body .tab-size[data-tab-size="12"] { + -moz-tab-size: 12; + tab-size: 12; +} +.next-md-body .task-list-item { + list-style-type: none; +} +.next-md-body .task-list-item + .task-list-item { + margin-top: 3px; +} +.next-md-body .task-list-item input { + margin: 0 0.2em 0.25em -1.6em; + vertical-align: middle; +} +.next-md-body hr { + border-bottom-color: #eee; +} +.next-md-body .pl-0 { + padding-left: 0!important; +} +.next-md-body .pl-1 { + padding-left: 4px!important; +} +.next-md-body .pl-2 { + padding-left: 8px!important; +} +.next-md-body .pl-3 { + padding-left: 16px!important; +} +.next-md-body .pl-4 { + padding-left: 24px!important; +} +.next-md-body .pl-5 { + padding-left: 32px!important; +} +.next-md-body .pl-6 { + padding-left: 40px!important; +} +.next-md-body .pl-7 { + padding-left: 48px!important; +} +.next-md-body .pl-8 { + padding-left: 64px!important; +} +.next-md-body .pl-9 { + padding-left: 80px!important; +} +.next-md-body .pl-10 { + padding-left: 96px!important; +} +.next-md-body .pl-11 { + padding-left: 112px!important; +} +.next-md-body .pl-12 { + padding-left: 128px!important; +} +.next-md-body a { + text-decoration: none; + word-wrap: break-word; +} +@media (max-width: 767px) { + .next-md-body h1 { + font-size: 18px; + } + .next-md-body h2 { + font-size: 16px; + } + .next-md-body h3 { + font-size: 14px; + } + .next-md-body h4 { + font-size: 12px; + } + .next-md-body h5 { + font-size: 12px; + } + .next-md-body h6 { + font-size: 12px; + } + .next-md-body ol, + .next-md-body ul { + padding-left: 1.5em; + } + .katex-display > .katex { + white-space: normal !important; + } + .katex { + font-size: 12px; + } + .katex .base { + margin-bottom: 10px; + } +} +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #333; + background: #f9f7f3; +} +.hljs-comment, +.hljs-quote { + color: #998; + font-style: italic; +} +.hljs-keyword, +.hljs-selector-tag, +.hljs-subst { + color: #333; + font-weight: bold; +} +.hljs-number, +.hljs-literal, +.hljs-variable, +.hljs-template-variable, +.hljs-tag .hljs-attr { + color: #008080; +} +.hljs-string, +.hljs-doctag { + color: #d14; +} +.hljs-title, +.hljs-section, +.hljs-selector-id { + color: #900; + font-weight: bold; +} +.hljs-subst { + font-weight: normal; +} +.hljs-type, +.hljs-class .hljs-title { + color: #458; + font-weight: bold; +} +.hljs-tag, +.hljs-name, +.hljs-attribute { + color: #000080; + font-weight: normal; +} +.hljs-regexp, +.hljs-link { + color: #009926; +} +.hljs-symbol, +.hljs-bullet { + color: #990073; +} +.hljs-built_in, +.hljs-builtin-name { + color: #0086b3; +} +.hljs-meta { + color: #999; + font-weight: bold; +} +.hljs-deletion { + background: #fdd; +} +.hljs-addition { + background: #dfd; +} +.hljs-emphasis { + font-style: italic; +} +.hljs-strong { + font-weight: bold; +} +body { + background-color: #eee; + } + .nav-toggle .line { + background-color: #eee !important; + }.header { + width: 1200px; + margin: 0 auto; + } + + .main-continer { + width: 1200px; + margin: 0 auto; + } + body { + color: #343a40; + } + .next-md-body { + color: #343a40; + } + .next-md-body h1, .next-md-body h2 { + border-bottom-color: #343a40; + } + .archive-timeline-box::after, .tag-timeline-wrapper::after { + background: #eee; + }h1, h2, h3, h4, h5, h6 { + color: #555; + } + + .archive-timeline-title::before { + background-color: #555; + } + + .post-title-link::before { + background-color: #555; + } + + .node-title::before { + background-color: #555; + }.bg-color { + background-color: #fff; + }a { + color: #555; + } + + .next-md-body a, .friends-box a { + color: #555; + border-bottom: 1px solid #555; + }a:hover { + color: #222; + } + + .archive-timeline-box .tag-node:hover::before { + background-color: #222; + } + + .markdownIt-TOC a:hover { + color: #222; + border-bottom-color: #222; + } + + .next-md-body a:hover, .friends-box a:hover { + color: #222; + border-bottom-color: #222; + } + .nav-item a { + color: #555; + }.nav-item a:hover { + color: #222; + }.nav-item-active { + background: #f9f9f9; + } + + .nav-item:hover { + background: #f9f9f9; + color: rgba(0, 0, 0, 0.98); + }.site-author-image { + border-radius: 50%; + } + .site-author-image:hover { + transform: rotate(666turn); + transition-delay: 1s; + transition-property: all; + transition-duration: 59s; + transition-timing-function: cubic-bezier(.34,0,.84,1); + }.markdownIt-TOC a { + color: rgba(220,0,0,0.5); + border-bottom-color: rgba(220,0,0,0.5); + }.markdownIt-TOC a:hover { + color: rgba(220,0,0,0.5); + border-bottom-color: rgba(220,0,0,0.5); + }.active-current > a { + color: #fc6423 !important; + border-bottom-color: #fc6423 !important; + } + .sidebar-title-active { + color: #fc6423 !important; + border-bottom-color: #fc6423 !important; + } + .sidebar-title-item:hover { + color: #fc6423 !important; + } + .active-show > a { + color: #fc6423; + border-bottom-color: #fc6423; + } + .active-hidden > a { + color: #fc6423; + border-bottom-color: #fc6423; + } + .site-meta { + background: #000 !important; + } + .head-top-line { + background: #000 !important; + } + .brand { + background: #000; + } + + .brand { + font-weight: bold; + transform: scale([3,5]); + }.main-title { + color: #FFF; + } + .mist .site-title i { + background: #FFF; + }.box-scale > #landlord { + transform: scale([0,1]); + }.box-shadow-wrapper { + box-shadow: none !important; + } \ No newline at end of file diff --git a/tag/06tmmb4Hn/index.html b/tag/06tmmb4Hn/index.html new file mode 100644 index 0000000..6e9013a --- /dev/null +++ b/tag/06tmmb4Hn/index.html @@ -0,0 +1,929 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 最短路 + 标签 +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-23 + 模拟赛 24 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-14 + 模拟赛 18 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-04 + 模拟赛 13 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/0xzjWS0wh/index.html b/tag/0xzjWS0wh/index.html new file mode 100644 index 0000000..1e4e473 --- /dev/null +++ b/tag/0xzjWS0wh/index.html @@ -0,0 +1,929 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 背包 + 标签 +

+
+ + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 12-02 + 模拟赛 29 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + +
+
+

+ 11-23 + 模拟赛 24 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-14 + 模拟赛 18 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/36Nnsld8e/index.html b/tag/36Nnsld8e/index.html new file mode 100644 index 0000000..a7de4db --- /dev/null +++ b/tag/36Nnsld8e/index.html @@ -0,0 +1,907 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 整体二分 + 标签 +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 08-04 + 整体二分 学习笔记 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/3pS5Ke9Oi/index.html b/tag/3pS5Ke9Oi/index.html new file mode 100644 index 0000000..07b72c1 --- /dev/null +++ b/tag/3pS5Ke9Oi/index.html @@ -0,0 +1,907 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 堆 + 标签 +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-14 + 模拟赛 21 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/5KwHqZ80p/index.html b/tag/5KwHqZ80p/index.html new file mode 100644 index 0000000..807ede8 --- /dev/null +++ b/tag/5KwHqZ80p/index.html @@ -0,0 +1,984 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 数据结构 + 标签 +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-23 + 模拟赛 24 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 10-28 + 模拟赛 12 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 10-27 + 模拟赛 11 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 10-20 + 模拟赛 6 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + +
+
+

+ 10-02 + 题解 P5047 Yuno loves sqrt technology II +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 07-21 + 题解 [ZJOI2010] 基站选址 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 03-24 + 学习笔记 回文树 +

+
+
+
+ + + + + + + + + + + + + + + + +
+
+

+ 03-17 + 平衡树全家桶 +

+
+
+
+ + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/5SpAgoLWT/index.html b/tag/5SpAgoLWT/index.html new file mode 100644 index 0000000..8698c3f --- /dev/null +++ b/tag/5SpAgoLWT/index.html @@ -0,0 +1,929 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 网络流 + 标签 +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 08-16 + 最大权闭合子图 学习笔记 +

+
+
+
+ + + + + + + + + + + + + + +
+
+

+ 08-01 + 无源汇上下界可行流 学习笔记 +

+
+
+
+ + + + + + + + + + + + + + +
+
+

+ 07-21 + 题解 [CQOI2015] 网络吞吐量 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/9jnK97ru8/index.html b/tag/9jnK97ru8/index.html new file mode 100644 index 0000000..191e9ea --- /dev/null +++ b/tag/9jnK97ru8/index.html @@ -0,0 +1,907 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 结论 + 标签 +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-01 + 模拟赛 14 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/AJ5IqWz_D/index.html b/tag/AJ5IqWz_D/index.html new file mode 100644 index 0000000..17ab727 --- /dev/null +++ b/tag/AJ5IqWz_D/index.html @@ -0,0 +1,907 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ Gridea + 标签 +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 12-12 + Hello Gridea +

+
+
+
+ + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/AnIEHh08J-/index.html b/tag/AnIEHh08J-/index.html new file mode 100644 index 0000000..ee4ad7a --- /dev/null +++ b/tag/AnIEHh08J-/index.html @@ -0,0 +1,907 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ stl + 标签 +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-04 + 模拟赛 15 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/BBIscRB1I/index.html b/tag/BBIscRB1I/index.html new file mode 100644 index 0000000..c24f463 --- /dev/null +++ b/tag/BBIscRB1I/index.html @@ -0,0 +1,907 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ Tarjan + 标签 +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 10-26 + 模拟赛 7 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/BqmQeZXwL/index.html b/tag/BqmQeZXwL/index.html new file mode 100644 index 0000000..9c8f070 --- /dev/null +++ b/tag/BqmQeZXwL/index.html @@ -0,0 +1,973 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 题解 + 标签 +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-14 + 函数调用 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 09-24 + 题解 CF662C 【Binary Table】 +

+
+
+
+ + + + + + + + + + + + +
+
+

+ 08-26 + Educational Codeforces Round 94 简要题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 07-21 + 题解 [CQOI2015] 网络吞吐量 +

+
+
+
+ + + + + + + + + + + + + + + + +
+
+

+ 07-21 + 题解 [ZJOI2010] 基站选址 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 05-03 + 题解 PTA-Little Bird +

+
+
+
+ + + + + + + + + + + + + + + + + + +
+
+

+ 03-19 + 题解 [POI2014]FAR-FarmCraft +

+
+
+
+ + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/D4Tg3YyZ7/index.html b/tag/D4Tg3YyZ7/index.html new file mode 100644 index 0000000..2fa9a50 --- /dev/null +++ b/tag/D4Tg3YyZ7/index.html @@ -0,0 +1,918 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 哈希 + 标签 +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-14 + 模拟赛 20 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 10-26 + 模拟赛 8 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/DZpCYXI4LK/index.html b/tag/DZpCYXI4LK/index.html new file mode 100644 index 0000000..a0fffdb --- /dev/null +++ b/tag/DZpCYXI4LK/index.html @@ -0,0 +1,907 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 斜率优化 + 标签 +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 10-27 + 模拟赛 11 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/E54WDj0AHZ/index.html b/tag/E54WDj0AHZ/index.html new file mode 100644 index 0000000..c382060 --- /dev/null +++ b/tag/E54WDj0AHZ/index.html @@ -0,0 +1,918 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 最小生成树 + 标签 +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-27 + 模拟赛 28 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-04 + 模拟赛 13 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/En9a8Ohz9/index.html b/tag/En9a8Ohz9/index.html new file mode 100644 index 0000000..23c4acc --- /dev/null +++ b/tag/En9a8Ohz9/index.html @@ -0,0 +1,907 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 莫队 + 标签 +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 10-02 + 题解 P5047 Yuno loves sqrt technology II +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/EpHV6TWcL/index.html b/tag/EpHV6TWcL/index.html new file mode 100644 index 0000000..f3f3fdc --- /dev/null +++ b/tag/EpHV6TWcL/index.html @@ -0,0 +1,907 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 搜索 + 标签 +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 07-21 + 折半搜索 学习笔记 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/FOdCeV_Oh/index.html b/tag/FOdCeV_Oh/index.html new file mode 100644 index 0000000..c42aeae --- /dev/null +++ b/tag/FOdCeV_Oh/index.html @@ -0,0 +1,907 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 前缀和 + 标签 +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-04 + 模拟赛 15 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/FUxVujn9Di/index.html b/tag/FUxVujn9Di/index.html new file mode 100644 index 0000000..ce62ee4 --- /dev/null +++ b/tag/FUxVujn9Di/index.html @@ -0,0 +1,929 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 二分 + 标签 +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-14 + 模拟赛 18 题解 +

+
+
+
+ + + + + + + + + + +
+
+

+ 11-04 + 模拟赛 16 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 10-26 + 模拟赛 7 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/G_FR7pGgm/index.html b/tag/G_FR7pGgm/index.html new file mode 100644 index 0000000..90862b3 --- /dev/null +++ b/tag/G_FR7pGgm/index.html @@ -0,0 +1,940 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 数论 + 标签 +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-14 + 模拟赛 21 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-14 + 模拟赛 20 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-04 + 模拟赛 13 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 10-27 + 模拟赛 11 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/H0DPcfRK8a/index.html b/tag/H0DPcfRK8a/index.html new file mode 100644 index 0000000..94a0758 --- /dev/null +++ b/tag/H0DPcfRK8a/index.html @@ -0,0 +1,907 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 倍增 + 标签 +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 10-26 + 模拟赛 7 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/I3yurGkrS/index.html b/tag/I3yurGkrS/index.html new file mode 100644 index 0000000..527bc1e --- /dev/null +++ b/tag/I3yurGkrS/index.html @@ -0,0 +1,918 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 模拟 + 标签 +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-14 + 模拟赛 20 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 10-23 + 模拟赛 4 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/Ifct8dd5F/index.html b/tag/Ifct8dd5F/index.html new file mode 100644 index 0000000..77b5d51 --- /dev/null +++ b/tag/Ifct8dd5F/index.html @@ -0,0 +1,907 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 树上差分 + 标签 +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 10-28 + 模拟赛 12 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/JByoAawEi7/index.html b/tag/JByoAawEi7/index.html new file mode 100644 index 0000000..b2a0409 --- /dev/null +++ b/tag/JByoAawEi7/index.html @@ -0,0 +1,907 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 矩乘 + 标签 +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 10-26 + 模拟赛 8 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/PjaV522g79/index.html b/tag/PjaV522g79/index.html new file mode 100644 index 0000000..2e57c27 --- /dev/null +++ b/tag/PjaV522g79/index.html @@ -0,0 +1,929 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 主席树 + 标签 +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-14 + 模拟赛 20 题解 +

+
+
+
+ + + + + + + + + + + + +
+
+

+ 11-14 + 模拟赛 19 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 10-27 + 模拟赛 11 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/RH7t5YnHV/index.html b/tag/RH7t5YnHV/index.html new file mode 100644 index 0000000..7ce00d6 --- /dev/null +++ b/tag/RH7t5YnHV/index.html @@ -0,0 +1,1105 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 动态规划 + 标签 +

+
+ + + + + + + + + + + + + + + + + + +
+
+

+ 12-02 + 模拟赛 32 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + +
+
+

+ 11-27 + 模拟赛 28 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-20 + 请客 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + +
+
+

+ 11-14 + 模拟赛 21 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-14 + 模拟赛 20 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-04 + 模拟赛 16 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-04 + 模拟赛 15 题解 +

+
+
+
+ + + + + + + + + + +
+
+

+ 11-03 + 奥法之劫 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 10-27 + 模拟赛 11 题解 +

+
+
+
+ + + + + + + + + + + + +
+
+

+ 10-26 + 模拟赛 10 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 10-26 + 模拟赛 8 题解 +

+
+
+
+ + + + + + + + + + + + + + +
+
+

+ 10-23 + 模拟赛 4 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + +
+
+

+ 10-22 + 模拟赛5 题解 +

+
+
+
+ + + + + + + + + + + + + + + + +
+
+

+ 10-09 + 决策单调性 学习笔记 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 07-21 + 题解 [ZJOI2010] 基站选址 +

+
+
+
+ + + + + + + + + + + + + + +
+
+

+ 07-21 + LIS&LCS +

+
+
+
+ + + + + + +
+
+

+ 07-16 + 数位DP 学习笔记 +

+
+
+
+ + + + + + +
+
+

+ 05-03 + 题解 PTA-Little Bird +

+
+
+
+ + + + + + + + +
+
+

+ 04-11 + 最长公共上升子序列(LCIS) +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/RH7t5YnHV/page/2/index.html b/tag/RH7t5YnHV/page/2/index.html new file mode 100644 index 0000000..7ce00d6 --- /dev/null +++ b/tag/RH7t5YnHV/page/2/index.html @@ -0,0 +1,1105 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 动态规划 + 标签 +

+
+ + + + + + + + + + + + + + + + + + +
+
+

+ 12-02 + 模拟赛 32 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + +
+
+

+ 11-27 + 模拟赛 28 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-20 + 请客 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + +
+
+

+ 11-14 + 模拟赛 21 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-14 + 模拟赛 20 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-04 + 模拟赛 16 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-04 + 模拟赛 15 题解 +

+
+
+
+ + + + + + + + + + +
+
+

+ 11-03 + 奥法之劫 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 10-27 + 模拟赛 11 题解 +

+
+
+
+ + + + + + + + + + + + +
+
+

+ 10-26 + 模拟赛 10 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 10-26 + 模拟赛 8 题解 +

+
+
+
+ + + + + + + + + + + + + + +
+
+

+ 10-23 + 模拟赛 4 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + +
+
+

+ 10-22 + 模拟赛5 题解 +

+
+
+
+ + + + + + + + + + + + + + + + +
+
+

+ 10-09 + 决策单调性 学习笔记 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 07-21 + 题解 [ZJOI2010] 基站选址 +

+
+
+
+ + + + + + + + + + + + + + +
+
+

+ 07-21 + LIS&LCS +

+
+
+
+ + + + + + +
+
+

+ 07-16 + 数位DP 学习笔记 +

+
+
+
+ + + + + + +
+
+

+ 05-03 + 题解 PTA-Little Bird +

+
+
+
+ + + + + + + + +
+
+

+ 04-11 + 最长公共上升子序列(LCIS) +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/UOR5ptTef/index.html b/tag/UOR5ptTef/index.html new file mode 100644 index 0000000..2468721 --- /dev/null +++ b/tag/UOR5ptTef/index.html @@ -0,0 +1,918 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 决策单调性 + 标签 +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 12-02 + 模拟赛 29 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 10-09 + 决策单调性 学习笔记 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/VIuRkqQDG/index.html b/tag/VIuRkqQDG/index.html new file mode 100644 index 0000000..9af31d6 --- /dev/null +++ b/tag/VIuRkqQDG/index.html @@ -0,0 +1,907 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ FWT + 标签 +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 09-24 + 题解 CF662C 【Binary Table】 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/VgalF6gOj/index.html b/tag/VgalF6gOj/index.html new file mode 100644 index 0000000..ad17834 --- /dev/null +++ b/tag/VgalF6gOj/index.html @@ -0,0 +1,962 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 数学 + 标签 +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-02 + 斯特林数 学习笔记 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 10-26 + 模拟赛 7 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 07-21 + 卡特兰数 学习笔记 +

+
+
+
+ + + + + + +
+
+

+ 07-21 + 数论函数 学习笔记 +

+
+
+
+ + + + + + + + + + + + +
+
+

+ 07-21 + 组合数学 学习笔记 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 03-19 + 扩展中国剩余定理 学习笔记 +

+
+
+
+ + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/XRgLXrEI0L/index.html b/tag/XRgLXrEI0L/index.html new file mode 100644 index 0000000..20099b2 --- /dev/null +++ b/tag/XRgLXrEI0L/index.html @@ -0,0 +1,929 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 博弈论 + 标签 +

+
+ + + + + + + + + + + + +
+
+

+ 12-02 + 模拟赛 32 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 10-23 + 模拟赛 4 题解 +

+
+
+
+ + + + + + + + + + + + +
+
+

+ 10-23 + Atcoder Grand Contest 048 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/Z06kc_xUn/index.html b/tag/Z06kc_xUn/index.html new file mode 100644 index 0000000..365bf9e --- /dev/null +++ b/tag/Z06kc_xUn/index.html @@ -0,0 +1,918 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 总结 + 标签 +

+
+ + + + +
+
+

+ 01-11 + 2023 winter training short round #3 总结 +

+
+
+
+ + + + + + +
+
+

+ 01-08 + 2023 winter training short round #2 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/_-E-GZrMRG/index.html b/tag/_-E-GZrMRG/index.html new file mode 100644 index 0000000..0913bf0 --- /dev/null +++ b/tag/_-E-GZrMRG/index.html @@ -0,0 +1,907 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 单调栈 + 标签 +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-04 + 模拟赛 16 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/aXyV2qBGn/index.html b/tag/aXyV2qBGn/index.html new file mode 100644 index 0000000..175d411 --- /dev/null +++ b/tag/aXyV2qBGn/index.html @@ -0,0 +1,907 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 拓扑排序 + 标签 +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-14 + 函数调用 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/giNGODJDRD/index.html b/tag/giNGODJDRD/index.html new file mode 100644 index 0000000..e8ce29f --- /dev/null +++ b/tag/giNGODJDRD/index.html @@ -0,0 +1,940 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 状压 + 标签 +

+
+ + + + + + + + + + + + + + +
+
+

+ 12-02 + 模拟赛 32 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-23 + 模拟赛 24 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 10-26 + 模拟赛 10 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 10-23 + 模拟赛 4 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/gysV_GyX7/index.html b/tag/gysV_GyX7/index.html new file mode 100644 index 0000000..97bfa29 --- /dev/null +++ b/tag/gysV_GyX7/index.html @@ -0,0 +1,973 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 计数 + 标签 +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 12-02 + 模拟赛 29 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-23 + 模拟赛 24 题解 +

+
+
+
+ + + + + + + + + + +
+
+

+ 11-20 + 请客 题解 +

+
+
+
+ + + + + + + + +
+
+

+ 11-14 + 有趣计数题选做 +

+
+
+
+ + + + + + + + + + +
+
+

+ 11-14 + 模拟赛 21 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-02 + 斯特林数 学习笔记 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 10-22 + 模拟赛5 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/jN7p5rBs0/index.html b/tag/jN7p5rBs0/index.html new file mode 100644 index 0000000..d855b2f --- /dev/null +++ b/tag/jN7p5rBs0/index.html @@ -0,0 +1,929 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 字符串 + 标签 +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 10-08 + 字符串题目选做 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 09-24 + KMP的删除操作 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 03-24 + 学习笔记 回文树 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/jX0uF0qH7/index.html b/tag/jX0uF0qH7/index.html new file mode 100644 index 0000000..560ec26 --- /dev/null +++ b/tag/jX0uF0qH7/index.html @@ -0,0 +1,1061 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 思维 + 标签 +

+
+ + + + + + + + + + + + + + + + +
+
+

+ 12-02 + 模拟赛 32 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + +
+
+

+ 11-27 + 模拟赛 28 题解 +

+
+
+
+ + + + + + + + + + + + + + + + +
+
+

+ 11-23 + 模拟赛 24 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-14 + 函数调用 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-14 + 模拟赛 19 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-04 + 模拟赛 16 题解 +

+
+
+
+ + + + + + + + + + + + + + + + +
+
+

+ 11-04 + 模拟赛 13 题解 +

+
+
+
+ + + + + + + + + + + + + + +
+
+

+ 11-03 + 奥法之劫 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + +
+
+

+ 11-01 + 模拟赛 14 题解 +

+
+
+
+ + + + + + + + + + + + + + +
+
+

+ 10-28 + 模拟赛 12 题解 +

+
+
+
+ + + + + + + + + + + + + + +
+
+

+ 10-27 + Codeforces #679 div2 简要题解 +

+
+
+
+ + + + + + + + + + + + + + +
+
+

+ 10-27 + 模拟赛 11 题解 +

+
+
+
+ + + + + + + + + + + + +
+
+

+ 10-26 + 模拟赛 10 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 10-23 + Atcoder Grand Contest 048 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 09-29 + Choice 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/jX0uF0qH7/page/2/index.html b/tag/jX0uF0qH7/page/2/index.html new file mode 100644 index 0000000..560ec26 --- /dev/null +++ b/tag/jX0uF0qH7/page/2/index.html @@ -0,0 +1,1061 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 思维 + 标签 +

+
+ + + + + + + + + + + + + + + + +
+
+

+ 12-02 + 模拟赛 32 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + +
+
+

+ 11-27 + 模拟赛 28 题解 +

+
+
+
+ + + + + + + + + + + + + + + + +
+
+

+ 11-23 + 模拟赛 24 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-14 + 函数调用 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-14 + 模拟赛 19 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-04 + 模拟赛 16 题解 +

+
+
+
+ + + + + + + + + + + + + + + + +
+
+

+ 11-04 + 模拟赛 13 题解 +

+
+
+
+ + + + + + + + + + + + + + +
+
+

+ 11-03 + 奥法之劫 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + +
+
+

+ 11-01 + 模拟赛 14 题解 +

+
+
+
+ + + + + + + + + + + + + + +
+
+

+ 10-28 + 模拟赛 12 题解 +

+
+
+
+ + + + + + + + + + + + + + +
+
+

+ 10-27 + Codeforces #679 div2 简要题解 +

+
+
+
+ + + + + + + + + + + + + + +
+
+

+ 10-27 + 模拟赛 11 题解 +

+
+
+
+ + + + + + + + + + + + +
+
+

+ 10-26 + 模拟赛 10 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 10-23 + Atcoder Grand Contest 048 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 09-29 + Choice 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/m2q1Bts0aw/index.html b/tag/m2q1Bts0aw/index.html new file mode 100644 index 0000000..e4601fd --- /dev/null +++ b/tag/m2q1Bts0aw/index.html @@ -0,0 +1,918 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 换根 + 标签 +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-14 + 模拟赛 18 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 10-28 + 模拟赛 12 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/ppyiCWnIR/index.html b/tag/ppyiCWnIR/index.html new file mode 100644 index 0000000..0c33018 --- /dev/null +++ b/tag/ppyiCWnIR/index.html @@ -0,0 +1,995 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 随笔 + 标签 +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 10-28 + 模拟赛 9 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 10-23 + 模拟赛 4 题解 +

+
+
+
+ + + + + + + + + + + + + + +
+
+

+ 10-23 + Atcoder Grand Contest 048 题解 +

+
+
+
+ + + + + + + + +
+
+

+ 10-22 + 模拟赛5 题解 +

+
+
+
+ + + + + + + + + + +
+
+

+ 10-20 + 模拟赛 6 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 09-29 + Choice 题解 +

+
+
+
+ + + + + + + + + + + + + + + + +
+
+

+ 08-26 + Educational Codeforces Round 94 简要题解 +

+
+
+
+ + + + + + + + +
+
+

+ 08-17 + 模拟赛 08.17 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 07-21 + 模拟赛 06.27 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/t19xttxtL/index.html b/tag/t19xttxtL/index.html new file mode 100644 index 0000000..0d27b26 --- /dev/null +++ b/tag/t19xttxtL/index.html @@ -0,0 +1,907 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 图论 + 标签 +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 08-16 + 最大权闭合子图 学习笔记 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/tReUA55SP/index.html b/tag/tReUA55SP/index.html new file mode 100644 index 0000000..b122ac2 --- /dev/null +++ b/tag/tReUA55SP/index.html @@ -0,0 +1,907 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 多项式 + 标签 +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 08-02 + [ZJOI2014] 力 解题报告 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/tekkrRQCj/index.html b/tag/tekkrRQCj/index.html new file mode 100644 index 0000000..60f854c --- /dev/null +++ b/tag/tekkrRQCj/index.html @@ -0,0 +1,995 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 贪心 + 标签 +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-14 + 模拟赛 21 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-04 + 模拟赛 16 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-03 + 奥法之劫 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + +
+
+

+ 11-01 + 模拟赛 14 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 10-27 + Codeforces #679 div2 简要题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 10-26 + 模拟赛 7 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 10-23 + Atcoder Grand Contest 048 题解 +

+
+
+
+ + + + + + + + + + + + + + + + +
+
+

+ 10-20 + 模拟赛 6 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 03-19 + 题解 [POI2014]FAR-FarmCraft +

+
+
+
+ + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/uU_AuEYbv/index.html b/tag/uU_AuEYbv/index.html new file mode 100644 index 0000000..d366e1a --- /dev/null +++ b/tag/uU_AuEYbv/index.html @@ -0,0 +1,907 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 树链剖分 + 标签 +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 11-04 + 模拟赛 16 题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tag/yMBA1jrkJ/index.html b/tag/yMBA1jrkJ/index.html new file mode 100644 index 0000000..5b4a35c --- /dev/null +++ b/tag/yMBA1jrkJ/index.html @@ -0,0 +1,918 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+
+
+

+ 双指针 + 标签 +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ 10-28 + 模拟赛 12 题解 +

+
+
+
+ + + + + + + + + + + + + + +
+
+

+ 10-27 + Codeforces #679 div2 简要题解 +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + +
+ + + \ No newline at end of file diff --git a/tags/index.html b/tags/index.html new file mode 100644 index 0000000..8d9c139 --- /dev/null +++ b/tags/index.html @@ -0,0 +1,17659 @@ + + + + + + + + + +AlanSP's Blog + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+ 目前共计 43 个标签 +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 总结 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 博弈论 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 状压 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 思维 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 动态规划 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 背包 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 计数 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 决策单调性 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 最小生成树 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 最短路 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 数据结构 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 数论 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 贪心 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 拓扑排序 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 题解 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 主席树 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 哈希 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 模拟 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 换根 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 二分 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 树链剖分 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 单调栈 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 前缀和 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + stl + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 数学 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 结论 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 树上差分 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 双指针 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 随笔 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 斜率优化 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Tarjan + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 倍增 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 矩乘 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 字符串 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 莫队 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FWT + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 图论 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 网络流 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 整体二分 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 多项式 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 搜索 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gridea + +
+
+ +
+
+
+
+ + +
+ + + \ No newline at end of file