diff --git a/404.cn.html b/404.cn.html
deleted file mode 100644
index c748d6c2..00000000
--- a/404.cn.html
+++ /dev/null
@@ -1,15 +0,0 @@
----
-layout: default
-lang: cn
----
-
-
-
404
-
- 喔~~~
-
- 知识的荒原~~~
-
-
-
回到主页
-
\ No newline at end of file
diff --git a/404.html b/404.html
deleted file mode 100644
index 35ee8045..00000000
--- a/404.html
+++ /dev/null
@@ -1,16 +0,0 @@
----
-layout: default
-lang: en
----
-
-
-
404 ERROR
-
Caution: Due to changing URL, some posts haven't crawled by Google yet, PLEASE go to the homepage to find out more
- I'm SORRY.
- It's not in the inventory.
- Don't be angry.
- It may be renamed with glory.
- Or died in the binary.
-
-
Back to Home
-
diff --git a/Gemfile b/Gemfile
deleted file mode 100644
index fb057680..00000000
--- a/Gemfile
+++ /dev/null
@@ -1,13 +0,0 @@
-source 'https://rubygems.org'
-ruby '2.2.5'
-gem 'bundler','1.14.3'
-gem 'execjs','2.6.0'
-gem 'json', '1.8.3'
-gem 'kramdown', '1.5.0'
-gem 'yajl-ruby', '1.2.1'
-gem 'pygments.rb','0.6.3'
-gem 'redcarpet', '3.3.2'
-gem 'github-pages', '39', group: :jekyll_plugins
-gem 'jekyll-multiple-languages', '1.0.11'
-gem 'jekyll-sitemap', '0.8.1'
-gem 'rouge'
diff --git a/Gemfile.lock b/Gemfile.lock
deleted file mode 100644
index ae02fecf..00000000
--- a/Gemfile.lock
+++ /dev/null
@@ -1,165 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- RedCloth (4.2.9)
- activesupport (5.2.0)
- concurrent-ruby (~> 1.0, >= 1.0.2)
- i18n (>= 0.7, < 2)
- minitest (~> 5.1)
- tzinfo (~> 1.1)
- addressable (2.4.0)
- blankslate (2.1.2.4)
- classifier-reborn (2.2.0)
- fast-stemmer (~> 1.0)
- coffee-script (2.4.1)
- coffee-script-source
- execjs
- coffee-script-source (1.12.2)
- colorator (0.1)
- concurrent-ruby (1.0.5)
- ethon (0.11.0)
- ffi (>= 1.3.0)
- execjs (2.6.0)
- faraday (0.15.0)
- multipart-post (>= 1.2, < 3)
- fast-stemmer (1.0.2)
- ffi (1.9.23)
- gemoji (2.1.0)
- github-pages (39)
- RedCloth (= 4.2.9)
- github-pages-health-check (~> 0.2)
- jekyll (= 2.4.0)
- jekyll-coffeescript (= 1.0.1)
- jekyll-feed (= 0.3.1)
- jekyll-mentions (= 0.2.1)
- jekyll-redirect-from (= 0.8.0)
- jekyll-sass-converter (= 1.3.0)
- jekyll-sitemap (= 0.8.1)
- jemoji (= 0.5.0)
- kramdown (= 1.5.0)
- liquid (= 2.6.2)
- maruku (= 0.7.0)
- mercenary (~> 0.3)
- pygments.rb (= 0.6.3)
- rdiscount (= 2.1.7)
- redcarpet (= 3.3.2)
- terminal-table (~> 1.4)
- github-pages-health-check (0.6.1)
- addressable (~> 2.3)
- net-dns (~> 0.8)
- public_suffix (~> 1.4)
- typhoeus (~> 0.7)
- html-pipeline (1.9.0)
- activesupport (>= 2)
- nokogiri (~> 1.4)
- i18n (1.0.1)
- concurrent-ruby (~> 1.0)
- jekyll (2.4.0)
- classifier-reborn (~> 2.0)
- colorator (~> 0.1)
- jekyll-coffeescript (~> 1.0)
- jekyll-gist (~> 1.0)
- jekyll-paginate (~> 1.0)
- jekyll-sass-converter (~> 1.0)
- jekyll-watch (~> 1.1)
- kramdown (~> 1.3)
- liquid (~> 2.6.1)
- mercenary (~> 0.3.3)
- pygments.rb (~> 0.6.0)
- redcarpet (~> 3.1)
- safe_yaml (~> 1.0)
- toml (~> 0.1.0)
- jekyll-coffeescript (1.0.1)
- coffee-script (~> 2.2)
- jekyll-feed (0.3.1)
- jekyll-gist (1.5.0)
- octokit (~> 4.2)
- jekyll-mentions (0.2.1)
- html-pipeline (~> 1.9.0)
- jekyll (~> 2.0)
- jekyll-multiple-languages (1.0.11)
- jekyll-paginate (1.1.0)
- jekyll-redirect-from (0.8.0)
- jekyll (>= 2.0)
- jekyll-sass-converter (1.3.0)
- sass (~> 3.2)
- jekyll-sitemap (0.8.1)
- jekyll-watch (1.5.1)
- listen (~> 3.0)
- jemoji (0.5.0)
- gemoji (~> 2.0)
- html-pipeline (~> 1.9)
- jekyll (>= 2.0)
- json (1.8.3)
- kramdown (1.5.0)
- liquid (2.6.2)
- listen (3.1.5)
- rb-fsevent (~> 0.9, >= 0.9.4)
- rb-inotify (~> 0.9, >= 0.9.7)
- ruby_dep (~> 1.2)
- maruku (0.7.0)
- mercenary (0.3.6)
- mini_portile2 (2.3.0)
- minitest (5.11.3)
- multipart-post (2.0.0)
- net-dns (0.8.0)
- nokogiri (1.8.2)
- mini_portile2 (~> 2.3.0)
- octokit (4.9.0)
- sawyer (~> 0.8.0, >= 0.5.3)
- parslet (1.5.0)
- blankslate (~> 2.0)
- posix-spawn (0.3.13)
- public_suffix (1.5.3)
- pygments.rb (0.6.3)
- posix-spawn (~> 0.3.6)
- yajl-ruby (~> 1.2.0)
- rb-fsevent (0.10.3)
- rb-inotify (0.9.10)
- ffi (>= 0.5.0, < 2)
- rdiscount (2.1.7)
- redcarpet (3.3.2)
- rouge (3.1.1)
- ruby_dep (1.5.0)
- safe_yaml (1.0.4)
- sass (3.5.6)
- sass-listen (~> 4.0.0)
- sass-listen (4.0.0)
- rb-fsevent (~> 0.9, >= 0.9.4)
- rb-inotify (~> 0.9, >= 0.9.7)
- sawyer (0.8.1)
- addressable (>= 2.3.5, < 2.6)
- faraday (~> 0.8, < 1.0)
- terminal-table (1.8.0)
- unicode-display_width (~> 1.1, >= 1.1.1)
- thread_safe (0.3.6)
- toml (0.1.2)
- parslet (~> 1.5.0)
- typhoeus (0.8.0)
- ethon (>= 0.8.0)
- tzinfo (1.2.5)
- thread_safe (~> 0.1)
- unicode-display_width (1.3.2)
- yajl-ruby (1.2.1)
-
-PLATFORMS
- ruby
-
-DEPENDENCIES
- bundler (= 1.14.3)
- execjs (= 2.6.0)
- github-pages (= 39)
- jekyll-multiple-languages (= 1.0.11)
- jekyll-sitemap (= 0.8.1)
- json (= 1.8.3)
- kramdown (= 1.5.0)
- pygments.rb (= 0.6.3)
- redcarpet (= 3.3.2)
- rouge
- yajl-ruby (= 1.2.1)
-
-RUBY VERSION
- ruby 2.2.5p319
-
-BUNDLED WITH
- 1.14.3
diff --git a/_config.yml b/_config.yml
deleted file mode 100644
index 5df5828d..00000000
--- a/_config.yml
+++ /dev/null
@@ -1,32 +0,0 @@
-# Site settings
-title: PwzXxm
-email: cepheidfov@gmail.com
-description: Learning and sharing computer science ideas. Enjoy what you are passionated about.
-baseurl: "" # the subpath of your site, e.g. /blog
-url: "https://www.pwzxxm.com" # the base hostname & protocol for your site
-github_username: PwzXxm
-exclude: ["README.md"]
-gems:
-- jekyll-multiple-languages
-- jekyll-sitemap
-- jekyll-paginate
-- jekyll-redirect-from
-
-# multi-lang
-languages: ['en', 'cn']
-# If not config, the first of languages will be the default
-language_default: 'en'
-fill_default_content: true
-sass:
- style: compressed
-
-# pagination
-paginate: 10
-
-# Build settings
-markdown: redcarpet-pygments
-# markdown: redcarpet
-redcarpet:
- extensions: ["tables", "no_intra_emphasis", "autolink", "fenced_code_blocks", "with_toc_data"]
-highlighter: pygments
-permalink: /:year/:title/
diff --git a/_includes/footer.html b/_includes/footer.html
deleted file mode 100644
index e3ce6808..00000000
--- a/_includes/footer.html
+++ /dev/null
@@ -1,96 +0,0 @@
-
-
-
-
-
diff --git a/_includes/google_adsense.html b/_includes/google_adsense.html
deleted file mode 100644
index c13d77b3..00000000
--- a/_includes/google_adsense.html
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
\ No newline at end of file
diff --git a/_includes/google_analytics.html b/_includes/google_analytics.html
deleted file mode 100644
index c6a547c9..00000000
--- a/_includes/google_analytics.html
+++ /dev/null
@@ -1,10 +0,0 @@
-
diff --git a/_includes/head.html b/_includes/head.html
deleted file mode 100644
index 52af6957..00000000
--- a/_includes/head.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
- {% if page.title %}{{ page.title }} | PwzXxm {% else %} PwzXxm - Computer Programming Blog{% endif %}
-
-
-
- {% include google_analytics.html %}
-
-
-
-
-
-
-
-
-
-
-
-
- {% if page.is_default_language %}
-
- {% else %}
-
- {% endif %}
-
-
-
-
-
-
-
diff --git a/_includes/header.html b/_includes/header.html
deleted file mode 100644
index a32d4739..00000000
--- a/_includes/header.html
+++ /dev/null
@@ -1,111 +0,0 @@
-
-
-
diff --git a/_includes/icon-email.html b/_includes/icon-email.html
deleted file mode 100644
index 024540b6..00000000
--- a/_includes/icon-email.html
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
- {% include icon-email.svg %}
-
- Email
-
diff --git a/_includes/icon-email.svg b/_includes/icon-email.svg
deleted file mode 100644
index 5d6f828e..00000000
--- a/_includes/icon-email.svg
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/_includes/icon-github.html b/_includes/icon-github.html
deleted file mode 100644
index e813b415..00000000
--- a/_includes/icon-github.html
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
- {% include icon-github.svg %}
-
-
- Github
-
-
diff --git a/_includes/icon-github.svg b/_includes/icon-github.svg
deleted file mode 100644
index 4422c4f5..00000000
--- a/_includes/icon-github.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/_includes/icon-rss.html b/_includes/icon-rss.html
deleted file mode 100644
index 9dd18a83..00000000
--- a/_includes/icon-rss.html
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
- RSS
-
diff --git a/_includes/icon-rss.svg b/_includes/icon-rss.svg
deleted file mode 100644
index 76344e89..00000000
--- a/_includes/icon-rss.svg
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
-
-
diff --git a/_includes/image.html b/_includes/image.html
deleted file mode 100644
index b0a89638..00000000
--- a/_includes/image.html
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/_includes/pagination.html b/_includes/pagination.html
deleted file mode 100644
index e51d9976..00000000
--- a/_includes/pagination.html
+++ /dev/null
@@ -1,109 +0,0 @@
-{% assign limit = 7 %}
-{% if site.paginate_limit %}
- {% assign limit = site.paginate_limit %}
-{% endif %}
-{% assign limitmin = limit | minus: 2 %}
-{% assign offset = limitmin | divided_by: 2 %}
-{% assign limitprev = paginator.page | minus: offset %}
-{% assign limitnext = paginator.page | plus: offset %}
-{% assign totalpages = paginator.total_pages %}
-
-{% if limitprev <= 1 %}
- {% assign limitprevfix = limitprev | minus: 1 %}
- {% assign limitprev = 0 %}
- {% assign limitnext = limitnext | minus: limitprevfix | plus: 1 %}
-{% endif %}
-
-{% if limitnext >= totalpages %}
- {% assign limitnextfix = totalpages | minus: limitnext | minus: 1 %}
- {% assign limitnext = totalpages %}
- {% assign limitprev = limitprev | plus: limitnextfix %}
-{% endif %}
-
-{% assign dots_prev = limitprev | minus: 1 %}
-{% assign dots_next = totalpages | minus: 1 %}
-{% assign max_next = totalpages | minus: offset | minus: 1 %}
-
-{% if totalpages > limit %}
- {% for count in (2..paginator.total_pages) %}
- {% if count == dots_prev %}
- {% assign indicator_first = ' pages-indicator--active' %}
- {% endif %}
- {% if count == dots_next and paginator.page < max_next %}
- {% assign indicator_last = ' pages-indicator--active' %}
- {% endif %}
- {% if forloop.first %}
- {% assign relative_first = paginator.page | minus: forloop.index | divided_by: 1 %}
- {% endif %}
- {% if forloop.last %}
- {% assign relative_last = paginator.page | minus: forloop.index | replace: '-', '' | divided_by: 1 | plus: 1 %}
- {% endif %}
- {% endfor %}
-{% endif %}
-
-{% if page.is_default_language %}
-{% assign url_pre = '/' | replace: '//', '/' %}
-{% else %}
-{% assign url_pre = page.language | prepend: '/' | replace: '//', '/' %}
-{% endif %}
-
-{% if totalpages != 1 %}
-
-
-
-{% endif %}
diff --git a/_includes/sidebar-home.html b/_includes/sidebar-home.html
deleted file mode 100644
index 12ec5142..00000000
--- a/_includes/sidebar-home.html
+++ /dev/null
@@ -1,25 +0,0 @@
-
diff --git a/_includes/sidebar.html b/_includes/sidebar.html
deleted file mode 100644
index f81e0928..00000000
--- a/_includes/sidebar.html
+++ /dev/null
@@ -1,54 +0,0 @@
-
diff --git a/_layouts/about.html b/_layouts/about.html
deleted file mode 100644
index b1becca2..00000000
--- a/_layouts/about.html
+++ /dev/null
@@ -1,15 +0,0 @@
----
-layout: default
----
-
-
-
-
-
-
-
- {{ content }}
-
-
-
-
diff --git a/_layouts/default.html b/_layouts/default.html
deleted file mode 100644
index d5cfd7b0..00000000
--- a/_layouts/default.html
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
- {% include head.html %}
-
-
- {% include header.html %}
-
- {% include footer.html %}
-
-
-
diff --git a/_layouts/page.html b/_layouts/page.html
deleted file mode 100644
index ce233ad7..00000000
--- a/_layouts/page.html
+++ /dev/null
@@ -1,14 +0,0 @@
----
-layout: default
----
-
-
-
-
-
- {{ content }}
-
-
-
diff --git a/_layouts/post.html b/_layouts/post.html
deleted file mode 100644
index de989a6e..00000000
--- a/_layouts/post.html
+++ /dev/null
@@ -1,103 +0,0 @@
----
-layout: default
-comments: true
----
-
-
-
-
-
-
- {{ content }}
-
-
-
-
-
-
-
- {% assign sorted_tags = page.tags | sort %}
- {% if page.is_default_language %}
- Tags:
- {% for tag in sorted_tags %}
- {{ tag }}
- {% endfor %}
- {% else %}
- 标签:
- {% for tag in sorted_tags %}
- {{ tag }}
- {% endfor %}
- {% endif %}
-
-
-
-
-
-
-
-
-
-
-Please enable JavaScript to view the comments powered by Disqus.
\ No newline at end of file
diff --git a/_plugins/redcarpet_pygments.rb b/_plugins/redcarpet_pygments.rb
deleted file mode 100644
index 40fe2a5d..00000000
--- a/_plugins/redcarpet_pygments.rb
+++ /dev/null
@@ -1,89 +0,0 @@
-# Jekyll v1 made internal markdown converters.
-# Here we change the module, allowing our custom parser to be used.
-module Jekyll
- module Converters
- class Markdown < Converter
- safe true
-
- highlighter_prefix "\n"
- highlighter_suffix "\n"
-
- def setup
- return if @setup
- @parser = case @config['markdown']
- when 'redcarpet'
- RedcarpetParser.new @config
- when 'kramdown'
- KramdownParser.new @config
- when 'rdiscount'
- RDiscountParser.new @config
- when 'maruku'
- MarukuParser.new @config
- when 'redcarpet-pygments' # Hi! I'm a custom parser
- RedcarpetPygmentsParser.new @config
- else
- STDERR.puts "Invalid Markdown processor: #{@config['markdown']}"
- STDERR.puts " Valid options are [ maruku | rdiscount | kramdown | redcarpet-pygments ]"
- raise FatalException.new("Invalid Markdown process: #{@config['markdown']}")
- end
- @setup = true
- end
-
- def matches(ext)
- rgx = '(' + @config['markdown_ext'].gsub(',','|') +')'
- ext =~ Regexp.new(rgx, Regexp::IGNORECASE)
- end
-
- def output_ext(ext)
- ".html"
- end
-
- def convert(content)
- setup
- @parser.convert(content)
- end
- end
- end
-end
-
-# Jekyll Parser as required in v1.
-# Providing support for line numbering.
-module Jekyll
- module Converters
- class Markdown
- class RedcarpetPygmentsParser
- def initialize(config)
- require 'redcarpet'
- require 'pygments'
-
- @config = config
- @redcarpet_extensions = {}
- @config['redcarpet']['extensions'].each { |e| @redcarpet_extensions[e.to_sym] = true }
-
- @renderer ||= Class.new(Redcarpet::Render::HTML) do
- def block_code(code, lang)
- lang = lang && lang.split.first || "text"
- colorized = Pygments.highlight(code, :lexer => lang, :options => {:lineanchors => "line"}) # Add lineanchors for line numbers
- colorized.sub(//, "").sub(/<\/pre>/, "
")
- end
-
- def codespan(code)
- "#{code}
" # Inline code custom class
- end
- end
- rescue LoadError
- STDERR.puts 'You are missing a library required for Markdown. Please run:'
- STDERR.puts ' $ [sudo] gem install redcarpet'
- raise FatalException.new("Missing dependency: redcarpet")
- end
-
- def convert(content)
- @redcarpet_extensions[:fenced_code_blocks] = !@redcarpet_extensions[:no_fenced_code_blocks]
- @renderer.send :include, Redcarpet::Render::SmartyPants if @redcarpet_extensions[:smart]
- markdown = Redcarpet::Markdown.new(@renderer.new(@redcarpet_extensions), @redcarpet_extensions)
- markdown.render(content)
- end
- end
- end
- end
-end
diff --git a/_posts/2015/2015-12-12-the-story-about-the-blog.cn.md b/_posts/2015/2015-12-12-the-story-about-the-blog.cn.md
deleted file mode 100644
index 26e8e3cc..00000000
--- a/_posts/2015/2015-12-12-the-story-about-the-blog.cn.md
+++ /dev/null
@@ -1,22 +0,0 @@
----
-layout: post
-title: "这个博客那些事"
-date: 2015-12-12
-tags: [blog]
-lang: cn
-redirect_from: "/cn/the-story-about-the-blog/"
----
-
-[PwzXxm](http://www.pwzxxm.com/cn/index.html)是我的第一个网站,也是第一个博客。一开始只知道一点点基本的HTML,后来一边学CSS,JavaScript,用[Jekyll](https://jekyllrb.com/)东拼西凑,花了7天时间,在2015年12月10日终于把它基本上都写完了。写完的时候真是感觉能内裤外穿一垛冲天。
-
-关于建站的详细过程[点我]({{ site.baseurl }}/cn/2015/building-blog-jekyll/)。
-
-原来我是在看算法,刷题做ACM和看C++的,后来看着看着卡住了,想了几天也没什么头绪。我一直想着想做个网站写点东西,就先留着坑,跑来开了这个新坑。在写的过程中,好多朋友给了设计上的建议,谢谢他们~(鞠躬)
-
-开这个博客,一个是想**自己理理思路**,想算法啊什么的如果能说得新手明白,那自己也应该理解得差不多了;还有就是**希望别人看了这个博客能有所收获吧**。因为很久以前看KMP(一个字符串匹配算法)的时候,刚开始真的是云里雾里,智商不够。后来看了好多别人写的文章,突然有一瞬间看着看着就觉得自己好像会了。谢谢那些无私写作发到博客里的大牛们,如果大牛们看见有哪写的不对的也希望能及时联系我,避免误人子弟。联系方式在每页的页脚都有显示。
-
-大家一起加油!!!
-
-
-
-![blog_story](/img/post/blog_story.jpg)
diff --git a/_posts/2015/2015-12-12-the-story-about-the-blog.md b/_posts/2015/2015-12-12-the-story-about-the-blog.md
deleted file mode 100644
index a1258b09..00000000
--- a/_posts/2015/2015-12-12-the-story-about-the-blog.md
+++ /dev/null
@@ -1,26 +0,0 @@
----
-layout: post
-title: "The Story About the Blog"
-date: 2015-12-12
-lang : en
-tags: [blog]
-images:
- - url: /img/post/blog_story.jpg
-redirect_from: "/the-story-about-the-blog/"
----
-
-[PwzXxm](http://www.pwzxxm.com) is my first blog and also my first website I have ever built. I knew only a little bit of HTML before I started this project. I learned CSS and JavaScript while I'm building the site. I also read a lot of source code and blog posts about how other people build their own site using [Jekyll](http://jekyllrb.com/). It took me seven days. Finally, on the 10th of December, 2015, the site went alive.
-
-Details about building the site, [click me]({{ site.baseurl }}/2015/building-blog-jekyll/).
-
-I was learning algorithms, c++ and practice ACM-ICPC but I stuck at graph theory and I did not have any progress on one particular problem for like three or four days. I always want to build a website and start writing some stuff. So I put other things aside and started to build this blog, and my friends give a lot of suggestions on the design of the website. Thank you.
-
-There are two reasons why I really want to start this blog. One is that **blogging helps me clear my thoughts.** For instance, if you can teach an algorithm to a man which is new to him and he can understand the algorithm very well as your explanation is clear, you should also already have a deep understanding on this algorithm. So another reason is that **I'm hoping someone can learn something from my blog.** There a story: one day, I was trying to learn KMP (a string search algorithm), I barely understand it. I read a lot of posts from other people's blog, watched youtube videos and tried to do it on a paper. Suddenly, I knew the concept behind it. Thanks for the guys sharing their ideas and thinkings.
-
-If anyone find any mistake on my blog, please feel free to contact me or leave a comment below the post. Contact details are shown on the footer on every pages of the blog.
-
-Let's learn together and sharing ideas!
-
-
-
-![blog_story](/img/post/blog_story.jpg)
diff --git a/_posts/2015/2015-12-15-building-blog-jekyll.cn.md b/_posts/2015/2015-12-15-building-blog-jekyll.cn.md
deleted file mode 100644
index fbf80165..00000000
--- a/_posts/2015/2015-12-15-building-blog-jekyll.cn.md
+++ /dev/null
@@ -1,114 +0,0 @@
----
-layout: post
-title: "使用Jekyll+Github Pages搭建博客"
-date: 2015-12-15
-lang: cn
-tags: [blog]
-redirect_from: "/cn/building-blog-jekyll/"
----
-
-## 为什么选择 Jekyll 和 Github Pages
-[Jekyll](http://jekyll.bootcss.com/)是一个静态网页生成器,使用YAML头信息可以很方便地使用各种布局,内置markdown,新的文章只需加入文件夹即可。[Github Pages](https://pages.github.com/)可以提供免费空间,免费无限流量来给网页当虚拟主机。他们俩配合起来相当默契,而且网上也有很多资料。但是有一点美中不足的是Github Pages是在安全模式下运行的,也就是说它并不支持Jekyll的插件。然而我们可以在本地带着插件生成好网站再放到Github上。虽然听起来不太方便,但是有脚本让我们一步实现。这点我们后面详细说。
-
-## 准备
-1. 了解[YAML front matter](http://jekyllrb.com/docs/frontmatter/)可以让包含头文件的文件自动:
- - 拥有部分或全部布局及定义的重复标签
- - 变量 ([Liquid](http://liquidmarkup.org/))
-2. 如果完全不了解HTML, CSS和JavaScript, 请查看[W3School](http://www.w3schools.com/),至少了解基本用法。
-3. 了解`git`命令,如果不请查看[Git tutorial](http://rogerdudler.github.io/git-guide/)或者其他资料。希望能至少使用命令行一次了解流程,这对以后会有所帮助。
-
-## 创建仓库
-详细步骤在[这里](https://pages.github.com/)。
-
-**如果是个人/机构网站,请使用`master`分支,如果是项目网站,请使用`gh-pages`分支**
-
-## 安装和初始化
-步骤在[Github help pages](https://help.github.com/articles/using-jekyll-with-pages/)有详细解释。
-
-完成安装后,初始化Jekyll在当前文件夹使用基本主题,运行
-
-```
-Jekyll new .
-git init
-```
-
-如果出现类似`directory is not empty`之类的错误,先把文件夹下的内容移动到该文件夹外的临时文件夹内,运行命令后再放回原来的文件即可。
-
-## 本地运行Jekyll和测试网站
-如果您是`bundler`使用者,请运行`bundle exec jekyll server`或者`bundle exec jekyll serve`. 如果不是,请运行`jekyll server`或者`jekyll serve`。
-
-让命令运行(不要用ctrl+c终止命令),打开网页浏览器,在地址栏输入`http://localhost:4000`,就能看见网站啦。
-
-## 配置
-### \_config.yml文件
-`_config.yml`文件包含了网站设定,[官网](http://jekyll.bootcss.com/docs/configuration/)上有详细阐述。下面介绍基本用法:
-
-变量 | 用法
----|---
-title | 网站名,默认下将是网站在搜索引擎出现的名字
-email | 在contac-list中显示的邮箱地址, 默认下出现在页脚
-description | 网站描述,默认下将出现在页脚
-baseurl | 网站的子路径, 例如设置成`/blog`,完整url将会变成`www.pwzxxm./com/blog`
-url | 主机名和使用协议,完整url, 例如`http://www.pwzxxm.com`
-github\_username twitter\_username | 用于链接Github和Twitter, 默认下出现在页脚
-markdown | 使用的markdown引擎, e.g. `kramdown` `redcarpet`
-highlighter | 语法高亮引擎, e.g. `pygments` `rouge`
-permalink | 设置为`pretty`url将变成这样`site_url/time/title` 可以自定义例如`/:title/` [查看详情](http://jekyllrb.com/docs/permalinks/)
-pagination | 每页显示多少篇文章
-
-### 使用自定义域名
-官网提供了两个基本版的页数标示,[点这里](http://jekyll.bootcss.com/docs/pagination/)。 然而网上有适配移动端的[Timble](http://www.timble.net/blog/2015/05/07/better-pagination-for-jekyll.html),非常赞。
-
-### 多语言支持
-请查看[Jekyll Multi Language Plugin](http://jekyll-langs.liaohuqiu.net/)。
-
-### 如使用插件,在本地生成网站
-简单的说就是另外创建一个“僵尸”仓库,先生成网站,再把`_site`文件夹下的文件放到原根目录然后禁止Github再次生成网站。
-
-1. 在“僵尸”文件夹下执行`bundle exec jekyll serve build` or `jekyll build`。
-2. 复制当前文件夹下所有文件到原仓库(****.github.io), 除了`README.md`。
-3. 剪切原仓库的`_site`文件夹下所有文件到原仓库根目录。
-4. `touch .nojekyll`禁止Github生成网站。
-5. 提交所有到Github。
-
-这是bash脚本:
-
-```bash
-#!/bin/bash
-
-comment="$1"
-push_commit="git commit -a -m '$comment'"
-
-# commit and push changes
-eval 'cd ~/git/local' # modify PATH here
-eval 'bundle exec jekyll build'
-eval 'git add .'
-eval $push_commit
-eval 'git push --all origin'
-
-# copy remove in pwzxxm.github.io
-eval 'cd ~/git/PwzXxm.github.io' # modify PATH here
-eval 'cp ./README.md ~/git/' # modify where you want to temporally put the README.md
-eval 'rm -rf ./*'
-eval 'cp -r ~/git/local/* ./' # modify PATH here
-eval 'cp -r _site/* ./'
-eval 'rm -rf _site/*'
-eval 'cp ~/git/README.md ./' # put the file back
-eval 'touch .nojekyll'
-
-# commit and push changes
-eval 'git add .'
-eval $push_commit
-eval 'git push --all origin'
-echo "Done"
-```
-
-要使用它,复制上面代码到以`.sh`结尾的bash脚本文件中,修改路径,给权限,运行即可。
-
-## 本站代码
-如果想使用本站布局或想知道背后的代码,请访问
-
-- [Pwzxxm.github.io](https://github.com/PwzXxm/PwzXxm.github.io)
-- [local site](https://github.com/PwzXxm/local-site).
-
-您可以使用关于本站的任何代码,但禁止转载本站内容。如有需要,请联系我。
diff --git a/_posts/2015/2015-12-15-building-blog-jekyll.md b/_posts/2015/2015-12-15-building-blog-jekyll.md
deleted file mode 100644
index 964cfd46..00000000
--- a/_posts/2015/2015-12-15-building-blog-jekyll.md
+++ /dev/null
@@ -1,121 +0,0 @@
----
-layout: post
-title: "Using Jekyll + Github Pages to build a blog"
-date: 2015-12-15
-lang: en
-tags: [blog]
-redirect_from: "/building-blog-jekyll/"
----
-
-## Why Jekyll and Github Pages
-[Jekyll](https://jekyllrb.com/) is an static site generator, it is simple to use with YAML front matter. It is quite convenient to blog with markdown and Jekyll supports it build-in. [Github Pages](https://pages.github.com/) provide the space to host the website for free. Both of them are well-documented, and works well with each other. One thing that makes they works well but not perfect is that although Github Pages can generate the website using Jekyll but as it generates in safe mode, it does not support Jekyll plugin. However, the good news is we can generate the site locally and then push it to Github. It sounds like not convenient but we can write a bash script to do so automatically in one step. We will talk about it later.
-
-
-## Preparations
-1. Know [YAML front matter](http://jekyllrb.com/docs/frontmatter/) is something you can put at the front of a script and it can automatically
- - have part of the layout and tags you defined before
- - define variables ([Liquid](http://liquidmarkup.org/))
-2. If you don't know HMTL, CSS or JavaScript, you would better check out [W3School](http://www.w3schools.com/) and at least know the basic of them.
-3. Be able to using `git` commands, if not please check [Git tutorial](http://rogerdudler.github.io/git-guide/) or search on Google. You could use a desktop version instead of command lines, but I think it's better to try comment line once because it may help you to have a better understanding of how it works.
-
-## Set up repository
-Following the steps on [Github Pages](https://pages.github.com/) to initiate the repository. **Caution: If you are building user/organisation pages, please use `master` branch, if you are building project pages, please use `gh-pages` instead.**
-
-## Install and Initiate
-Steps are shown [here](https://help.github.com/articles/using-jekyll-with-pages/).
-
-After installation, to initiate a basic theme Jekyll website at current folder, simply run
-
-```
-Jekyll new .
-git init
-```
-
-If you have a error says the directory is not empty, just move all files to other directory and move them back after initiation.
-
-## Running Jekyll and Test Websites Locally
-If you use `bundler`, you need to use `bundle exec jekyll server` or `bundle exec jekyll serve`. For those who don't, please use `jekyll server` or `jekyll serve`.
-
-Leave command window as it is running and then open your browser and navigate to `http://localhost:4000` and you can see your site locally.
-
-## Configuring
-### \_config.yml file
-`_config.yml` contains settings for the website, check out details at the official website [here](http://jekyllrb.com/docs/configuration/).
-
-Variables | Usage
----|---
-title | The title of the website, by default it will shown at the website and the search result in a search engine
-email | It is used in the contact list if you choose to use it
-description | By default it is used in the meta tag in the head and shown in the footer
-baseurl | the subpath of your site, e.g. `/blog` will have `www.pwzxxm./com/blog`
-url | the base hostname and protocol for the site, e.g. `http://www.pwzxxm.com`
-github\_username twitter\_username | shown in the contact list in the footer if you wish
-markdown | which markdown engine you want to use, e.g. `kramdown` `redcarpet`
-highlighter | which syntax highlighter you want to use, e.g. `pygments` `rouge`
-permalink | set to `pretty` will have url like `site_url/time/title` you can set your own like `/:title/` [See details](http://jekyllrb.com/docs/permalinks/)
-pagination | the number of posts you want to display on each page
-
-### Host your website using custom domain
-- you need to buy a domain from a domain registrar, like [Godaddy](https://godaddy.com).
-- add a `CNAME` file which contains your custom domain name in the root of your repository.
-- If your custom domain is a subdomain (like `www.pwzxxm.com` or `blog.pwzxxm.com`), then you need to add a `CNAME` record in your domain provider or DNS server provider if you are using custom DNS service.
-- If your domain is an apex domain (only have one dot in your custom domain), you need to set up `A`, `ALIAS` or `ANAME` records. Add `192.30.252.153` and `192.30.252.154` to your records.
-- [Find more details](https://help.github.com/articles/setting-up-a-custom-domain-with-github-pages/)
-
-### Pagination
-There are two basic scripts can do pagination on [Jekyll official documentation](http://jekyllrb.com/docs/pagination/).
-However, I found this pagination from [Timble](http://www.timble.net/blog/2015/05/07/better-pagination-for-jekyll.html) which is awesome.
-
-### Multi-language site
-Check out [Jekyll Multi Language Plugin](http://jekyll-langs.liaohuqiu.net/).
-
-### Build the site locally if you use plugins
-The problem is Github build Jekyll websites in safe mode so the plugin won't work. However, we can create a 'dummy' repository to generate the site first and then move the content in `_site` folder to the original repository.
-
-1. generate the site locally using `bundle exec jekyll serve build` or `jekyll build` in the 'dummy' repository.
-2. copy all files to the actual repository excludes `README.md.`
-3. cut the files under `_site` folders to the root path of the repository.
-4. `touch .nojekyll` to disable github to generate the site
-5. commit all changes.
-
-Here is a bash script:
-
-```bash
-#!/bin/bash
-
-comment="$1"
-push_commit="git commit -a -m '$comment'"
-
-# commit and push changes
-eval 'cd ~/git/local' # modify PATH here
-eval 'bundle exec jekyll build'
-eval 'git add .'
-eval $push_commit
-eval 'git push --all origin'
-
-# copy remove in pwzxxm.github.io
-eval 'cd ~/git/PwzXxm.github.io' # modify PATH here
-eval 'cp ./README.md ~/git/' # modify where you want to temporally put the README.md
-eval 'rm -rf ./*'
-eval 'cp -r ~/git/local/* ./' # modify PATH here
-eval 'cp -r _site/* ./'
-eval 'rm -rf _site/*'
-eval 'cp ~/git/README.md ./' # put the file back
-eval 'touch .nojekyll'
-
-# commit and push changes
-eval 'git add .'
-eval $push_commit
-eval 'git push --all origin'
-echo "Done"
-```
-
-To use it, simply copy it to a `yourchoice.sh` file, change the paths in the file and give it permission to run, and run it.
-
-## This Site
-If you like the style or you want to know the codes behind it, just check out:
-
-- [Pwzxxm.github.io](https://github.com/PwzXxm/PwzXxm.github.io)
-- [local site](https://github.com/PwzXxm/local-site).
-
-You can grap and use any code from my site as you wish. However, the content of this site is copyright, if you want to use any posts please contact me.
diff --git a/_posts/2015/2015-12-25-stack-queue-link-list.cn.md b/_posts/2015/2015-12-25-stack-queue-link-list.cn.md
deleted file mode 100644
index 1a2d38f5..00000000
--- a/_posts/2015/2015-12-25-stack-queue-link-list.cn.md
+++ /dev/null
@@ -1,238 +0,0 @@
----
-layout: post
-title: "栈,队列和链表"
-date: 2015-12-25
-tag: Data-Structure
-lang: cn
-images:
- - url: /img/post/link_in.gif
-redirect_from: "/cn/stack-queue-link-list/"
----
-
-栈,队列和链表是最基础的数据结构,它们出现在很多生活场景中,比如说堆起来的集装箱,排队坐过山车,人体蜈蚣(如果不知道就别去搜了,啦啦啦)
-
-
-
-**目录**
-
-- [栈](#stack)
- - [简介](#stack-intro)
- - [数组实现](#stack-array-implementation)
- - [链表实现](#stack-linked-list-implementation)
- - [C++ STL - stack](#stack-c++-stl-stack)
-- [队列](#queue)
- - [简介](#q-intro)
- - [链表实现](#q-linked-list-implementation)
- - [C++ STL - queue](#q-c++-stl-queue)
- - [优先队列](#q-priority-queue)
-- [链表](#linked-list)
- - [简介](#ll-intro)
- - [C++ struct 实现](#ll-c++-struct-implementation)
-
-
-
------
-
-## 栈
-### 简介
-栈就像堆起来的集装箱,或者是一堆书,每次加入新的元素只能在旧的之上,每次移出元素只能拿出最新加入的,所以有“**后进先出**”的原则(后进去的元素先出来)。
-
-常见操作有:
-
-进栈 | 出栈
-:---:|:---:
-![stack_push](/img/post/stack_push.gif) | ![stack_pop](/img/post/stack_pop.gif)
-
-### 数组实现
-一般我们用数组的第一个元素`array[0]`作为栈底,创建一个变量`max_index`来存储栈的最顶部元素在数组中的下标,也就是数组最后一个栈中元素的下标。
-
-进栈:`max_index += 1`,然后在该下标插入进栈的元素
-
-出栈:初始化在`max_index`下标的元素,`max_index -= 1`
-
-### 链表实现
-单向链表,用`head`记录栈头,每个元素都有`next`指向下一个元素,栈顶的`next`指向`NULL`,`size`纪录链表大小(栈的大小)。
-
-进栈:让在栈顶(链表尾部)元素的`next`指向新的元素,新元素的`next`为`null`,`size += 1`
-
-出栈:初始化栈顶(链表尾部)元素,移动到上一个元素,设置`next`为`null`, `size -= 1`
-
-### C++ STL - stack
-```cpp
-#include
-#include
-using namespace std;
-
-int main(void) {
- /* 创建一个栈,名为stk,元素类型为int */
- stack stk;
-
- /* 使一个元素进栈 */
- stk.push(1); // 1
- stk.push(2); // 1 2
-
- /*
- * cout << stk.push(3) << endl;
- * 错误!! stk.push(3) 返回void类型
- */
-
- /* top() 返回栈最顶部的元素,且不改变栈 */
- cout << stk.top() << endl; // print out 2
-
- stk.push(1);
-
- /* 返回栈的大小,有多少元素 */
- cout << stk.size() << endl; // print out 3
-
- /* 使栈顶部的元素出栈,返回void类型 */
- stk.pop();
- stk.pop();
-
- cout << stk.top() << endl; // print out 1
-
- /* 查看栈是否为空,如果为空,返回真(1) */
- cout << stk.empty() << endl;
-
- return 0;
-}
-```
-
-
-
------
-
-## 队列
-### 简介
-队列就像排队一样,在队尾加入新的元素,在队首出队。所以队列有着“**先进先出**”的原则。
-
-常见操作有:
-
-入队 | 出队
-:---:|:---:
-![queue_enqueue](/img/post/queue_enqueue.gif) | ![queue_dequeue](/img/post/queue_dequeue.gif)
-
-### 链表实现
-使用单向链表,用`head`记录队列头,每个元素都有`next`指向下一个元素,队尾元素的`next`指向`NULL`,`size`纪录队列的长度。
-
-入队:在队尾(链表尾部)插入元素,即旧队尾的`next`指向新元素,新元素的`next`指向`null`,`size += 1`
-
-出队:通过`next`移动到第二个元素,`head`指向第二个元素,初始化原队首(链表头部),`size -= 1`
-
-### C++ STL - queue
-基本用法和栈相同,
-
-**需要特别注意的一点是队列分别使用`front`和`back`来返回队首和队尾元素。**
-
-```cpp
-#include
-#include
-using namespace std;
-
-int main() {
- queue q;
- q.push(1); // q: 1
- q.push(2); // q: 1 2
-
- cout << q.front() << endl; // 1
- cout << q.back() << endl; // 2
-
- q.push(3); // q: 1 2 3
- cout << q.size() << endl; // 3
- q.pop(); // q: 2 3
- cout << q.front() << endl; // 2
- cout << q.back() << endl; // 3
- cout << q.empty() << endl; // 0
-
- return 0;
-}
-```
-
-### 优先队列
-优先队列类似于队列,只不过每个元素都有一个优先级,出队的元素不一定是最先入队的元素,而是当前队列中优先级最高的元素。就像有人有VIP卡的可以走专属通道,有人可以插队一样,对每个元素来说并不公平,叹气。
-
-在C++ STL中,如果把`int`作为优先队列的类型, 默认情况下如果是整数的优先队列,那整数越小,则优先级越低。如果想整数越大,优先级越低,可以用`greater`, 完整声明`std::priority_queue, std::greater q_name`。如有其它需求,可自定义`cmp`函数来完成优先级的比较。
-
-**另外需特别注意的是,优先队列取队首元素不再是用队列的`front()`,而是用`top()`。**
-
-
-
------
-
-## 链表
-### 简介
-链表像一个个回形针串起来的链子。链表有多种结构:单向链表,双向链表,循环链表等等。主要介绍单向链表,其他类型脑补脑补ok的。
-
-常见操作有:
-
-- 添加节点
-- 销毁节点
-- 下一节点
-
-![link_in](/img/post/link_in.gif)
-
-### C++ struct 实现
-
-``` cpp
-#include
-
-struct Node {
- int value;
- Node *next;
-};
-
-int main() {
- Node *root;
- Node *cur;
-
- /* 初始化链表 */
- root = new Node;
- root->value = 1;
- root->next = NULL;
- cur = root;
-
- /* 在链表尾部加入节点 */
- cur = cur->next;
- cur = new Node;
- cur->value = 2;
- cur->next = NULL; // linked list: 1 2
-
- /* 在节点中间 */
- Node *second = new Node;
- second->value = 3;
- second->next = cur;
- root->next = second; // linked list: 1 3 2
-
- /* 知道数据,寻找节点 */
- cur = root;
- while (cur->value != 3) {
- cur = cur->next;
- }
- std::cout << cur->value << std::endl; // 3
-
- /* 遍历到链表尾部 */
- while (cur->next != NULL) {
- cur = cur->next;
- }
- std::cout << cur->value << std::endl; // 2
-
- /* 删除节点 */
- Node *last;
- cur = root;
- if (cur == NULL)
- ; // empty list
- if (cur->value == 1) { // if we want to delete the first node
- root = cur->next;
- delete cur;
- } else {
- while (cur->value != 1 && cur->next != NULL) {
- last = cur;
- cur = cur->next;
- }
-
- if (cur->value == 1) {
- last->next = cur->next;
- delete cur;
- }
- }
-}
-```
diff --git a/_posts/2015/2015-12-25-stack-queue-link-list.md b/_posts/2015/2015-12-25-stack-queue-link-list.md
deleted file mode 100644
index 9ea49446..00000000
--- a/_posts/2015/2015-12-25-stack-queue-link-list.md
+++ /dev/null
@@ -1,237 +0,0 @@
----
-layout: post
-title: "Stack, Queue and Linked Lists"
-date: 2015-12-25
-tag: Data-Structure
-lang: en
-images:
- - url: /img/post/link_in.gif
-redirect_from: "/stack-queue-link-list/"
----
-
-Stack, queue and Linked lists are basic data structures. They appear in our daily life. For example, stacks of intermodal containers at the port, waiting in line(queue) to ride a roller coaster and the film The Human Centipede,if you know it.
-
-
-
-**Contents**
-
-- [Stack](#stack)
- - [Intro](#stack-intro)
- - [Array Implementation](#stack-array-implementation)
- - [Linked List Implementation](#stack-linked-list-implementation)
- - [C++ STL - stack](#stack-c++-stl-stack)
-- [Queue](#queue)
- - [Intro](#q-intro)
- - [Linked List Implementation](#q-linked-list-implementation)
- - [C++ STL - queue](#q-c++-stl-queue)
- - [Priority Queue](#q-priority-queue)
-- [Linked List](#linked-list)
- - [Intro](#ll-intro)
- - [C++ Struct Implementation](#ll-c++-struct-implementation)
-
-
-
------
-
-## Stack
-### Intro
-Stack is like a stack of intermodal containers, or a stack of book. Every time you want to put a new item, you put above the original stack, not between or below. Every time you want to remove a item, you need to start from the top, remove the item which is latest added. Hence, there is a principle called "**LIFO**", Last In, First Out.
-
-Common operations:
-
-push | pop
-:---:|:---:
-![stack_push](/img/post/stack_push.gif) | ![stack_pop](/img/post/stack_pop.gif)
-
-### Array Implementation
-Usually we use the first item in the array `array[0]` as the bottom of the stack, create index `max-index` to store the index of the top item, in other words, the index of the last item in the stack.
-
-Push: `max_index += 1`, and at the index of max_index add the item
-
-Pop: delete the item at the index `max_index`, `max_index -= 1`
-
-### Linked List Implementation
-Using singly linked list, use `head` to store the bottom of the stack, each item has `next` pointing at the next item. The top item's `next` points to `NULL`, `size` stores the size of the stack (the length of the linked list).
-
-push: change the `next` variable of the top item in stack(last item in list) to the new item, let `next` of the new item points to `NULL`, `size += 1`
-
-pop: delete the top item in stack (last item in list), `size -= 1`, set `next` of the new last item to `NULL`
-
-### C++ STL - stack
-``` cpp
-#include
-#include
-using namespace std;
-
-int main(void) {
- /* create a stack named stk and its elements are int type */
- stack stk;
-
- /* push an element to the stack */
- stk.push(1); // 1
- stk.push(2); // 1 2
-
- /*
- * cout << stk.push(3) << endl;
- * error!! stk.push(3) returns void
- */
-
- /* top() returns the top element in the stack and it does NOT change the stack */
- cout << stk.top() << endl; // print out 2
-
- stk.push(1);
-
- /* gives the size of the stack - how many elements are there */
- cout << stk.size() << endl; // print out 3
-
- /* pop the top element from the stack, return void as well */
- stk.pop();
- stk.pop();
-
- cout << stk.top() << endl; // print out 1
-
- /* check if the stack is empty, if it is empty, returns true(1) */
- cout << stk.empty() << endl;
-
- return 0;
-}
-```
-
-
-
------
-
-## Queue
-### Intro
-Queue is like the queue in our life, wait in line to check out. Each new item add to the end of a queue, and the item at the front goes out first. Hence, Queue has the principle of "**FIFO**" (First In, First Out).
-
-Common operations:
-
-enqueue | dequeue
-:---:|:---:
-![queue_enqueue](/img/post/queue_enqueue.gif) | ![queue_dequeue](/img/post/queue_dequeue.gif)
-
-### Linked List Implementation
-Using singly linked list, use `head` to track the head of a queue, each item has a variable `next` pointing to the next item, `next` of the last item in the queue points to `NULL`, `size` tracks the length of the queue.
-
-Enqueue: append the new item at the end of the queue/list, `next` of the old last item points to the new item just appended, `size += 1`
-
-Dequeue: Using `next` to navigate to the second item, `head` points to the second item, delete the first item, `size -= 1`
-
-### C++ STL - queue
-Almost the same as `stack`!
-
-**Caution: `queue` uses `front` and `back` to get the first and last item respectively.**
-
-```cpp
-#include
-#include
-using namespace std;
-
-int main() {
- queue q;
- q.push(1); // q: 1
- q.push(2); // q: 1 2
-
- cout << q.front() << endl; // 1
- cout << q.back() << endl; // 2
-
- q.push(3); // q: 1 2 3
- cout << q.size() << endl; // 3
- q.pop(); // q: 2 3
- cout << q.front() << endl; // 2
- cout << q.back() << endl; // 3
- cout << q.empty() << endl; // 0
-
- return 0;
-}
-```
-
-### Priority Queue
-Priority Queue is similar as queue, however each item has a priority. The first item to be dequeued maybe not the most front of the queue, it is now which the item has the highest priority. It's like someone who have VIP cards, or someone is a queue-jumper, not fair for these items waiting, right? sigh.
-
-In C++ STL, if you use `int` as items in a priority queue, it is default that the smaller the integer is, the less priority it has. If you want the opposite, which is larger integer, less priority, you could use `great`, fully declaration`std::priority_queue, std::greater q_name`. If you want other custom compare methods, you might need to custom `cmp` function to complete priority comparison.
-
-**Caution: Priority Queue uses `front()` to get the first item, NOT `top()`**
-
-
-
------
-
-## Linked List
-### Intro
-Linked list is like linked paper clips, have you tired before? Linked list have several structures: singly linked list, doubly linked list, multiply linked list and others. We only show singly linked list here as others can be implemented with the understanding of singly linked list.
-
-Common operations:
-
-- add nodes
-- delete nodes
-- next node
-
-![link_in](/img/post/link_in.gif)
-
-### C++ Struct Implementation
-``` cpp
-#include
-
-struct Node {
- int value;
- Node *next;
-};
-
-int main() {
- Node *root;
- Node *cur;
-
- /* Initialize the linked list */
- root = new Node;
- root->value = 1;
- root->next = NULL;
- cur = root;
-
- /* add Node at the end of the list */
- cur = cur->next;
- cur = new Node;
- cur->value = 2;
- cur->next = NULL; // linked list: 1 2
-
- /* add Node between two Nodes */
- Node *second = new Node;
- second->value = 3;
- second->next = cur;
- root->next = second; // linked list: 1 3 2
-
- /* known value, find Node */
- cur = root;
- while (cur->value != 3) {
- cur = cur->next;
- }
- std::cout << cur->value << std::endl; // 3
-
- /* traverse to the last Node */
- while (cur->next != NULL) {
- cur = cur->next;
- }
- std::cout << cur->value << std::endl; // 2
-
- /* delete Node */
- Node *last;
- cur = root;
- if (cur == NULL)
- ; // empty list
- if (cur->value == 1) { // if we want to delete the first node
- root = cur->next;
- delete cur;
- } else {
- while (cur->value != 1 && cur->next != NULL) {
- last = cur;
- cur = cur->next;
- }
-
- if (cur->value == 1) {
- last->next = cur->next;
- delete cur;
- }
- }
-}
-```
diff --git a/_posts/2015/2015-12-26-binary-tree.cn.md b/_posts/2015/2015-12-26-binary-tree.cn.md
deleted file mode 100644
index 4604b48c..00000000
--- a/_posts/2015/2015-12-26-binary-tree.cn.md
+++ /dev/null
@@ -1,140 +0,0 @@
----
-layout: post
-title: 二叉树
-date: '2016-1-15'
-tag: Data-Structure
-lang: cn
-images:
- - url: /img/post/full_binary_tree.gif
-redirect_from: "/cn/binary-tree/"
----
-
-二叉树之所以叫二叉树,是因为它每一个节点都至多有两个叉,又形似一棵树。树有根,有枝,有叶,只不过一般我们在计算机中所说的树都是根在上,叶在下的。
-
-
-
-**目录**
-
-- [关于树的名词](#terminologies)
- - [叶节点](#leaf-node)
- - [内节点](#inner-node)
- - [深度和高度](#height-and-depth)
-- [树的类型](#types)
- - [满二叉树](#full-binary-tree)
- - [完全二叉树](#complete-binary-tree)
-- [实现](#implementation)
- - [数组](#array)
- - [Struct 或者 Class](#struct-or-class)
-- [树的遍历](#tree-traversal)
- - [深度优先遍历(DFS)](#depth-first-search)
- - [广度优先遍历(BFS)](#breadth-first-search)
-
-
-
------
-
-## 关于树的名词
-
-### 叶节点
-没有任何子节点的节点。
-
-### 内节点
-在根节点和叶节点中间的节点。
-
-### 高度和深度
-**树**的高度和深度指的都是该树有多少层,一般从0开始数。
-
-但是,**节点**的高度和深度所指的就不同了。节点的高度是指该节点到**叶节点**的最长距离,节点的深度是指该节点到**根节点**的最长距离。
-
-![depth_height](/img/post/depth_height.gif)
-
-
-
------
-
-## 二叉树类型
-
-### 满二叉树
-每个节点都有0或2个字子节点的树。
-
-![full_bt](/img/post/full_binary_tree.gif)
-![full_b_1](/img/post/full_binary_tree_1.gif)
-
-### 完全二叉树
-一棵深度为\\(h\\)的树,除了第\\(h\\)层外,其他各层节点都为最大树,第\\(h\\)层的所有节点都连续地集中在左边。
-
-总节点\\(k\\) | 树高\\(h\\)
---- | ---
-\\(2^h \le k \lt 2^{h+1} - 1\\) | \\(h = \lfloor\log_2k\rfloor\\)
-
-![complete_bt](/img/post/complete_binary_tree.gif)
-![complete_bt_1](/img/post/complete_binary_tree_1.gif)
-
-
-
------
-
-## 实现
-
-### 数组
-树可以用数组来存储,一般是广度优先的顺序。数组可以很好地储存完全二叉树,因为完全二叉树不会浪费数组的空间。一般来说,根节点一般储存在\\(i = 0\\), 它的子节点存在\\(i = 1\\)和\\(i = 2\\),分别代表左节点和右节点。**一个节点在\\(i\\), 它的左右节点分别在\\(2i + 1\\)和\\(2i+2\\)**。但是,数组会浪费很多空间如果树不完全。
-
-### Struct 或者 Class
-创建节点,与父节点关联。
-
-``` cpp
-struct node {
- int data;
- struct node* left;
- struct node* right;
-}
-```
-
-
-
------
-
-## 树的遍历
-
-### 深度优先遍历(DFS)
-遍历树按照深度优先的原则,使用递归一般在遍历中是个好主意。
-
-#### 先序遍历
-根节点-左节点-右节点
-
-1. 从根节点开始
-1. 如果左子树有元素,遍历左子树,不然遍历右子树。
-
-#### 中序遍历
-左-根-右
-
-#### 后序遍历
-左-右-根
-
-#### 确定唯一的树
-给定两种遍历顺序,只有两种方法能确定唯一的树。
-
-##### 先序遍历和中序遍历
-先序遍历的第一个元素必定是树的根节点,在中序遍历中找到该节点,就能把树分为两个子树,左子树和右子树。根据左右子树的长度在先序遍历中找到对应的序列,便找到了左右子树的根节点。不断递归直到遍历树。
-
-##### 中序遍历和后序遍历
-和上面说的类似,只是后序遍历的根节点在序列的最后。
-
-#### 小技巧
-还有另外一种办法来记住遍历的顺序
-
-1. 画一条连续的线(一笔画),从根节点开始,往左画,包围整棵树,贴着节点,在根节点结束。
-1. 类别:
- - 先序:在每个节点的**左边**画一个点
- - 中序:在每个节点的**下面**画一个点
- - 后序:在每个节点的**右边**画一个点
-1. 从根节点开始,沿着画线的顺序,碰到点的顺序就是遍历的顺序。
-
-先序遍历|中序遍历|后序遍历
----|---|---
-![preorder_line](/img/post/Sorted_binary_tree_preorder.svg)|![inorder_line](/img/post/Sorted_binary_tree_inorder.svg)|![postorder_line](/img/post/Sorted_binary_tree_postorder.svg)
-
-### 广度优先遍历(BFS)
-从根节点开始,以遍历完每一层为优先原则。
-
-![bfs](/img/post/Sorted_binary_tree_breadth-first_traversal.svg)
diff --git a/_posts/2015/2015-12-26-binary-tree.md b/_posts/2015/2015-12-26-binary-tree.md
deleted file mode 100644
index acdac58d..00000000
--- a/_posts/2015/2015-12-26-binary-tree.md
+++ /dev/null
@@ -1,140 +0,0 @@
----
-layout: post
-title: Binary Tree
-date: '2016-1-15'
-tag: Data-Structure
-lang: en
-images:
- - url: /img/post/full_binary_tree.gif
-redirect_from: "/binary-tree/"
----
-
-Binary tree is called so because of its shape. It's like a tree, it have leaves and a root. In computer science, the "tree" is usually upside down, the root at the top and leaves grow below it. It is binary so it every node only can have 0, 1 or 2 leaves.
-
-
-
-**Contents**
-
-- [Terminologies](#terminologies)
- - [Leaf Node](#leaf-node)
- - [Inner Node](#inner-node)
- - [Height and Depth](#height-and-depth)
-- [Types](#types)
- - [Full Binary Tree](#full-binary-tree)
- - [Complete Binary Tree](#complete-binary-tree)
-- [Implementation](#implementation)
- - [Array](#array)
- - [Struct or Class](#struct-or-class)
-- [Tree Traversal](#tree-traversal)
- - [Depth First Search (DFS)](#depth-first-search)
- - [Breadth First Search (BFS)](#breadth-first-search)
-
-
-
------
-
-## Terminologies
-
-### Leaf Node
-The node do NOT have any child nodes.
-
-### Inner Node
-The Node between the leaf node and the root.
-
-### Height and Depth
-Height and Depth of the **tree** are basically the same thing which indicates how many levels the tree have, usually starts at 0.
-
-However, the height and depth of the **node** is different. The **height** and **depth** of a node is the distance on longest path to the leaf node and root respectively.
-
-![depth_height](/img/post/depth_height.gif)
-
-
-
------
-
-## Types
-
-### Full Binary Tree
-Every node in the tree has either 0 or 2 children.
-
-![full_bt](/img/post/full_binary_tree.gif)
-![full_b_1](/img/post/full_binary_tree_1.gif)
-
-### Complete Binary Tree
-Every level except possibly the last level, has maximum number of nodes. All nodes in the last level are all at the left of the tree continuously.
-
-Total number of nodes \\(k\\) | Height of tree \\(h\\)
---- | ---
-\\(2^h \le k \lt 2^{h+1} - 1\\) | \\(h = \lfloor\log_2k\rfloor\\)
-
-![complete_bt](/img/post/complete_binary_tree.gif)
-![complete_bt_1](/img/post/complete_binary_tree_1.gif)
-
-
-
------
-
-## Implementation
-
-### Array
-Array can be used to store a tree, usually in breadth-first order. It is quite good at store a complete binary tree as it will not waste spaces. The root is store at the index \\(i = 0\\), and its children are stored in \\(i = 1\\) and \\(i = 2\\). It has property that **A node at \\(i\\), its children at \\(2i + 1\\) (left) and \\(2i + 2\\) (right)**. However, it wastes a lot of spaces when storing other trees other than complete binary trees.
-
-### Struct or Class
-Creating nodes and connect them to their parents.
-
-``` cpp
-struct node {
- int data;
- struct node* left;
- struct node* right;
-}
-```
-
-
-
------
-
-## Tree Traversal
-
-### Depth First Search (DFS)
-Search the tree in the priority of depth. Using recursive calls for tree traversal is usually a good idea.
-
-#### Pre-order
-Root-Left-Right
-
-1. Starts from the root
-1. If left subtree has element in it, go to left. If not, go right.
-
-#### In-order
-Left-Root-Right
-
-#### Post-order
-Left-Right-Root
-
-#### Determine a unique tree
-There are only two ways to determine a unique tree given two types of traverse order.
-
-##### Pre-order and In-order
-The first element of a pre-order must be the root of the tree. Then find the same element in the In-order, we can divide the tree into two subtrees, left and right. Using the length of the left and right subtrees to find the sequences in pre-order respectively, then we can find the root element for left and right subtrees. Recursive repeat this process.
-
-##### In-order and Post-order
-Similar as above, except the root element is the last element in post-order traversal.
-
-#### Tips
-Rather than remembering the sequence, there is another way to remembering the order.
-
-1. Draw a continuous line, starts and ends at the root of the tree, starts from left, around the tree
-1. Try following:
- - Pre-order: draw a dot at the **left** of each node
- - In-order: draw a dot at the **bottom** of each node
- - Post-order: draw a dot at the **right** of each node
-1. Follow the line we drew, the sequence of touching dots is the sequence of traversal.
-
-Pre-order|In-order|Post-order
----|---|---
-![preorder_line](/img/post/Sorted_binary_tree_preorder.svg)|![inorder_line](/img/post/Sorted_binary_tree_inorder.svg)|![postorder_line](/img/post/Sorted_binary_tree_postorder.svg)
-
-### Breadth First Search (BFS)
-Traverse from the root to bottom, go thought each level first.
-
-![bfs](/img/post/Sorted_binary_tree_breadth-first_traversal.svg)
diff --git a/_posts/2016/2016-03-14-poj-3050.cn.md b/_posts/2016/2016-03-14-poj-3050.cn.md
deleted file mode 100644
index f35bc164..00000000
--- a/_posts/2016/2016-03-14-poj-3050.cn.md
+++ /dev/null
@@ -1,74 +0,0 @@
----
-layout: "post"
-title: "POJ 3050 Hopscotch"
-date: "2016-03-14 22:22"
-lang: cn
-tags: [POJ, Search]
-redirect_from: "/cn/poj-3050/"
----
-
-给一个5*5的数组,在里面填了整数。可选任意点作为起点,走动5次,只能往上下左右走,得到6个数字。
-
-求有多少个不同的数字组合。
-
-链接:http://poj.org/problem?id=3050
-
-
-
-
-
-
-
-###题解
-用set来去重,因为只有6步和5*5的数组,dfs各个起点,加入set。
-
-一开始用了`to_string()`结果CE,用了`stringstream`TLE。这次终于知道`sstream`多慢了。。。简直龟速。。。
-
-
-```cpp
-#include
-#include
-#include
-using namespace std;
-
-set ans;
-int m[5][5];
-const int dx[] = { 1, -1, 0, 0 };
-const int dy[] = { 0, 0, 1, -1 };
-string s;
-
-void dfs(int x, int y, int n) {
- if (n == 0) {
- ans.insert(s);
- return;
- }
- for (int i = 0; i < 4; i++) {
- int tx = x+dx[i];
- int ty = y+dy[i];
- if (tx >= 0 && tx < 5 && ty >= 0 && ty < 5) {
- string str = s;
- s += m[tx][ty];
- dfs(tx, ty, n-1);
- s = str;
- }
- }
- return ;
-}
-
-int main(void) {
- for (int i = 0; i < 5; i++) {
- for (int j = 0; j < 5; j++)
- cin >> m[i][j];
- }
-
- for (int i = 0; i < 5; i++) {
- for (int j = 0; j < 5; j++) {
- s = "";
- dfs(i, j, 6);
- }
- }
-
- cout << ans.size() << endl;
- return 0;
-}
-```
diff --git a/_posts/2016/2016-03-14-poj-3050.md b/_posts/2016/2016-03-14-poj-3050.md
deleted file mode 100644
index ab2e2e57..00000000
--- a/_posts/2016/2016-03-14-poj-3050.md
+++ /dev/null
@@ -1,76 +0,0 @@
----
-layout: "post"
-title: "POJ 3050 Hopscotch"
-date: "2016-03-14 22:22"
-lang: en
-tags: [POJ, Search]
-redirect_from: "/poj-3050/"
----
-
-There is a 5 * 5 array filled with integers. You can only go up, down, left and right. You can start on any point in the array and can only move 5 times. Therefore, you will get 6 integers.
-
-Find the number of distinct integers you can constructed.
-
-Link: http://poj.org/problem?id=3050
-
-
-
-
-
-
-
-###Solution
-I use a set to avoid same sequences. Since there are only 6 steps and the array is only 5*5, dfs each point, add into the set.
-
-I used `to_string()` at first but got compile error on POJ, then I use `stringstream` but got TLE. DO NOT USE `sstream`, it's just too slow! Slower than molasses!
-
-Finally, I got AC.
-
-
-```cpp
-#include
-#include
-#include
-using namespace std;
-
-set ans;
-int m[5][5];
-const int dx[] = { 1, -1, 0, 0 };
-const int dy[] = { 0, 0, 1, -1 };
-string s;
-
-void dfs(int x, int y, int n) {
- if (n == 0) {
- ans.insert(s);
- return;
- }
- for (int i = 0; i < 4; i++) {
- int tx = x+dx[i];
- int ty = y+dy[i];
- if (tx >= 0 && tx < 5 && ty >= 0 && ty < 5) {
- string str = s;
- s += m[tx][ty];
- dfs(tx, ty, n-1);
- s = str;
- }
- }
- return ;
-}
-
-int main(void) {
- for (int i = 0; i < 5; i++) {
- for (int j = 0; j < 5; j++)
- cin >> m[i][j];
- }
-
- for (int i = 0; i < 5; i++) {
- for (int j = 0; j < 5; j++) {
- s = "";
- dfs(i, j, 6);
- }
- }
-
- cout << ans.size() << endl;
- return 0;
-}
-```
diff --git a/_posts/2016/2016-03-14-poj-3187.cn.md b/_posts/2016/2016-03-14-poj-3187.cn.md
deleted file mode 100644
index afb7d5e7..00000000
--- a/_posts/2016/2016-03-14-poj-3187.cn.md
+++ /dev/null
@@ -1,66 +0,0 @@
----
-layout: "post"
-title: "POJ 3187 Backward Digits Sums"
-date: "2016-03-14"
-lang: cn
-tags: [POJ, brute force]
-redirect_from: "/cn/poj-3187/"
----
-
-有特定顺序1到\\(N\\)个数字(\\(1\le N \le 10\\)),将相邻的两个数字相加得到下一行,直到只剩下一个数字。类似于杨辉三角形。
-$$ 1, 2, 3 $$
-$$ 3, 5 $$
-$$ 8 $$
-
-给定\\(N\\)和最后的和sum,求字典序最小的一组整数。
-
-链接:http://poj.org/problem?id=3187
-
-###助攻:
-- 注意题目是问1到\\(N\\)个整数,不是从1到10内找出所有排列。
-- STL中`next_permutation()`的结果默认是升序排列的。
-
-
-
-
-
-
-
-###题解:
-用`next_permutation()`生成所有可能的排列,模拟计算三角形。因为排列本来就按字典序排列,找到的第一个解就是题目的解。
-
-
-```cpp
-#include
-#include
-using namespace std;
-
-int n, sum, ans[11], s[11];
-
-void solve() {
- for (int i = 1; i <= n; i++) ans[i-1] = i;
- if (n == 1 && ans[0] == sum) {
- cout << sum << endl;
- return;
- }
- do {
- for (int i = 0; i < n-1; i++)
- s[i] = ans[i]+ans[i+1];
- for (int i = n-2; i >= 0; i--) {
- for (int j = 0; j < i; j++)
- s[j] = s[j]+s[j+1];
- }
- if (s[0] == sum) {
- for (int i = 0; i < n; i++) cout << ans[i] << " ";
- cout << endl;
- return;
- }
- } while (next_permutation(ans, ans+n));
-}
-
-int main(void) {
- cin >> n >> sum;
- solve();
- return 0;
-}
-```
diff --git a/_posts/2016/2016-03-14-poj-3187.md b/_posts/2016/2016-03-14-poj-3187.md
deleted file mode 100644
index 2b684e79..00000000
--- a/_posts/2016/2016-03-14-poj-3187.md
+++ /dev/null
@@ -1,68 +0,0 @@
----
-layout: "post"
-title: "POJ 3187 Backward Digits Sums"
-date: "2016-03-14"
-lang: en
-tags: [POJ, brute force]
-redirect_from: "/poj-3187/"
----
-
-There are 1 to \\(N\\) digits (\\(1\le N \le 10\\)) in certain order. Add adjacent numbers together to get the next line, until the there is only one number left.(Just like Pascal's triangle)
-For example, there are 3 integers:
-$$ 1, 2, 3 $$
-$$ 3, 5 $$
-$$ 8 $$
-
-So, given \\(N\\) and the final sum, find the lexicographically least ordering of integers.
-
-Link: http://poj.org/problem?id=3187
-
-###Notes:
-- Be aware of that the question is asking 1 to \\(N\\) digits, so we don't have to test all possible permutations from 1 to 10.
-
-- The results of `next_permutation()` in STL are in ascending order in default.
-
-
-
-
-
-
-
-###Solution:
-Use `next_permutation()` to check all possibilities and stimulate the triangle additions. Since the permutation is already in lexicographical order, when we get the find the first result, it is the final answer.
-
-
-```cpp
-#include
-#include
-using namespace std;
-
-int n, sum, ans[11], s[11];
-
-void solve() {
- for (int i = 1; i <= n; i++) ans[i-1] = i;
- if (n == 1 && ans[0] == sum) {
- cout << sum << endl;
- return;
- }
- do {
- for (int i = 0; i < n-1; i++)
- s[i] = ans[i]+ans[i+1];
- for (int i = n-2; i >= 0; i--) {
- for (int j = 0; j < i; j++)
- s[j] = s[j]+s[j+1];
- }
- if (s[0] == sum) {
- for (int i = 0; i < n; i++) cout << ans[i] << " ";
- cout << endl;
- return;
- }
- } while (next_permutation(ans, ans+n));
-}
-
-int main(void) {
- cin >> n >> sum;
- solve();
- return 0;
-}
-```
diff --git a/_posts/2016/2016-03-16-poj-2376.cn.md b/_posts/2016/2016-03-16-poj-2376.cn.md
deleted file mode 100644
index dbb11318..00000000
--- a/_posts/2016/2016-03-16-poj-2376.cn.md
+++ /dev/null
@@ -1,84 +0,0 @@
----
-layout: "post"
-title: "POJ 2376 Cleaning Shifts"
-date: "2016-03-16"
-lang: cn
-tags: [greedy, POJ]
-redirect_from: "/cn/poj-2376/"
----
-
-\\(N\\) (\\(1 \le N \le 25,000\\))只蛤,每只蛤只能在特定时间段工作。
-\\(T\\) (\\(1 \le T \le 1,000,000\\))个时间段。
-找到最少蛤数能覆盖整个时间段。
-
-链接:http://poj.org/problem?id=2376
-
-
-###助攻
-- 每个时间段都至少要有一只蛤。
-- 每只蛤在结束时间之后结束。比如说有两只蛤工作时间段分别是\\((1, 3)\\)和\\((4, 10)\\)。这样被认为时间段是连续的,在\\(T = 10\\)的时候是可行的。
-- 任何时间段之间不能断。
-- 用`scanf()`作为输入不然超时。
-
-
-
-
-
-
-
-###题解
-按结束时间排序。对每个区间谈心,找到每只在当前时间段内开始,结束最晚的蛤。因为已经排过序啦,所以只要判断开始时间是不是比当前的时间小,第一个找到的就是了。
-
-
-
-```cpp
-#include
-#include
-#include
-using namespace std;
-typedef pair P;
-
-
-vector v;
-int N, T, ans = 0;
-
-struct cmp {
- bool operator()(const P &l, const P &r) {
- return l.second > r.second;
- }
-};
-void solve() {
- sort(v.begin(), v.end(),cmp());
- int cur = 1;
- bool find = true;
- while (cur <= T) {
- if ((v.size() == 0) || !find || (v[0].second < cur)) { ans = -1; return ; }
- for (int i = 0; i < v.size(); i++) {
- if (v[i].first <= cur) {
- ans++;
- cur = v[i].second+1;
- printf("%d %d\n\n", v[i].first, v[i].second);
- v.erase(v.begin()+i);
- find = true;
- break;
- }
- find = false;
- }
- }
- return ;
-}
-
-int main(void) {
- scanf("%d %d", &N, &T);
- int start, end;
- for (int i = 0; i < N; i++) {
- scanf("%d %d", &start, &end);
- v.push_back(P(start, end));
- }
-
- solve();
- printf("%d\n", ans);
-
- return 0;
-}
-```
diff --git a/_posts/2016/2016-03-16-poj-2376.md b/_posts/2016/2016-03-16-poj-2376.md
deleted file mode 100644
index f2b9d762..00000000
--- a/_posts/2016/2016-03-16-poj-2376.md
+++ /dev/null
@@ -1,83 +0,0 @@
----
-layout: "post"
-title: "POJ 2376 Cleaning Shifts"
-date: "2016-03-16"
-lang: en
-tags: [greedy, POJ]
-redirect_from: "/poj-2376/"
----
-
-\\(N\\) (\\(1 \le N \le 25,000\\)) cows, each cow only available for a interval of time.
-\\(T\\) (\\(1 \le T \le 1,000,000\\)) shifts.
-Find minimum number of cows to complete \\(T\\) shifts.
-
-Link: http://poj.org/problem?id=2376
-
-
-###Notes
-- Each shift must has at least one cow assigned to it.
-- A cow finishes after the end time. That is, if there are two cows, start and end at \\((1, 3)\\) and \\((4, 10)\\) respectively. It is considered as an continuous internal and accepted case for \\(T = 10\\).
-- There can not have any gap between these cows's working intervals.
-- Use `scanf()` for input otherwise it will run out of the time limit.
-
-
-
-
-
-
-
-###Solution
-Sort cows by ending time. Using greedy that for each interval, find the cow which has latest end time and before the current end time. As the vector is sorted, the first cow we find is the answer.
-
-
-```cpp
-#include
-#include
-#include
-using namespace std;
-typedef pair P;
-
-
-vector v;
-int N, T, ans = 0;
-
-struct cmp {
- bool operator()(const P &l, const P &r) {
- return l.second > r.second;
- }
-};
-void solve() {
- sort(v.begin(), v.end(),cmp());
- int cur = 1;
- bool find = true;
- while (cur <= T) {
- if ((v.size() == 0) || !find || (v[0].second < cur)) { ans = -1; return ; }
- for (int i = 0; i < v.size(); i++) {
- if (v[i].first <= cur) {
- ans++;
- cur = v[i].second+1;
- printf("%d %d\n\n", v[i].first, v[i].second);
- v.erase(v.begin()+i);
- find = true;
- break;
- }
- find = false;
- }
- }
- return ;
-}
-
-int main(void) {
- scanf("%d %d", &N, &T);
- int start, end;
- for (int i = 0; i < N; i++) {
- scanf("%d %d", &start, &end);
- v.push_back(P(start, end));
- }
-
- solve();
- printf("%d\n", ans);
-
- return 0;
-}
-```
diff --git a/_posts/2016/2016-03-20-uva-443.cn.md b/_posts/2016/2016-03-20-uva-443.cn.md
deleted file mode 100644
index 78a61d55..00000000
--- a/_posts/2016/2016-03-20-uva-443.cn.md
+++ /dev/null
@@ -1,118 +0,0 @@
----
-layout: "post"
-title: "UVa 443 Humble Numbers"
-date: "2016-03-20 22:30"
-lang: cn
-tags: [UVa]
-redirect_from: "/cn/uva-443/"
----
-
-找到第\\(n\\) \\( (1 \le n \le 5842)\\) 个只有2,3,5或7质因子的数。
-
-
-链接: https://uva.onlinejudge.org/index.php?option=onlinejudge&page=show_problem&problem=384
-
-
-
-
-
-
-
-###题解
-####解法1
-有点暴力。。。 用STL `set`和`vector`来枚举所有符合条件的数。用`long long`来防止爆int和栈。
-
-```cpp
-#include
-#include
-#include
-using namespace std;
-typedef long long ll;
-const int t[] = { 2, 3, 5, 7};
-set s;
-
-int main(void) {
- s.insert(1);
- set::iterator i = s.begin();
- while(s.size() < 6600) {
- for (int j = 0; j < 4; j++)
- s.insert((*i)*t[j]);
- i++;
- }
- vector v(s.begin(), s.end());
-
- int n;
- string s;
- while (cin >> n) {
- if (n == 0) break;
- if (n % 100 == 11 || n % 100 == 12 || n % 100 == 13) s = "th";
- else if (n % 10 == 1) s = "st";
- else if (n % 10 == 2) s = "nd";
- else if (n % 10 == 3) s = "rd";
- else s = "th";
- cout << "The " << n << s << " humble number is " << v[n-1] << ".\n";
- }
- return 0;
-}
-```
-
-
-
-####解法2
-我们有:
-
-| 数组 | 描述 |
-|---|---|
-| a | 质因子使用的次数,用来生成下一个数 |
-| num | 保存4个质因子生成的数, 找到最小的填入`ans`数组中 |
-| ans | 打表 |
-
-
-
-每一个humble number \\(a\\),一定存在一个小于\\(a\\)的humble number \\(b\\) 使得\\(\lbrace a = kb, k \in \lbrace 2, 3, 5, 7\rbrace \rbrace\\)
-
-
-
-```cpp
-#include
-#include
-#include
-#define maxn 5842+5
-using namespace std;
-const int t[] = { 2, 3, 5, 7 };
-int a[4] = {1, 1, 1, 1}, num[4], n, ans[maxn];
-string s;
-
-int find_min() {
- int Min = num[0];
- for (int j = 1; j < 4; j++) {
- if (Min > num[j]) { Min = num[j]; }
- }
- return Min;
-}
-
-int main(void) {
- int index = 2;
- ans[1] = 1;
- while(index < maxn) {
- for (int i = 0; i < 4; i++) num[i] = ans[a[i]]*t[i];
- ans[index] = find_min();
- for (int i = 0; i < 4; i++) {
- if (ans[index] == num[i]) a[i]++;
- }
- index++;
- }
-
- while (cin >> n) {
- if (n == 0) break;
-
- if (n % 100 == 11 || n % 100 == 12 || n % 100 == 13) s = "th";
- else if (n % 10 == 1) s = "st";
- else if (n % 10 == 2) s = "nd";
- else if (n % 10 == 3) s = "rd";
- else s = "th";
- cout << "The " << n << s << " humble number is " << ans[n] << ".\n";
- }
- return 0;
-}
-```
diff --git a/_posts/2016/2016-03-20-uva-443.md b/_posts/2016/2016-03-20-uva-443.md
deleted file mode 100644
index 7de8f282..00000000
--- a/_posts/2016/2016-03-20-uva-443.md
+++ /dev/null
@@ -1,118 +0,0 @@
----
-layout: "post"
-title: "UVa 443 Humble Numbers"
-date: "2016-03-20 22:30"
-lang: en
-tags: [UVa]
-redirect_from: "/uva-443/"
----
-
-Find \\(n\\)th \\( (1 \le n \le 5842)\\) number whose only prime factors are 2, 3, 5 or 7.
-
-
-Link: https://uva.onlinejudge.org/index.php?option=onlinejudge&page=show_problem&problem=384
-
-
-
-
-
-
-
-###Solutions
-####Solution 1
-Kind of brute force, using STL `set` and `vector` to list all humble numbers. Using `long long` to avoiding overflow.
-
-```cpp
-#include
-#include
-#include
-using namespace std;
-typedef long long ll;
-const int t[] = { 2, 3, 5, 7};
-set s;
-
-int main(void) {
- s.insert(1);
- set::iterator i = s.begin();
- while(s.size() < 6600) {
- for (int j = 0; j < 4; j++)
- s.insert((*i)*t[j]);
- i++;
- }
- vector v(s.begin(), s.end());
-
- int n;
- string s;
- while (cin >> n) {
- if (n == 0) break;
- if (n % 100 == 11 || n % 100 == 12 || n % 100 == 13) s = "th";
- else if (n % 10 == 1) s = "st";
- else if (n % 10 == 2) s = "nd";
- else if (n % 10 == 3) s = "rd";
- else s = "th";
- cout << "The " << n << s << " humble number is " << v[n-1] << ".\n";
- }
- return 0;
-}
-```
-
-
-
-####Solution2
-We have:
-
-| Arrary | Description |
-|---|---|
-| a | numbers of each prime factors which are used to generate humble numbers|
-| num | store the 4 humble numbers and find the smallest one to fill into the `ans` array |
-| ans | store all previous results |
-
-
-
-For every humble number \\(a\\), there must exist a humble number \\(b, b \lt a\\) so that \\(\lbrace a = kb, k \in \lbrace 2, 3, 5, 7\rbrace \rbrace\\)
-
-
-
-```cpp
-#include
-#include
-#include
-#define maxn 5842+5
-using namespace std;
-const int t[] = { 2, 3, 5, 7 };
-int a[4] = {1, 1, 1, 1}, num[4], n, ans[maxn];
-string s;
-
-int find_min() {
- int Min = num[0];
- for (int j = 1; j < 4; j++) {
- if (Min > num[j]) { Min = num[j]; }
- }
- return Min;
-}
-
-int main(void) {
- int index = 2;
- ans[1] = 1;
- while(index < maxn) {
- for (int i = 0; i < 4; i++) num[i] = ans[a[i]]*t[i];
- ans[index] = find_min();
- for (int i = 0; i < 4; i++) {
- if (ans[index] == num[i]) a[i]++;
- }
- index++;
- }
-
- while (cin >> n) {
- if (n == 0) break;
-
- if (n % 100 == 11 || n % 100 == 12 || n % 100 == 13) s = "th";
- else if (n % 10 == 1) s = "st";
- else if (n % 10 == 2) s = "nd";
- else if (n % 10 == 3) s = "rd";
- else s = "th";
- cout << "The " << n << s << " humble number is " << ans[n] << ".\n";
- }
- return 0;
-}
-```
diff --git a/_posts/2016/2016-03-23-uva-108.cn.md b/_posts/2016/2016-03-23-uva-108.cn.md
deleted file mode 100644
index c93617d4..00000000
--- a/_posts/2016/2016-03-23-uva-108.cn.md
+++ /dev/null
@@ -1,151 +0,0 @@
----
-layout: "post"
-title: "UVa 108 Maximum Sum"
-date: "2016-03-24"
-lang: cn
-tags: [UVa]
-redirect_from: "/cn/uva-108/"
----
-
-给定一个\\(N \times N (N \le 100)\\)的矩阵,找到最大子矩阵和。
-
-
-链接: [题目UVa](https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=44)
-
-
-
-
-
-
-
-### 题解
-首先想到暴力,复杂度\\(O(N^6)\\),肯定超时。
-
-
-然后有一种\\(O(N^4)\\)的解法,AC足够了。
-
-
-但是可以通过把二维矩阵压到一维,复杂度\\(O(N^3)\\)的解。看题解2哟。
-
-
-#### 题解 1
-用数组`sum`保存自原矩阵左上角到右下角坐标为\\(i, j)\\)该区域内所有数的和。
-
-如下图所示,显然有
-$$
-\begin{align}
-A &= (A+B+C+D)\\\ &-(B+D)\\\ &-(C+D)\\\ &+D
-\end{align}
-$$
-所以我们可以得到 `A = sum[k][l] - sum[i-1][l] - sum[j-1][k] + sum[i-1][j-1]`。
-
-![max_sum](/img/post/maximum_sum.png)
-
-有个小技巧, 保存数组从 `index 1` 开始,初始化数组为 `0` 。这样可以省略边界处理。一开始样例都调不出来,找不到原因。后来发现我在 `for` 循环里用了 `<` 而不是 `<=`.
-
-
-```cpp
-#include
-#include
-#define maxn 100+5
-using namespace std;
-int v, N, sum[maxn][maxn] = {{0}};
-
-void solve() {
- int MaxSum = -200;
-
- for (int i = 1; i <= N; i++) {
- for (int j = 1; j <= N; j++) {
- for (int k = i; k <= N; k++) {
- for (int l = j; l <= N; l++) {
- MaxSum = max(MaxSum, sum[k][l]-sum[i-1][l]-sum[k][j-1]+sum[i-1][j-1]);
- }
- }
- }
- }
- cout << MaxSum << endl;
-}
-
-int main(void) {
- while(cin >> N) {
- for (int i = 1; i <= N; i++) {
- for (int j = 1; j <= N; j++) {
- cin >> v;
- sum[i][j] = v+sum[i-1][j]+sum[i][j-1]-sum[i-1][j-1];
- }
- }
-
- solve();
- }
-
- return 0;
-}
-```
-
-
-
-#### Solution 2
-在一维矩阵中,如果我们要找最大连续的区间和,状态转移方程如下:
-$$ d[k] = max(d[k-1]+d[k], d[k])$$
-有一个小优化就是根据贪心,我们知道如果当前的和小于0,就没有再使用它的意义了。因为加一个小于零的数肯定会减小和。
-
-
-当我们知道了如何在一维中寻找最大连续区间的和,在二维中就很容易了。
-
-
-设
-> i = 开始行数
-
-> j = 结束行数,有i <= j
-
-> k = 列数
-
-我们可以把在 `i` 和 `j` 之间的所有行,以列的方式相加,储存到一维数组相应的角标下。
-
-
-这样,这题就变成了一维数组求最大连续区间和了。找到的该和就是原二维数组中的长方形内所有数字的和。
-
-![max_sum_2d](/img/post/max_sum_2D.gif)
-
-
-```cpp
-#include
-#include
-#include
-#define maxn 100+5
-using namespace std;
-int N, m[maxn][maxn], x[maxn];
-
-int find_max() {
- int cur_sum=x[0], sum=0;
- for (int l = 0; l < N; l++) {
- sum += x[l];
- cur_sum = max(sum, cur_sum);
- if (sum < 0) sum = 0;
- }
- return cur_sum;
-}
-
-void solve() {
- int MaxSum = -200;
- for (int i = 0; i < N; i++) {
- memset(x, 0, sizeof(x));
- for (int j = i; j < N; j++) {
- for (int k = 0; k < N; k++) x[k] += m[j][k];
- MaxSum = max(MaxSum, find_max());
- }
- }
- cout << MaxSum << endl;
-}
-
-int main(void) {
- while(cin >> N) {
- for (int i = 0; i < N; i++)
- for (int j = 0; j < N; j++)
- cin >> m[i][j];
- solve();
- }
-
- return 0;
-}
-```
diff --git a/_posts/2016/2016-03-23-uva-108.md b/_posts/2016/2016-03-23-uva-108.md
deleted file mode 100644
index 1da11f52..00000000
--- a/_posts/2016/2016-03-23-uva-108.md
+++ /dev/null
@@ -1,151 +0,0 @@
----
-layout: "post"
-title: "UVa 108 Maximum Sum"
-date: "2016-03-24"
-lang: en
-tags: [UVa]
-redirect_from: "/uva-108/"
----
-
-Given an array with size \\(N \times N (N \le 100)\\), find the maximum value of its subarray.
-
-
-Link: [Problem on UVa] (https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=44)
-
-
-
-
-
-
-
-### Solutions
-First thought is to brute force - find all possible subarrays then the time complexity will be \\(O(N^6)\\). TLE for sure.
-
-
-Then comes up with an algorithm that takes \\(O(N^4)\\), which is enough to AC.
-
-
-However, it can be \\(O(N^3)\\), see solution 2.
-
-
-#### Solution 1
-We build a `sum` array which is the sum of the numbers in rectangle area with the top-left of the array and bottom-right node \\(i, j)\\).
-
-
-Then as we can see at the graph below, it is obvious that
-$$
-\begin{align}
-A &= (A+B+C+D)\\\ &-(B+D)\\\ &-(C+D)\\\ &+D
-\end{align}
-$$
-Therefore we have `A = sum[k][l] - sum[i-1][l] - sum[j-1][k] + sum[i-1][j-1]`. Go through every subarray to find the maximum.
-
-![max_sum](/img/post/maximum_sum.png)
-
-There is a trick that store the array starts with `index 1` and initialize `0`. So you don't need to do boundary check. Stuck at first, could not figure out why and then found that I used `<` instead of `<=` in the `for` loop.
-
-
-```cpp
-#include
-#include
-#define maxn 100+5
-using namespace std;
-int v, N, sum[maxn][maxn] = {{0}};
-
-void solve() {
- int MaxSum = -200;
-
- for (int i = 1; i <= N; i++) {
- for (int j = 1; j <= N; j++) {
- for (int k = i; k <= N; k++) {
- for (int l = j; l <= N; l++) {
- MaxSum = max(MaxSum, sum[k][l]-sum[i-1][l]-sum[k][j-1]+sum[i-1][j-1]);
- }
- }
- }
- }
- cout << MaxSum << endl;
-}
-
-int main(void) {
- while(cin >> N) {
- for (int i = 1; i <= N; i++) {
- for (int j = 1; j <= N; j++) {
- cin >> v;
- sum[i][j] = v+sum[i-1][j]+sum[i][j-1]-sum[i-1][j-1];
- }
- }
-
- solve();
- }
-
- return 0;
-}
-```
-
-
-
-#### Solution 2
-In one dimension, if we want to find the maximum sum of successive elements, we have equation:
-$$ d[k] = max(d[k-1]+d[k], d[k])$$
-There is a small improvement. By using greedy, we know if the sum is less than 0, there is no point to "add" it, we can just discard it.
-
-
-After we know how to compute in one dimension, it is easy to do it in two dimension.
-
-
-Let
-> i = the starting line
-
-> j = the ending line, where i <= j
-
-> k = the number of columns
-
-We can compress all lines between `i` and `j` into a 1D array. In other words, add each number in the same column together and put it in the 1D array. Hence, we have an array with `i` to `j` lines in it.
-
-Now, it is just the problem we have already seen. Find the maximum sum of successive elements in the 1D array. That is the sum of the whole rectangle in the original 2D array.
-
-![max_sum_2d](/img/post/max_sum_2D.gif)
-
-
-```cpp
-#include
-#include
-#include
-#define maxn 100+5
-using namespace std;
-int N, m[maxn][maxn], x[maxn];
-
-int find_max() {
- int cur_sum=x[0], sum=0;
- for (int l = 0; l < N; l++) {
- sum += x[l];
- cur_sum = max(sum, cur_sum);
- if (sum < 0) sum = 0;
- }
- return cur_sum;
-}
-
-void solve() {
- int MaxSum = -200;
- for (int i = 0; i < N; i++) {
- memset(x, 0, sizeof(x));
- for (int j = i; j < N; j++) {
- for (int k = 0; k < N; k++) x[k] += m[j][k];
- MaxSum = max(MaxSum, find_max());
- }
- }
- cout << MaxSum << endl;
-}
-
-int main(void) {
- while(cin >> N) {
- for (int i = 0; i < N; i++)
- for (int j = 0; j < N; j++)
- cin >> m[i][j];
- solve();
- }
-
- return 0;
-}
-```
diff --git a/_posts/2016/2016-05-14-poj-3268-silver-cow-party.cn.md b/_posts/2016/2016-05-14-poj-3268-silver-cow-party.cn.md
deleted file mode 100644
index d41c7b8d..00000000
--- a/_posts/2016/2016-05-14-poj-3268-silver-cow-party.cn.md
+++ /dev/null
@@ -1,118 +0,0 @@
----
-layout: "post"
-title: "POJ 3268 Silver Cow Party"
-date: "2016-05-14"
-lang: cn
-tags: [POJ, Graph]
-redirect_from: "/cn/poj-3268-silver-cow-party/"
----
-
-有 \\(N\\) (\\(1 \le N \le 1000\\)) 个农场, 每个农场有1只奶牛去X号农场参加派对。每只奶牛都要走最短路来回。一共有 \\(M\\) (\\(1 \le M \le 100,000\\))单向道路,每条道路的权值为所用的时间。求往返所用的最长时间。
-
-链接:[http://poj.org/problem?id=3268]
-
-
-
-
-
-
-
-###题解
-第一反应Floyd,观察`N`数据范围,复杂度 \\(V^3\\),果断弃。
-
-从X号农场回到各个农场比较容易,只要跑一次Dijkstra就好了。复杂度 \\(O(\left|E\right|log\left|V\right|\\)),最坏情况\\(O(\left|E\right|+|V|log|V|)\\)。
-
-但是如何求各个农场到X的最短距离呢?
-
-我们可以把每条边反转,跑一次Dijkstra就好啦~
-
-所以跑两次Dijkstra就能AC啦。
-
-
-
-###代码
-```cpp
-#include
-#include
-#include
-#include
-#include
-#include
-using namespace std;
-const int maxn = 1000+5;
-const int INF = 0x3f3f3f3f;
-typedef pair P; // first: shortest path, second: vertex num;
-
-struct edge {
- int to, cost;
-};
-
-vector G1[maxn];
-vector G2[maxn];
-
-int n, m, x;
-int go[maxn], back[maxn];
-
-void dijkstra (int s, int *d, vector *G) {
- priority_queue, greater
> q;
- q.push(P(0, s));
-
- while (!q.empty()) {
- P p = q.top();
- q.pop();
- int v = p.second;
-
- if (d[v] < p.first) continue;
- for (int i = 0; i < G[v].size(); i++) {
- edge e = G[v][i];
- if (d[e.to] > d[v] + e.cost) {
- d[e.to] = d[v] + e.cost;
- q.push(P(d[e.to], e.to));
- }
- }
- }
-}
-
-int main(void) {
- while (cin >> n >> m >> x) {
- int u;
- for (int i = 1; i <= n; i++) {
- G1[i].clear();
- G2[i].clear();
- }
-
- for (int i = 1; i <= m; i++) {
- edge a;
- cin >> u >> a.to >> a.cost;
- G1[u].push_back(a);
- }
-
- fill(back, back+n+1, INF);
- back[x] = 0;
- dijkstra(x, back, G1);
-
- for (int i = 1; i <= n; i++) {
- edge a;
- for (int j = 0; j < G1[i].size(); j++) {
- a.to = i;
- a.cost = G1[i][j].cost;
- G2[G1[i][j].to].push_back(a);
- }
- }
-
- fill(go, go+n+1, INF);
- go[x] = 0;
- dijkstra(x, go, G2);
-
- int ans = -1;
- for (int i = 1; i <= n; i++) {
- go[i] += back[i];
- if (ans < go[i]) ans = go[i];
- }
-
- cout << ans << endl;
- }
- return 0;
-}
-
-```
diff --git a/_posts/2016/2016-05-14-poj-3268-silver-cow-party.md b/_posts/2016/2016-05-14-poj-3268-silver-cow-party.md
deleted file mode 100644
index 30e863f1..00000000
--- a/_posts/2016/2016-05-14-poj-3268-silver-cow-party.md
+++ /dev/null
@@ -1,116 +0,0 @@
----
-layout: "post"
-title: "POJ 3268 Silver Cow Party"
-date: "2016-05-14"
-lang: en
-tags: [POJ, Graph]
-redirect_from: "/poj-3268-silver-cow-party/"
----
-
-There are one cow from each \\(N\\) (\\(1 \le N \le 1000\\)) farms want to go to the number X farm to have a party, hurrah! One cow from each farm need to go to the party and go back. There are \\(M\\) (\\(1 \le M \le 100,000\\)) weighted (represents time) one-direction roads connects pairs of roads. Cows are smart though, they want to go via the shortest path. The question is, what is the longest time the cow will take.
-
-Link: [http://poj.org/problem?id=3268]
-
-
-
-
-
-
-
-###Solution
-First thought is Floyd algorithm, but look at the data for vertex `N` is no larger than 1000. We know the complexity of Floyd is \\(V^3\\) which is 1e9 in this case. This will definitely not work.
-
-It is easy to find out that if you consider each cow goes back to their farm after the party. It becomes that from one source what’s the shortest path to each vertex. Sounds familiar? We can use Dijkstra for this part since the complexity is \\(O(\left|E\right|log\left|V\right|\\)), worst case \\(O(\left|E\right|+|V|log|V|)\\).
-
-But how can we find the shortest path when each cow goes for the party?
-
-We can reverse each edge and do Dijkstra from the source X again and it will be our answer for this part.
-
-
-
-###Code
-```cpp
-#include
-#include
-#include
-#include
-#include
-#include
-using namespace std;
-const int maxn = 1000+5;
-const int INF = 0x3f3f3f3f;
-typedef pair P; // first: shortest path, second: vertex num;
-
-struct edge {
- int to, cost;
-};
-
-vector G1[maxn];
-vector G2[maxn];
-
-int n, m, x;
-int go[maxn], back[maxn];
-
-void dijkstra (int s, int *d, vector *G) {
- priority_queue, greater
> q;
- q.push(P(0, s));
-
- while (!q.empty()) {
- P p = q.top();
- q.pop();
- int v = p.second;
-
- if (d[v] < p.first) continue;
- for (int i = 0; i < G[v].size(); i++) {
- edge e = G[v][i];
- if (d[e.to] > d[v] + e.cost) {
- d[e.to] = d[v] + e.cost;
- q.push(P(d[e.to], e.to));
- }
- }
- }
-}
-
-int main(void) {
- while (cin >> n >> m >> x) {
- int u;
- for (int i = 1; i <= n; i++) {
- G1[i].clear();
- G2[i].clear();
- }
-
- for (int i = 1; i <= m; i++) {
- edge a;
- cin >> u >> a.to >> a.cost;
- G1[u].push_back(a);
- }
-
- fill(back, back+n+1, INF);
- back[x] = 0;
- dijkstra(x, back, G1);
-
- for (int i = 1; i <= n; i++) {
- edge a;
- for (int j = 0; j < G1[i].size(); j++) {
- a.to = i;
- a.cost = G1[i][j].cost;
- G2[G1[i][j].to].push_back(a);
- }
- }
-
- fill(go, go+n+1, INF);
- go[x] = 0;
- dijkstra(x, go, G2);
-
- int ans = -1;
- for (int i = 1; i <= n; i++) {
- go[i] += back[i];
- if (ans < go[i]) ans = go[i];
- }
-
- cout << ans << endl;
- }
- return 0;
-}
-
-```
diff --git a/_posts/2016/2016-08-31-usaco-lamps.cn.md b/_posts/2016/2016-08-31-usaco-lamps.cn.md
deleted file mode 100644
index dfda2f58..00000000
--- a/_posts/2016/2016-08-31-usaco-lamps.cn.md
+++ /dev/null
@@ -1,178 +0,0 @@
----
-layout: post
-title: USACO Party Lamps
-date: '2016-08-31'
-tags: [USACO]
-lang: cn
-redirect_from: "/cn/usaco-lamps/"
----
-
-有 \\(N\\) \\((10 \le N \le 100)\\) 盏亮瞎眼的灯,从 1 到 N 编号。
-
-有四种按钮:
-
-按钮 | 用途
---- | ---
-1 | 反转所有的灯(开变为关,关变为开)
-2 | 反转编号为奇数的灯(如 1,3,5)
-3 | 反转编号为偶数的灯(如 2,4,6)
-4 | 反转编号为 \\(3k+1 \; 当 \; k \ge 0\\) 的灯 (如 1,4,7)
-
-
-
-给出 \\(C\\)(按下按钮的次数, \\(0 \le C \le 10000\\))和一些灯最后的状态,找出所有组不同的灯的状态。
-
-开始时所有灯都开着,\\(C = 0\\)。
-
-
-
-
-
-
-### 题解
-从题意中,我们可以知道:
-
-1. 每6个灯是一组,因为按钮作用1,2,3的最小公倍数是6(按钮1改变每个灯,按钮2和3改变每2个灯中的一个,按钮4改变每3个灯中的1个)。
-
-2. 如果按下同一个按钮两次,效果和不按该按钮相同。用逻辑符号表示,\\( \sim(\sim p) = p \\)。一个按钮只有开或关两种可能,一共4种按钮。所以,一共有 \\( 2^4 = 16 \\) 种可能。
-
-那么,
-
-- 当 \\(C = 0\\),检查当前状态是否符合条件。
-- 当 \\(C = 1\\),按下每个按钮一次。
-- 当 \\( C \ge 2 \\), 检查所有16种可能。
-
-这是个练习 `bitset` 的好机会。原来是想把 `bitset` 放进 `set` 里的,后来发现 `set` 不支持对 `bitset` 进行排序。如果有谁知道怎么让它支持对 `bitset` 进行排序的,麻烦告诉我一下~
-
-
-
-### 代码
-```cpp
-/*
-ID: cepheid1
-LANG: C++11
-TASK: lamps
-*/
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-using namespace std;
-ifstream fin("lamps.in");
-ofstream fout("lamps.out");
-
-/* convert bitset to store in map and set to get ordered */
-set st;
-mapmp;
-
-bitset<6> bt; // simulates 6 lamps
-bitset<4> light; // simulates 4 buttons
-bool on[7], off[7];
-
-int N, C, a;
-
-bool chk_on() {
- for (int i = 0; i < 6 ; i++) {
- if (on[i] && !(bt[6-i-1])) return false;
- }
- return true;
-}
-
-bool chk_off() {
- for (int i = 0; i < 6 ; i++) {
- if (off[i] && (bt[6-i-1])) return false;
- }
- return true;
-}
-
-void op(int x) {
- switch(x) {
- case 1:
- bt.flip();
- break;
- case 2:
- for (int i = 1; i < 6; i+=2) bt.flip(i);
- break;
- case 3:
- for (int i = 0; i < 6; i+=2) bt.flip(i);
- break;
- case 4:
- bt.flip(2);
- bt.flip(5);
- break;
- default:
- break;
- }
-}
-
-int main(void) {
- fin >> N >> C;
- while (fin >> a && a != -1) {
- if (a%6 == 0) on[5] = true;
- else on[(a%6-1)] = true;
- }
- while (fin >> a && a != -1) {
- if (a%6 == 0) off[5] = true;
- else off[(a%6-1)] = true;
- }
- fin.close();
-
- bt.set();
-
- if (C == 0) {
- if (chk_on() && chk_off()) {
- if (!st.count(bt.to_ulong())) {
- mp[(short)bt.to_ulong()] = bt.to_string();
- st.insert((short)bt.to_ulong());
- }
- }
- } else if (C == 1) {
- for (int i = 0; i < 4; i++) {
- bt.set();
- op(i);
- if (chk_on() && chk_off()) {
- if (!st.count(bt.to_ulong())) {
- mp[(short)bt.to_ulong()] = bt.to_string();
- st.insert((short)bt.to_ulong());
- }
- }
- }
- } else {
- for (int i = 0; i < 16; i++) {
- bt.set();
- light = i;
- for (int j = 0; j < 4; j++) {
- if (light[j]) op(j+1);
- }
- if (chk_on() && chk_off()) {
- if (!st.count(bt.to_ulong())) {
- mp[(short)bt.to_ulong()] = bt.to_string();
- st.insert((short)bt.to_ulong());
- }
- }
- }
- }
-
- if (st.empty()) {
- fout << "IMPOSSIBLE\n";
- } else {
- int len = 0;
- string s;
- for (auto i : st) {
- len = 0;
- s = "";
- while (len <= N) {
- s += (mp[i]);
- len += (mp[i]).size();
- }
- fout << s.substr(0, N) << endl;
- }
- }
- fout.close();
- return 0;
-}
-```
diff --git a/_posts/2016/2016-08-31-usaco-lamps.md b/_posts/2016/2016-08-31-usaco-lamps.md
deleted file mode 100644
index 216d2e86..00000000
--- a/_posts/2016/2016-08-31-usaco-lamps.md
+++ /dev/null
@@ -1,178 +0,0 @@
----
-layout: post
-title: USACO Party Lamps
-date: '2016-08-31'
-tags: [USACO]
-lang: en
-redirect_from: "/usaco-lamps/"
----
-
-A set of \\(N\\) \\((10 \le N \le 100)\\) lamps, numbered from 1 to N.
-
-Four types of button:
-
-Button type | Usage
---- | ---
-1 | flip all lamps (On to Off, Off to On)
-2 | flip odd numbered lamps (e.g. 1, 3, 5)
-3 | flip even numbered lamps (e.g. 2, 4, 6)
-4 | flip \\(3k+1 \; with \; k \ge 0\\) numbered lamps (e.g. 1, 4, 7)
-
-
-
-Given \\(C\\) (number of button presses, \\(0 \le C \le 10000\\)) and final state of some of the lamps, find all possible distinct configuration.
-
-At the start, all lamps are ON and \\(C = 0\\).
-
-
-
-
-
-
-###Solution
-From the description, we can know that:
-
-1. Every 6 lamps is a loop, because the least common multiple of 1, 2, 3 (button 1 changes every lamps, button 2 changes one of 2 lamps and button 3 changes one of 3 lamps) is 6.
-
-2. If you press the same button twice, it has the same affect that if you don't press the button. In logic symbols, \\( \sim(\sim p) = p \\). A button only can be switched on or off, and there are 4 types of buttons. Therefore, there are \\( 2^4 = 16 \\) possibilities.
-
-Then
-
-- for \\(C = 0\\), check current state
-- for \\(C = 1\\), press each button once
-- for \\( C \ge 2 \\), check every 16 possibilities.
-
-It is a good opportunity to practice `bitset` though. Take care that `bitset` does not have build-in sort supported in `set` :(
-
-
-
-###Code
-```cpp
-/*
-ID: cepheid1
-LANG: C++11
-TASK: lamps
-*/
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-using namespace std;
-ifstream fin("lamps.in");
-ofstream fout("lamps.out");
-
-/* convert bitset to store in map and set to get ordered */
-set st;
-mapmp;
-
-bitset<6> bt; // simulates 6 lamps
-bitset<4> light; // simulates 4 buttons
-bool on[7], off[7];
-
-int N, C, a;
-
-bool chk_on() {
- for (int i = 0; i < 6 ; i++) {
- if (on[i] && !(bt[6-i-1])) return false;
- }
- return true;
-}
-
-bool chk_off() {
- for (int i = 0; i < 6 ; i++) {
- if (off[i] && (bt[6-i-1])) return false;
- }
- return true;
-}
-
-void op(int x) {
- switch(x) {
- case 1:
- bt.flip();
- break;
- case 2:
- for (int i = 1; i < 6; i+=2) bt.flip(i);
- break;
- case 3:
- for (int i = 0; i < 6; i+=2) bt.flip(i);
- break;
- case 4:
- bt.flip(2);
- bt.flip(5);
- break;
- default:
- break;
- }
-}
-
-int main(void) {
- fin >> N >> C;
- while (fin >> a && a != -1) {
- if (a%6 == 0) on[5] = true;
- else on[(a%6-1)] = true;
- }
- while (fin >> a && a != -1) {
- if (a%6 == 0) off[5] = true;
- else off[(a%6-1)] = true;
- }
- fin.close();
-
- bt.set();
-
- if (C == 0) {
- if (chk_on() && chk_off()) {
- if (!st.count(bt.to_ulong())) {
- mp[(short)bt.to_ulong()] = bt.to_string();
- st.insert((short)bt.to_ulong());
- }
- }
- } else if (C == 1) {
- for (int i = 0; i < 4; i++) {
- bt.set();
- op(i);
- if (chk_on() && chk_off()) {
- if (!st.count(bt.to_ulong())) {
- mp[(short)bt.to_ulong()] = bt.to_string();
- st.insert((short)bt.to_ulong());
- }
- }
- }
- } else {
- for (int i = 0; i < 16; i++) {
- bt.set();
- light = i;
- for (int j = 0; j < 4; j++) {
- if (light[j]) op(j+1);
- }
- if (chk_on() && chk_off()) {
- if (!st.count(bt.to_ulong())) {
- mp[(short)bt.to_ulong()] = bt.to_string();
- st.insert((short)bt.to_ulong());
- }
- }
- }
- }
-
- if (st.empty()) {
- fout << "IMPOSSIBLE\n";
- } else {
- int len = 0;
- string s;
- for (auto i : st) {
- len = 0;
- s = "";
- while (len <= N) {
- s += (mp[i]);
- len += (mp[i]).size();
- }
- fout << s.substr(0, N) << endl;
- }
- }
- fout.close();
- return 0;
-}
-```
diff --git a/_posts/2018/2018-03-23-proxy-server-cn-netease-music.cn.md b/_posts/2018/2018-03-23-proxy-server-cn-netease-music.cn.md
deleted file mode 100644
index 4ce35313..00000000
--- a/_posts/2018/2018-03-23-proxy-server-cn-netease-music.cn.md
+++ /dev/null
@@ -1,80 +0,0 @@
----
-layout: "post"
-title: "搭建代理服务器以访问国内网络(网易云音乐)"
-date: "2018-03-23 15:39"
-lang: cn
-tags: Tool
-redirect_from: "/cn/proxy-server-cn-netease-music/"
----
-
-身在国外,我们有时候需要看看优酷,听听网易云音乐、QQ音乐。看到“仅限中国大陆播放”的时候真的好气啊。公用的代理服务器我又有点强迫症,正好手头上有个阿里云的服务器,就用[Shadowsocks](https://shadowsocks.org/en/index.html)搭建了一个,现在可以开心地听歌啦。
-
-### VPS
-你需要一个有中国公网IP地址地服务器。国内服务器有很多选择,比如阿里云,腾讯云,美团云之类的。
-
-### 安装服务器端
-用`ssh`或者其他工具进入服务器,然后安装**Shadowsocks**。关于安装的步骤,可以看[这里](https://shadowsocks.org/en/download/servers.html)。 我用的是Python的版本。
-
-### 配置Shadowsocks
-我平常都把配置文件放在`/etc/shadowsocks/ss.json`。请**注意**`server`那一项平常都改填你VPS的公网IP地址。可是如果在阿里云,等下跑的时候会报错`socket.error: [Errno 99] Cannot assign requested address`。原因是因为你的“真实”IP地址并不是公网IP在阿里云内,所以在socket捆绑IP和端口的时候会报错。填`0.0.0.0`来监听所有端口就可以了。
-
-```json
-{
- "server":"0.0.0.0",
- "server_port":8080,
- "local_port":1080,
- "password":"yourpassword",
- "timeout":600,
- "method":"chacha20"
-}
-```
-
-### 可选项
-安装`m2crypto`加解密更快一些
-
-```bash
-pip install m2crypto
-```
-
-如果你想用`chacha20`来加密,你需要安装`libsodium`这个包。不然的话也可以用`aes-256-cfb`,大多数系统都自带这个方法。
-
-```bash
-wget https://github.com/jedisct1/libsodium/releases/download/1.0.16/libsodium-1.0.16.tar.gz
-tar -xf libsodium-1.0.16.tar.gz && cd libsodium-1.0.16
-./configure && make -j2 && make install
-echo /usr/local/lib > /etc/ld.so.conf.d/usr_local_lib.conf
-ldconfig
-```
-
-### 运行
-当作守护进程运行
-
-```bash
-ssserver -c /etc/shadowsocks/ss.json -d start
-```
-
-当然也可以在前端运行,你可以看到所有代理的IP地址经过服务器。
-
-```bash
-ssserver -c /etc/shadowsocks/ss.json
-```
-
-### 安装Shadowsocks客户端
-最后一步,在要用的设备上安装相关客户端。你可以在[这里](https://shadowsocks.org/en/download/clients.html)找到。苹果系统上我觉得[Shadowsocks X](https://github.com/yangfeicheung/Shadowsocks-X)的海外模式比较好用。
-
-
-### 网易云音乐
-请选择*使用IE代理*。
-
-### 更多信息
-
-这只是最简单的Shadowsocks服务器搭建,更多信息请查看:
-
-- https://github.com/shadowsocks/shadowsocks/wiki
-
-- https://shadowsocks.org/en/config/advanced.html
-
-
-
-
-
\ No newline at end of file
diff --git a/_posts/2018/2018-03-23-proxy-server-cn-netease-music.md b/_posts/2018/2018-03-23-proxy-server-cn-netease-music.md
deleted file mode 100644
index 21b808db..00000000
--- a/_posts/2018/2018-03-23-proxy-server-cn-netease-music.md
+++ /dev/null
@@ -1,122 +0,0 @@
----
-layout: "post"
-title: "Build a Proxy Server to Access Chinese IP Including Netease Music"
-date: "2018-03-23 15:39"
-lang: en
-tags: Tool
-redirect_from: "/proxy-server-cn-netease-music/"
----
-
-Sometimes we need to access Chinese content, like Youku Video, Netease Music (Cloud Music) and QQ music. It is very annoying to get "Can Only Be Streamed in Mainland China" or similar messages. Being tired of that, fortunately I have got a VPS from Aliyun and I build a proxy server using [Shadowsocks](https://shadowsocks.org/en/index.html) on it and everything works smoothly now.
-
-### VPS
-You need to have a VPS with **Chinese** IP address, there are tons of choices, like Aliyun(Alibaba Cloud) and Tencent Cloud etc.
-
-
-### Install Server
-Then `ssh` to your cloud server or any other tools to get into your server and install **Shadowsocks**, you can follow the instruction [here](https://shadowsocks.org/en/download/servers.html). I use the Python version.
-
-
-### Config Shadowsocks
-Config Shadowsocks, I usually write my configuration file in `/etc/shadowsocks/ss.json`. Please **NOTE** that the `server` attribute in most of the case should be your VPS' public IP address. However, AFAIK, for Aliyun and AWS, it will not work if you do so (Error message `socket.error: [Errno 99] Cannot assign requested address` will pop up when you try to run it). The reason is the public IP address is not the "actual" IP when it is used to bind IP and port to the VPS machine, it may refer to other VPS in the local network. Therefore, `0.0.0.0` to listen to all the IP addresses should be used.
-
-
-```json
-{
- "server":"0.0.0.0",
- "server_port":8080,
- "local_port":1080,
- "password":"yourpassword",
- "timeout":600,
- "method":"chacha20"
-}
-```
-
-### Optional
-Install `m2crypto` to make encryption a little bit faster.
-
-```bash
-pip install m2crypto
-```
-
-If you want to use `chacha20` as encryption method, `libsodium` must be installed. Otherwise, you could use `aes-256-cfb`.
-
-```bash
-wget https://github.com/jedisct1/libsodium/releases/download/1.0.16/libsodium-1.0.16.tar.gz
-tar -xf libsodium-1.0.16.tar.gz && cd libsodium-1.0.16
-./configure && make -j2 && make install
-echo /usr/local/lib > /etc/ld.so.conf.d/usr_local_lib.conf
-ldconfig
-```
-
-
-### Run
-Run the server as daemon!
-
-```bash
-ssserver -c /etc/shadowsocks/ss.json -d start
-```
-
-Alternatively, you can run the server at the front for debugging purpose, see all the traffic going through when you connected from the client later.
-
-```bash
-ssserver -c /etc/shadowsocks/ss.json
-```
-
-### Install Client
-Finally, install clients on devices and start using it! You could install clients from [here](https://shadowsocks.org/en/download/clients.html). For macOS, I recommend [Shadowsocks X](https://github.com/yangfeicheung/Shadowsocks-X) with Overseas mode.
-
-I prefer to use Shadowsocks client with PAC rather than using proxy for the overall system.
-
-```js
-var domains = {
- "music.163.com": 1,
- "music.126.net": 1,
- "*.v.163.com": 1,
- "*.music.163.com": 1,
- "*.music.126.net": 1,
-};
-
-var proxy = "__PROXY__";
-
-var direct = 'DIRECT;';
-
-var hasOwnProperty = Object.hasOwnProperty;
-
-function FindProxyForURL(url, host) {
- var suffix;
- var pos = host.lastIndexOf('.');
- pos = host.lastIndexOf('.', pos - 1);
- while(1) {
- if (pos <= 0) {
- if (hasOwnProperty.call(domains, host)) {
- return proxy;
- } else {
- return direct;
- }
- }
- suffix = host.substring(pos + 1);
- if (hasOwnProperty.call(domains, suffix)) {
- return proxy;
- }
- pos = host.lastIndexOf('.', pos - 1);
- }
-}
-```
-
-### Netease Music
-You need to select *Using IE proxy*.
-
-### More Information
-
-It's only the basic setup for Shadowsocks. For advanced topics, check
-
-- https://github.com/shadowsocks/shadowsocks/wiki
-
-- https://shadowsocks.org/en/config/advanced.html
-
-
-
-
-
-
\ No newline at end of file
diff --git a/_posts/2018/2018-04-23-poj-3279.cn.md b/_posts/2018/2018-04-23-poj-3279.cn.md
deleted file mode 100644
index acdd377d..00000000
--- a/_posts/2018/2018-04-23-poj-3279.cn.md
+++ /dev/null
@@ -1,183 +0,0 @@
----
-layout: "post"
-title: "POJ 3279 Fliptile"
-date: "2018-04-23"
-lang: cn
-tags: [POJ]
-redirect_from: "/cn/poj-3279/"
----
-
-
-遥远的那边有\\(M \times N\\) \\((1 \le M, N \le 15)\\)块瓷砖。每块瓷砖都能被翻转,它的两面分别是白色(0)和黑色(1)。
-
-当你翻转一块砖的时候,相邻的四块砖也会被翻转。注意它们的翻转不会带动它们相邻的再继续翻转喔。
-
-现在给你一种布局,输出翻转哪些瓷砖,使得所有瓷砖都变成白色,且翻转数目最小。如果有多种翻转方法但翻转数相同,输出字典序1 最小的。
-
-如果没有解,输出"IMPOSSIBLE"。
-
-链接: http://poj.org/problem?id=3279
-
-![flip_1](/img/post/fliptile_1.svg)
-
-*1 字典序:从左往右读,比较每个字符在字典中出现的先后顺序, 比如说:\\((AA \lt AB \lt BA \lt BB \\))。在今天瓷砖的这个情境下,我们从左往右然后从上往下读*
-
-```
-0 0 0 0 0 0 1 0 0
-0 0 0 < 1 1 1 < 0 0 0
-0 0 0 1 1 1 0 0 0
-```
-
-
-
-
-
-
-
-:warning:再努力想想
-
-
-
-
-
-
-
-### 题解
-
-暴力的时间复杂度有\\(O(2^{MN})\\),是肯定超时的。为什么是\\(O(2^{MN})\\)?每块瓷砖有两种状态——翻或不翻,一共有\\(M \times N\\)块瓷砖。
-
-我们能看到一块瓷砖的颜色只取决于相邻四块瓷砖和自己的翻转状态。
-
-> 5 翻转状态 => 颜色
-
-
-
-如果我们知道了**四**个翻转状态和**一**个颜色,我们能找出最后一个翻转状态吗?显然是可以的。颜色我们肯定希望是白色。但是问题是哪四个呢?肯定不是周围四个,那样和暴力没差。
-
-不如试试用靠上的四个?这样我们就能知道底下的瓷砖该不该翻转了。如果我们在一行上进行这个操作,整行的翻转状态都能知道了。
-
-> 4 翻转状态 + 颜色 => 1 翻转状态
-
-
-
-还可以换个方式想,如果我们知道一个瓷砖上,左,右和它自己的翻转状态,我们就能暂时知道它的颜色。如果是黑色,我们就翻转下面的瓷砖,让它变成白色。
-
-> 4 翻转状态 => 颜色 => 需要翻转?
-
-![flip_2](/img/post/fliptile_2.svg)
-
-
-
-最后两个问题,我们怎么开始呢?如何知道全部翻转完成后是否成功呢?
-
-- 我们可以直接尝试第一行所有的可能性。
-- 在最后我们可以查看最后一行的颜色。如果还有黑色,则失败。
-
-我们还需要维护最小翻转数和那时所有的翻转状态。因为我们从最小字典序开始循环,所以第一个有着最少翻动数的解就是最小字典序的解啦!可以完全不用担心这一块。
-
-
-
-时间复杂度:\\(O(MN2^N)\\)
-
-
-
-### AC 代码
-```cpp
-#include
-#include
-using namespace std;
-
-const int INF = 0x3f3f3f3f;
-const int maxn = 20;
-
-// 只用查询上,左,右和自己
-// 不过反正下面也一直是0
-const int dx[] = {0,-1,0,0};
-const int dy[] = {0,0,1,-1};
-
-int m, n;
-int p[maxn][maxn]; // 输入的布局
-int ans[maxn][maxn]; // 最后的答案
-int cur[maxn][maxn]; // 当前的翻转状态
-int mini;
-int tmp; // 当前的翻转数
-
-/* 查找颜色 */
-int chk(int r, int c) {
- int sum = p[r][c];
- for (int i = 0; i < 4; i++) {
- int x = r+dx[i];
- int y = c+dy[i];
- if (x >= 0 && x < m && y >=0 && y < n) {
- sum += cur[x][y];
- }
- }
-
- // 和sum % 2是一样的
- return sum & 0x1;
-}
-
-void solve() {
- // 从第二行开始循环
- for (int i = 1; i < m; i++) {
- for (int j = 0; j < n; j++) {
- if (chk(i-1, j)) {
- cur[i][j] = 1;
- tmp++;
- }
- }
- }
-
- // 检查最后一行颜色
- for (int i = 0; i < n; i++) {
- if (chk(m-1, i)) {
- return ;
- }
- }
-
- // 是不是最小
- if (tmp < mini) {
- mini = tmp;
- memcpy(ans, cur, sizeof(ans));
- }
-}
-
-int main(void) {
- while (cin >> m >> n) {
- mini = INF;
-
- for (int i = 0; i < m; i++) {
- for (int j = 0; j < n; j++) {
- cin >> p[i][j];
- }
- }
-
- // 遍历第一行的所有可能
- for (int i = 0; i < (1 << n); i++) {
- tmp = 0;
- memset(cur, 0, sizeof(cur));
-
- // 给第一行赋值
- for(int j = 0; j < n; j++) {
- int t = i >> j & 0x1;
- cur[0][n-1-j] = t;
- if (t) tmp++;
- }
-
- solve();
- }
-
- if (mini == INF) {
- cout << "IMPOSSIBLE" << endl;
- } else {
- for (int j = 0; j < m; j++) {
- for (int k = 0; k < n; k++) {
- cout << ans[j][k] << (k == n-1 ? "\n" : " ");
- }
- }
- }
- }
-
- return 0;
-}
-```
\ No newline at end of file
diff --git a/_posts/2018/2018-04-23-poj-3279.md b/_posts/2018/2018-04-23-poj-3279.md
deleted file mode 100644
index 493e99c5..00000000
--- a/_posts/2018/2018-04-23-poj-3279.md
+++ /dev/null
@@ -1,188 +0,0 @@
----
-layout: "post"
-title: "POJ 3279 Fliptile"
-date: "2018-04-23"
-lang: en
-tags: [POJ]
-redirect_from: "/poj-3279/"
----
-
-There are \\(M \times N\\) \\((1 \le M, N \le 15)\\)square tiles. Each tile can be flipped and the color of tile can change between black(1) and white(0).
-
-When you flip a tile, 4 adjacent tiles will also be flipped. Note that the four adjacent flipped tiles will NOT cause their adjacent tiles to flip.
-
-Given a configuration, find the minimum number of flips so that all square tiles become white. If having the minimum number is the same, choose the least lexicographical one1 .
-
-If there is no solution, print "IMPOSSIBLE".
-
-Link: http://poj.org/problem?id=3279
-
-![flip_1](/img/post/fliptile_1.svg)
-
-*1 lexicographical order: When you read from left to right, compare each of character of them, see which one is less in alphabetically order. For example, \\(AA \lt AB \lt BA \lt BB\\). In this case, we read from left to right, up to down*
-
-```
-0 0 0 0 0 0 1 0 0
-0 0 0 < 1 1 1 < 0 0 0
-0 0 0 1 1 1 0 0 0
-```
-
-
-
-
-
-
-
-:warning:THINK HARDER
-
-
-
-
-
-
-
-### Solution
-
-If we try to brute force, with time complexity of \\(O(2^{MN})\\), we would definitely fail. Why \\(O(2^{MN})\\)? Each tile can have two states - flip or not flip, and there are total number \\(M \times N\\) square tiles.
-
-We can see that a square tile';s color is only determined by the flip states of its adjacent tiles and its own flip state.
-
-> 5 flip states => color
-
-
-
-
-If we know **four** flip states and **one** color, can we find out the last flip state? Sure we can! The color must be white. But which four flip state we can counter? Clearly not the four adjacent tiles around since then there is no difference from brute force.
-
-How about the upper four? Then we know the flip state of the lower tile. If we do this for the whole line, then we know the flip state of the whole line.
-
-> 4 flip states + color => 1 flip state
-
-
-
-
-Another way to think about this is that if you know the tile's left, upper, right and its own flip state, you can temporarily find out the color of the tile, if the color is black, then the lower tile must be flipped so that the central tile can be white.
-
-> 4 flip states => color => flip?
-
-
-![flip_2](/img/post/fliptile_2.svg)
-
-
-
-Final two questions, how should we start and check if it success after flips?
-
-- To start, iterate all possibilities \\(2^N\\) of the first row.
-- Check the color of the last row, if there is any black tile, no luck.
-
-We also need to store and maintain the minimum number of flips and the flip states of the optimal answer.
-
-Since we loop from the least lexicographical configurations, first minimum solution is the final answer, so don't worry.
-
-
-
-Time complexity: \\(O(MN2^N)\\)
-
-
-
-
-### AC Code
-```cpp
-#include
-#include
-using namespace std;
-
-const int INF = 0x3f3f3f3f;
-const int maxn = 20;
-
-// Only check its up, left, right and itself
-// No need to check down, 0 anyway
-const int dx[] = {0,-1,0,0};
-const int dy[] = {0,0,1,-1};
-
-int m, n;
-int p[maxn][maxn]; // original
-int ans[maxn][maxn]; // final answer of flip state
-int cur[maxn][maxn]; // current flip state
-int mini;
-int tmp; // store the current number of flips
-
-/* check the color of the tile */
-int chk(int r, int c) {
- int sum = p[r][c];
- for (int i = 0; i < 4; i++) {
- int x = r+dx[i];
- int y = c+dy[i];
- if (x >= 0 && x < m && y >=0 && y < n) {
- sum += cur[x][y];
- }
- }
-
- // same as sum % 2
- return sum & 0x1;
-}
-
-void solve() {
- // start from second row
- for (int i = 1; i < m; i++) {
- for (int j = 0; j < n; j++) {
- if (chk(i-1, j)) {
- cur[i][j] = 1;
- tmp++;
- }
- }
- }
-
- // check if success
- for (int i = 0; i < n; i++) {
- if (chk(m-1, i)) {
- return ;
- }
- }
-
- // check minimum
- if (tmp < mini) {
- mini = tmp;
- memcpy(ans, cur, sizeof(ans));
- }
-}
-
-int main(void) {
- while (cin >> m >> n) {
- mini = INF;
-
- for (int i = 0; i < m; i++) {
- for (int j = 0; j < n; j++) {
- cin >> p[i][j];
- }
- }
-
- // loop all possibilities of first row
- for (int i = 0; i < (1 << n); i++) {
- tmp = 0;
- memset(cur, 0, sizeof(cur));
-
- // assign values to first row
- for(int j = 0; j < n; j++) {
- int t = i >> j & 0x1;
- cur[0][n-1-j] = t;
- if (t) tmp++;
- }
-
- solve();
- }
-
- if (mini == INF) {
- cout << "IMPOSSIBLE" << endl;
- } else {
- for (int j = 0; j < m; j++) {
- for (int k = 0; k < n; k++) {
- cout << ans[j][k] << (k == n-1 ? "\n" : " ");
- }
- }
- }
- }
-
- return 0;
-}
-```
\ No newline at end of file
diff --git a/_posts/2018/2018-05-28-static-linked-list.cn.md b/_posts/2018/2018-05-28-static-linked-list.cn.md
deleted file mode 100644
index 348c8b33..00000000
--- a/_posts/2018/2018-05-28-static-linked-list.cn.md
+++ /dev/null
@@ -1,178 +0,0 @@
----
-layout: "post"
-title: "静态链表(链式前向星)- 表示图的另一种方法"
-date: "2018-05-29"
-lang: cn
-tags: [Graph, Data-Structure]
----
-
-静态链表是一种用数组静态储存的数据结构。它通常用来表示图。它还有个非常有趣的名字叫“链式前向星”。你可以通过以下两种方式来了解它:
-
-- 从[前向星](#前向星)开始.
-
-- 从[领接表](#领接表)开始.
-
-但是我还是建议两种都了解一下啦。如果你知道其中一种或两种的吧,点[这里](#链式前向星)跳过。点一下,玩一年。
-
-在本文中,让`u`表示边从该节点出发,`v`表示边到达该节点。
-
-
-
-
-## 前向星
-
-前向星也叫做领接数组,边集数组。我们先把所有的边按照出发节点排序,到达节点的顺序不重要。接着分别用两个数组,一个存节点的在边数组的下标,一个存改节点的出度(有多少条边从该节点出发)。
-
-### 范例
-
-![example](/img/post/static_linked_list_example.svg)
-
-我们的图包含如下这些边(出,入):
-
-```
-(1, 2)
-(2, 4)
-(3, 4)
-(1, 3)
-(4, 3)
-(3, 2)
-(1, 4)
-```
-
-我们首先以出发节点进行排序然后填入数组:
-
-- `es[]`: 所有的到达节点
-
-- `head[]`: 以`u`为起点的第一条边的位置
-
-- `len[]`: `u`的出度(从该节点出发的边的数量)
-
-```
-(1, 2) --|
-(1, 3) --| => len[1] = 3
-(1, 4) --|
-(2, 4)
-(3, 2) => head[3] = 5
-(3, 4)
-(4, 3)
- ^
- es[]
-```
-
-| Array | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
-| --- | --- | --- | --- | --- | --- | --- | --- |
-| **es** | 2 | 3 | 4 | 4 | 2 | 4 | 3 |
-| **head** | 1 | 4 | 5 | 7 | | | |
-| **len** | 3 | 1 | 2 | 1 | | | |
-
-下面我们来看如何取得所有从节点`1`出发的所有边。我们可以用`head[1] == 1`来找到第一条边在`es[]`中的位置是`1`。然后从`head[1]`到`head[1]+len[1]`遍历`es[]`,得到`es[1+0] == 2`, `es[1+1] == 3`, `es[1+2] == 4`。这样我们就得到了边(1,2), (1,3), (1,4)。
-
-``` cpp
-// 找到所有从u出发的边
-for (int i = 0; i < len[u]; i++) {
- cout << u << " " << es[head[u]+i] << endl;
-}
-```
-
-因为前向星需要进行一次排序操作,时间复杂度提升到了$ O(E \times log(E)) $, 所以前向星并不是非常常用。然而链式前向星避免了排序,就解决了这个问题。
-
-
-
----
-
-
-
-## 领接表
-
-领接表在C++中通常用`vector G[MAXN_V]`来实现。`G[u]`指向一个包含所有从`u`出发的边的vector。
-
-### 范例
-
-![example](/img/post/static_linked_list_example.svg)
-
-最后的结果如下图所示,左边的数组表示`G[]`。当我们读入一条从`u`出发的边,就推入`G[u]`的vector.
-
-![list](/img/post/static_linked_list_list.svg)
-
-``` cpp
-for (int i = 0; i < G[u].size(); i++) {
- cout << u << " " << G[u][i] << endl;
-}
-```
-
-
-
----
-
-
-
-## 链式前向星
-
-链式前向星是[前向星](#前向星)的改进版本,也可以说是[领接表](#领接表)的静态版本。它不用像前向星那样进行排序。它是怎么做到的?不停地戳自己!:)
-
-### 范例
-
-我们和上文使用相同的范例。
-
-![example](/img/post/static_linked_list_example.svg)
-
-有如下边(出发,到达):
-
-```
-(1, 2)
-(2, 4)
-(3, 4)
-(1, 3)
-(4, 3)
-(3, 2)
-(1, 4)
- ^
- es[]
-```
-
-我们开始构造数组:
-
-- `es[]`: 所有的到达节点`v`,出发节点的信息会在`head[]`中储存。
-
-- `head[]`: 以`u`为起点的第一条边的位置。
-
-- `next[]`: 下一条以`u`为起点的边在`es[]`中的位置。用`0`来代表已经是最后一条了。
-
-可以得到
-
-| Array | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
-| --- | --- | --- | --- | --- | --- | --- | --- |
-| **es** | 2 | 4 | 4 | 3 | 3 | 2 | 4 |
-| **head** | 1 | 2 | 3 | 5 | | | |
-| **next** | 4 | 0 | 6 | 7 | 0 | 0 | 0 |
-
-我们需要另一个数组储存每个节点最后一条边的位置来构造`next[]`数组。当然我们也可以反向构造,不断更新`head[]`来储存。
-
-
-下面我们来看如何得到从节点**1**出发的所有边:
-
-1. 用`head[1] == 1`来找到第一条边的位置,设`i = head[1]`,`es[i] == 2`输出了(1, 2)这条边,更新 `i = next[i]`,现在`i == 4`。
-
-2. `es[i] == 3` 输出边(1, 3),更新`i = next[i]`,现在`i == 7`。
-
-3. `es[i] == 4` 输出边(1, 4),更新`i = next[i]`, 现在`i == 0`。
-
-4. 因为`i == 0`,结束。
-
-``` cpp
-for (int i = head[u]; i; i = next[i]) {
- cout << u << " " << es[i] << endl;
-}
-```
-
-发现了吗?链式前向星除了第一次使用`head[]`,其他时候都在`es[]`和`next[]`之间左右横跳来得到下一数据。想法和链表很像,不过用的是数组实现的。
-
-## 比较
-
-前向星$O(E \times log(E))$的复杂度让人望而却步,有时候可能会变得更糟。
-
-领接表易于理解,用C++ STL vector也易于实践。vector动态分配空间所以我们不用知道边的数量。但是,有时候可能会浪费空间因为vector在需要的时候会加倍分配空间。
-
-链式前向星不改变数组的顺序,它只是建立起了边之间的关系。它比使用STL更快而且在理解之后易于实现。
-
-但是,这些数据结构都在寻找一条特定的边的时候不太优秀,在最坏情况下需要遍历到链表结束。
\ No newline at end of file
diff --git a/_posts/2018/2018-05-28-static-linked-list.md b/_posts/2018/2018-05-28-static-linked-list.md
deleted file mode 100644
index 4190f261..00000000
--- a/_posts/2018/2018-05-28-static-linked-list.md
+++ /dev/null
@@ -1,178 +0,0 @@
----
-layout: "post"
-title: "Static Linked List - Another Way To Represent Graphs"
-date: "2018-05-29"
-lang: en
-tags: [Graph, Data-Structure]
----
-
-Static Linked List is a data structure that stores linked list in static arrays. It is usually used to represent graphs. It is very interesting that its Chinese name literally translated as "Linked Forward Star". You have two choices of paths to understand this.
-
-- Start from [Forward Star](#forward-star).
-
-- Start from [Adjacency List](#adjacency-list).
-
-However, I would recommend to explore both ideas to have a better understanding. If you know some of it or you just don't care, you can jump to [here](#static-linked-list) straight away.
-
-
-
-
-## Forward Star
-
-Forward Star is also known as Adjacency Array and . We first store edges in an array and then sorted it. Then we have another two arrays stores the index of each vertex, and out-degree (how many edges are coming from the vertex) respectively.
-
-### Example
-
-![example](/img/post/static_linked_list_example.svg)
-
-We have these edges (from, to) in the example graph:
-
-```
-(1, 2)
-(2, 4)
-(3, 4)
-(1, 3)
-(4, 3)
-(3, 2)
-(1, 4)
-```
-
-Let `u` be the vertex where the edge is coming from and `v` be the vertex the edge is going to:
-
-We sort it first base on `u`, the order of `v` does not matter and we fill arrays
-
-- `es[]`: the second vertex in each pair - `v`.
-
-- `head[]`: the index of the first occurrence of `u` (first vertex in the pair)
-
-- `len[]`: how many edges are going out from this vertex
-
-```
-(1, 2) --|
-(1, 3) --| => len[1] = 3
-(1, 4) --|
-(2, 4)
-(3, 2) => head[3] = 5
-(3, 4)
-(4, 3)
- ^
- es[]
-```
-
-| Array | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
-| --- | --- | --- | --- | --- | --- | --- | --- |
-| **es** | 2 | 3 | 4 | 4 | 2 | 4 | 3 |
-| **head** | 1 | 4 | 5 | 7 | | | |
-| **len** | 3 | 1 | 2 | 1 | | | |
-
-Therefore, we can easily get all edges coming from vertex `1` by first identifying that its index in `es[]` is `1` using `head[1] == 1`, and then iterate `es[]` from `head[1]` to `head[1]+len[1]` (exclusive). That is `es[1+0] == 2`, `es[1+1] == 3`, `es[1+2] == 4` which means the edges (1,2), (1,3), (1,4).
-
-``` cpp
-// to find all edges from vertex u
-for (int i = 0; i < len[u]; i++) {
- cout << u << " " << es[head[u]+i] << endl;
-}
-```
-
-Forward Star is not frequently used because of its sorting operation which takes $ O(E \times log(E)) $ in time complexity. Therefore we have Linked Forward Star to avoid sorting.
-
-
-
----
-
-
-
-## Adjacency List
-
-Adjacency List is usually implemented by `vector G[MAXN_V]`. `G[u]` points to a vector that stores all edges from `u`.
-
-### Example
-
-![example](/img/post/static_linked_list_example.svg)
-
-The result is like the figure shown below, the array at the left represents each `G[]` respectively. Every time we read a edge from `u`, we push it back to the vector `G[u]` points to.
-
-![list](/img/post/static_linked_list_list.svg)
-
-``` cpp
-for (int i = 0; i < G[u].size(); i++) {
- cout << u << " " << G[u][i] << endl;
-}
-```
-
-
-
----
-
-
-
-## Static Linked List
-
-Static Linked List is an improved version of [Forward Star](#forward-star) and the static version of [Adjacency List](#adjacency-list). It avoids sorting the edge array. How? Keep linking to itself!
-
-### Example
-
-We use the same example as above.
-
-![example](/img/post/static_linked_list_example.svg)
-
-With edges (from, to):
-
-```
-(1, 2)
-(2, 4)
-(3, 4)
-(1, 3)
-(4, 3)
-(3, 2)
-(1, 4)
- ^
- es[]
-```
-
-We construct arrays, let `u` be the vertex where the edge is coming from and `v` be the vertex the edge is going to:
-
-- `es[]`: stores `v`s, containing the second vertices from each pair. The information about `u` is stored in `head[]`.
-
-- `head[]`: the index of first occurrence of the `u`, or in other words, the first element of the list.
-
-- `next[]`: the index of the next edge that coming from the same `u`, use `0` to represent that it is the end of the list.
-
-During constructing `next[]`, we need another array to keep track of the position of the last element in each list. Or we can update the `head[]` constantly and store in reverse order.
-
-So we have
-
-| Array | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
-| --- | --- | --- | --- | --- | --- | --- | --- |
-| **es** | 2 | 4 | 4 | 3 | 3 | 2 | 4 |
-| **head** | 1 | 2 | 3 | 5 | | | |
-| **next** | 4 | 0 | 6 | 7 | 0 | 0 | 0 |
-
-
-Let's walking through finding all edges coming from vertex **1**.
-
-1. use `head[1] == 1` and let `i = head[1]` to find the index of first edge, `es[i] == 2` yields the edge (1, 2), update `i = next[i]`, now `i == 4`.
-
-2. `es[i] == 3` yields the edge (1, 3), update `i = next[i]`, now `i == 7`.
-
-3. `es[i] == 4` yields the edge (1, 4), update `i = next[i]`, now `i == 0`.
-
-4. since `i == 0`, terminate.
-
-``` cpp
-for (int i = head[u]; i; i = next[i]) {
- cout << u << " " << es[i] << endl;
-}
-```
-
-It keeps linking back to itself and bounce between `es[]` and `next[]`, except the first time which uses `head[]`.
-
-## Comparison
-
-The time complexity of Forward Star is $O(E \times log(E))$, so if you solve problem use this it may become worse.
-
-Adjacency List is easy to understand and implement using C++ STL vector. It allocates spaces dynamically, so it does not need to know the number of edges. However, please note that since it allocates twice of the memory as needed, it sometimes wastes some of the space.
-
-Static Linked List does not change the order of the edges. It only build up relationships by using arrays. It is faster than STL. It is easy to implement once you master it.
-
-However, these data structures are not good at finding particular edges from a given vertex, the worst case is to iterate to the end of the list.
diff --git a/_posts/2018/2018-07-04-cldictp.cn.md b/_posts/2018/2018-07-04-cldictp.cn.md
deleted file mode 100644
index 80be9e65..00000000
--- a/_posts/2018/2018-07-04-cldictp.cn.md
+++ /dev/null
@@ -1,60 +0,0 @@
----
-layout: "post"
-title: "CLDictP: 命令行英文词典工具"
-date: "2018-07-04"
-lang: cn
-tags:
- [Project]
----
-
-CLDictP是一个用Perl,韦氏词典API写的命令行英文词典工具。
-
-这是我第一个用Perl写的小项目。每次想用[Quizlet](https://quizlet.com/)做Flashcard(抽认卡?)来记单词的时候,因为想有的地方要加粗之类的,手动很麻烦。而且查单词的时候打开在线词典,太懒了,就想着写一个小工具吧。
-
-它使用了如下韦氏词典API:
-
-- 韦氏学习词典
-
-- 韦氏大学词典
-
-每个词条包括:
-
-- 音标
-- 词性
-- 语法
-- 释义
-- 常用用法
-- 例句
-
-所有搜索过的单词存在一个集合里,保存在`searched.txt`里。
-
-新的搜索结果会使用特定格式被保存在`quizlet.txt`里:
-
-- 单词和定义之间:`$`
-- 卡片与卡片之间:`---`
-
-## 用法
-
-1. 获得API密匙:[DictionaryAPI](https://www.dictionaryapi.com/)
-2. 在`api_template.json`中加入获得的密匙,更改文件名为`api.json`
-3. 安装依赖模块:
-
- ``` bash
- $ cpan Term::ANSIColor Term::ReadKey LWP::UserAgent LWP::Protocol::https Readonly XML::LibXML JSON::XS Data::Dumper Set::Light
- ```
-
-4. 运行脚本:
-
- ``` bash
- $ perl dict.pl
- ```
-
-5. 使用`Ctrl+D`退出
-
-## 演示
-
-![demo_gif](/img/post/CLDictP_demo.gif)
-
-## 源码
-
-源码在[Github](https://github.com/PwzXxm/CLDictP)
\ No newline at end of file
diff --git a/_posts/2018/2018-07-04-cldictp.md b/_posts/2018/2018-07-04-cldictp.md
deleted file mode 100644
index 0acc3373..00000000
--- a/_posts/2018/2018-07-04-cldictp.md
+++ /dev/null
@@ -1,68 +0,0 @@
----
-layout: "post"
-title: "CLDictP: A Command-Line Dictionary Tool"
-date: "2018-07-04"
-lang: en
-tags:
- [Project]
----
-
-A command line dictionary written in Perl using Merriam-Webster APIs.
-
-This is my first project using Perl. I feel it is tedious to type formatted definitions to [Quizlet](https://quizlet.com/)(A website which can make flashcards for you) and I'm too lazy to open browser and online dictionary pages. Why not combining these two?
-
-It uses following APIs:
-
-- Merriam-Webster Learner
-
-- Merriam-Webster Collegiate
-
-For each entry, it contains:
-
-- Pronunciation: IPA(International Phonetic Alphabet)
-
-- Part of Speech
-
-- Grammar
-
-- Definition
-
-- Common Usage
-
-- Examples
-
-All searched words are saved in a set and saved to `searched.txt`.
-
-It also save searched words and definitions into the file `quizlet.txt` so that they can be imported into [Quizlet](https://quizlet.com/) which makes flashcards. The format is:
-
-- between term and definition: `$`
-
-- between cards: `---`
-
-## Usage
-
-1. Get API Keys: [DictionaryAPI](https://www.dictionaryapi.com/).
-
-2. Add API Keys to `api_template.json` and change the file name to `api.json`.
-
-3. Install dependencies with
-
- ``` bash
- $ cpan Term::ANSIColor Term::ReadKey LWP::UserAgent LWP::Protocol::https Readonly XML::LibXML JSON::XS Data::Dumper Set::Light
- ```
-
-4. Run the script with
-
- ``` bash
- $ perl dict.pl
- ```
-
-5. To exit, use Ctrl+D.
-
-## Demo
-
-![demo_gif](/img/post/CLDictP_demo.gif)
-
-## Source Files
-
-The source files are hosted on [Github](https://github.com/PwzXxm/CLDictP).
\ No newline at end of file
diff --git a/_posts/2019/2019-09-19-lc-week-1.cn.md b/_posts/2019/2019-09-19-lc-week-1.cn.md
deleted file mode 100644
index 22923d71..00000000
--- a/_posts/2019/2019-09-19-lc-week-1.cn.md
+++ /dev/null
@@ -1,292 +0,0 @@
----
-layout: "post"
-title: "力扣挑战第一周 - 周赛 155 + 其他题目"
-date: "2019-09-19"
-lang: cn
-tags:
- [LeetCode]
-redirect_from: "/cn/2019/lc-8/"
----
-
-这是力扣第一周挑战,包括周赛 155 和其他一些题目。
-
-
-
-**Contents**
-
-- [Weekly Contest 155](#weekly-contest-155)
- - [Minimum Absolute Difference](#1200-minimum-absolute-difference)
- - [Ugly Number III](#1201-ugly-number-iii)
- - [Smallest String With Swaps](#1202-smallest-string-with-swaps)
- - [Sort Items by Groups Respecting Dependencies](#1203-sort-items-by-groups-respecting-dependencies)
-- [String to Integer(atoi)](#string-to-integer)
-
-
-
-
-
-## [Weekly Contest 155](https://leetcode.com/contest/weekly-contest-155)
-
-### [1200. Minimum Absolute Difference](https://leetcode.com/contest/weekly-contest-155/problems/minimum-absolute-difference/)
-暴力。先遍历找到最小绝对差,接着再遍历一遍输出差值是该值的整数对。
-
-``` cpp
-class Solution {
-public:
- vector> minimumAbsDifference(vector& arr) {
- vector> ans;
- if (arr.size() == 1) return ans;
- sort(arr.begin(), arr.end());
-
- int mini = 0x3f3f3f3f;
- for (int i = 1; i < arr.size(); ++i) {
- mini = min(mini, abs(arr[i] - arr[i-1]));
- }
-
- for (int i = 1; i < arr.size(); ++i) {
- if (abs(arr[i]- arr[i-1]) == mini) {
- if (arr[i] < arr[i-1]) {
- ans.push_back({arr[i], arr[i-1]});
- } else {
- ans.push_back({arr[i-1], arr[i]});
- }
- }
- }
- return ans;
- }
-};
-```
-
-
-
-### [1201. Ugly Number III](https://leetcode.com/contest/weekly-contest-155/problems/ugly-number-iii/)
-二分 + 容斥。能被`A`或`B`整除的数的个数等于能被`A`整除的数的个数加上能被`B`整除的数的个数,减去能被`A`,`B`同时整除的数的个数。相同的理论也可以用于三个数。
-
-这题`n`的范围是 $[1, 2*10^9]$,二分的时间复杂度为 $\log_2(2*10^9)$,所以是可行的。
-
-``` cpp
-typedef long long LL;
-class Solution {
- LL gcd(LL x, LL y) {
- return (y == 0 ? x : gcd(y, x % y));
- }
-
- LL lcm(LL x, LL y) {
- return x / gcd(x, y) * y;
- }
-public:
- LL nthUglyNumber(LL n, LL a, LL b, LL c) {
- LL l = 1, r = 2e9, mid, cnt;
- LL lcm_ab = lcm(a, b);
- LL lcm_ac = lcm(a, c);
- LL lcm_bc = lcm(b, c);
- LL lcm_abc = lcm(lcm_ab, c);
- while (l < r) {
- mid = (l+r)/2;
- cnt = mid/a + mid/b + mid/c - mid/lcm_ab - mid/lcm_ac - mid/lcm_bc + mid/lcm_abc;
- if (cnt < n) {
- l = mid+1;
- } else {
- r = mid;
- }
- }
-
- return l;
- }
-};
-```
-
-
-
-### [1202. Smallest String With Swaps](https://leetcode.com/contest/weekly-contest-155/problems/smallest-string-with-swaps/)
-并查集。我们可以看出如果在`(1,2)`,`(2,5)`上的元素分别可以被交换,那它们三个元素可以被任意交换,组成任意排列。
-
-所以我们可以先把能互相交换的元素用并查集捆绑起来,最后构造答案时优先选用各个组里字典序最小的。
-
-``` cpp
-class Solution {
- const static int MAXN = 1e5+5;
- int par[MAXN];
- int rk[MAXN];
- int find(int x) {
- return (par[x] == x ? x : par[x] = find(par[x]));
- }
-
- void unite(int x, int y) {
- x = find(x); y = find(y);
- if (x == y) return ;
- if (rk[x] < rk[y]) {
- par[x] = y;
- } else {
- par[y] = x;
- if (rk[x] == rk[y]) rk[x]++;
- }
- }
-
-public:
- string smallestStringWithSwaps(string s, vector>& pairs) {
- int n = s.size();
- for (int i = 0; i < n; ++i) {
- par[i] = i;
- rk[i] = 0;
- }
-
- for (int i = 0; i < pairs.size(); ++i) {
- unite(pairs[i][0], pairs[i][1]);
- }
-
- string ans;
-
- unordered_map m;
- for (int i = 0; i < n; ++i) {
- m[find(i)].push_back(s[i]);
- }
-
- for (auto &x : m) {
- sort(x.second.begin(), x.second.end());
- }
-
- for (int i = 0; i < n; ++i) {
- ans += m[find(i)][0];
- m[find(i)].erase(0, 1);
- }
-
- return ans;
- }
-};
-```
-
-
-
-## [1203. Sort Items by Groups Respecting Dependencies](https://leetcode.com/contest/weekly-contest-155/problems/sort-items-by-groups-respecting-dependencies/)
-
-拓扑排序两次。
-
-首先,我们给那些单独成一组的元素进行编号(原先为`-1`)。
-
-然后我们对于各个组进行拓扑排序。我们只关心组之间的边,忽略组内的边。
-
-最后再循环各个组,对每个组进行一次拓扑排序,输出结果。
-
-``` cpp
-class Solution {
-public:
- vector sortItems(int n, int m, vector& group, vector>& beforeItems) {
- // independent element belongs to its own group
- for (int i = 0; i < group.size(); ++i) {
- if (group[i] < 0) group[i] = m++;
- }
-
- vector > group_edge(m), within_group_edge(n);
- vector group_deg(m), within_group_deg(n);
-
- for (int i = 0; i < n; ++i) {
- for (const auto& y : beforeItems[i]) {
- if (group[i] == group[y]) {
- within_group_edge[y].push_back(i);
- within_group_deg[i]++;
- } else {
- group_edge[group[y]].push_back(group[i]);
- group_deg[group[i]]++;
- }
- }
- }
-
- // topo sort groups
- vector topo;
- queue q;
- for (int i = 0; i < m; ++i) {
- if (group_deg[i] == 0) q.push(i);
- }
-
- while (!q.empty()) {
- int u = q.front(); q.pop();
- for (const auto& v : group_edge[u]) {
- group_deg[v]--;
- if (group_deg[v] == 0) {
- q.push(v);
- }
- }
- topo.push_back(u);
- }
-
- if (topo.size() != m) return {};
-
- // topo sort within each group
- vector ans;
- vector > group_member(m);
-
- for (int i = 0; i < n; ++i) {
- group_member[group[i]].push_back(i);
- }
-
- for (const auto& g : topo) {
- queue q2;
- vector topo2;
-
- for (const auto& x : group_member[g]) {
- if (within_group_deg[x] == 0) q2.push(x);
- }
-
- while (!q2.empty()) {
- int u = q2.front(); q2.pop();
- for (const auto& v : within_group_edge[u]) {
- within_group_deg[v]--;
- if (within_group_deg[v] == 0) {
- q2.push(v);
- }
- }
- topo2.push_back(u);
- }
-
- if (topo2.size() != group_member[g].size()) return {};
- for (const auto& x : topo2) {
- ans.push_back(x);
- }
- }
- return ans;
- }
-};
-```
-
-
-
-------
-
-## [LeetCode 8 - String to Integer (atoi)](https://leetcode.com/problems/string-to-integer-atoi/)
-
-这题有点奇怪。像`+-123`这样的数据没有在题目解释中说明。
-
-需要注意的是检查溢出的条件。注意`int`的最后一位是`7`。
-
-### Solution
-``` cpp
-class Solution {
-public:
- int myAtoi(string str) {
- int sign = 1;
- int ans = 0;
- int i = 0;
-
- while (isspace(str[i])) ++i;
- if (str[i] == '+' || str[i] == '-') {
- sign = (str[i++] == '+' ? 1 : -1);
- }
- for (; i < str.size(); ++i) {
- if (str[i] >= '0' && str[i] <= '9') {
- if (ans > INT_MAX/10 || (ans == INT_MAX/10 && str[i] > '7')) {
- return (sign==1 ? INT_MAX : INT_MIN);
- }
-
- ans *= 10;
- ans += (str[i]-'0');
- } else {
- break;
- }
- }
- return sign*ans;
- }
-};
-```
-
-
\ No newline at end of file
diff --git a/_posts/2019/2019-09-19-lc-week-1.md b/_posts/2019/2019-09-19-lc-week-1.md
deleted file mode 100644
index 42b02b24..00000000
--- a/_posts/2019/2019-09-19-lc-week-1.md
+++ /dev/null
@@ -1,291 +0,0 @@
----
-layout: "post"
-title: "LeetCode Challenge Week 1 - Weekly Contest 155 and others"
-date: "2019-09-19"
-lang: en
-tags:
- [LeetCode]
-redirect_from: "/2019/lc-8/"
----
-
-This is the first week of LeetCode Challenges. It includes weekly contest 155 and other problems.
-
-
-
-**Contents**
-
-- [Weekly Contest 155](#weekly-contest-155)
- - [Minimum Absolute Difference](#1200-minimum-absolute-difference)
- - [Ugly Number III](#1201-ugly-number-iii)
- - [Smallest String With Swaps](#1202-smallest-string-with-swaps)
- - [Sort Items by Groups Respecting Dependencies](#1203-sort-items-by-groups-respecting-dependencies)
-- [String to Integer(atoi)](#string-to-integer)
-
-
-
-
-## [Weekly Contest 155](https://leetcode.com/contest/weekly-contest-155)
-
-### [1200. Minimum Absolute Difference](https://leetcode.com/contest/weekly-contest-155/problems/minimum-absolute-difference/)
-Brute force. Find the minimum absolute difference and then iterate the list again to output the pairs with minimum absolute difference.
-
-``` cpp
-class Solution {
-public:
- vector> minimumAbsDifference(vector& arr) {
- vector> ans;
- if (arr.size() == 1) return ans;
- sort(arr.begin(), arr.end());
-
- int mini = 0x3f3f3f3f;
- for (int i = 1; i < arr.size(); ++i) {
- mini = min(mini, abs(arr[i] - arr[i-1]));
- }
-
- for (int i = 1; i < arr.size(); ++i) {
- if (abs(arr[i]- arr[i-1]) == mini) {
- if (arr[i] < arr[i-1]) {
- ans.push_back({arr[i], arr[i-1]});
- } else {
- ans.push_back({arr[i-1], arr[i]});
- }
- }
- }
- return ans;
- }
-};
-```
-
-
-
-### [1201. Ugly Number III](https://leetcode.com/contest/weekly-contest-155/problems/ugly-number-iii/)
-Binary search + inclusion/exclusion principle. The number of integers that is divisible by `A` and `B` is equal to the number of integers divisible by `A` plus the number of integers divisible by `b` and minus the number of integers divisible by both `A` and `B`. The theory can be applied to the case when it is divisible by three numbers.
-
-Also, the range of `n` is $[1, 2*10^9]$, the time complexity of binary search is $\log_2(2*10^9)$, which is totally feasible.
-
-``` cpp
-typedef long long LL;
-class Solution {
- LL gcd(LL x, LL y) {
- return (y == 0 ? x : gcd(y, x % y));
- }
-
- LL lcm(LL x, LL y) {
- return x / gcd(x, y) * y;
- }
-public:
- LL nthUglyNumber(LL n, LL a, LL b, LL c) {
- LL l = 1, r = 2e9, mid, cnt;
- LL lcm_ab = lcm(a, b);
- LL lcm_ac = lcm(a, c);
- LL lcm_bc = lcm(b, c);
- LL lcm_abc = lcm(lcm_ab, c);
- while (l < r) {
- mid = (l+r)/2;
- cnt = mid/a + mid/b + mid/c - mid/lcm_ab - mid/lcm_ac - mid/lcm_bc + mid/lcm_abc;
- if (cnt < n) {
- l = mid+1;
- } else {
- r = mid;
- }
- }
-
- return l;
- }
-};
-```
-
-
-
-### [1202. Smallest String With Swaps](https://leetcode.com/contest/weekly-contest-155/problems/smallest-string-with-swaps/)
-Union find. We can find that if it is swappable for the letters at index `(1,2)` and `(2,5)`, the letters at `1, 2, 5` can be in arbitrary order.
-
-Having said that, we can use union find to group them together, then append the character with the smallest lexicographical order in each group.
-
-``` cpp
-class Solution {
- const static int MAXN = 1e5+5;
- int par[MAXN];
- int rk[MAXN];
- int find(int x) {
- return (par[x] == x ? x : par[x] = find(par[x]));
- }
-
- void unite(int x, int y) {
- x = find(x); y = find(y);
- if (x == y) return ;
- if (rk[x] < rk[y]) {
- par[x] = y;
- } else {
- par[y] = x;
- if (rk[x] == rk[y]) rk[x]++;
- }
- }
-
-public:
- string smallestStringWithSwaps(string s, vector>& pairs) {
- int n = s.size();
- for (int i = 0; i < n; ++i) {
- par[i] = i;
- rk[i] = 0;
- }
-
- for (int i = 0; i < pairs.size(); ++i) {
- unite(pairs[i][0], pairs[i][1]);
- }
-
- string ans;
-
- unordered_map m;
- for (int i = 0; i < n; ++i) {
- m[find(i)].push_back(s[i]);
- }
-
- for (auto &x : m) {
- sort(x.second.begin(), x.second.end());
- }
-
- for (int i = 0; i < n; ++i) {
- ans += m[find(i)][0];
- m[find(i)].erase(0, 1);
- }
-
- return ans;
- }
-};
-```
-
-
-
-## [1203. Sort Items by Groups Respecting Dependencies](https://leetcode.com/contest/weekly-contest-155/problems/sort-items-by-groups-respecting-dependencies/)
-
-Topological sort twice.
-
-Firstly, we give distinct group numbers to items that do not belong to any of the group, instead of using `-1`.
-
-Then we perform topological sort on the groups only.
-We only care about the edges among groups and ignore edges within each group.
-
-After that, we iterate over each group and perform topological sort within each group.
-
-``` cpp
-class Solution {
-public:
- vector sortItems(int n, int m, vector& group, vector>& beforeItems) {
- // independent element belongs to its own group
- for (int i = 0; i < group.size(); ++i) {
- if (group[i] < 0) group[i] = m++;
- }
-
- vector > group_edge(m), within_group_edge(n);
- vector group_deg(m), within_group_deg(n);
-
- for (int i = 0; i < n; ++i) {
- for (const auto& y : beforeItems[i]) {
- if (group[i] == group[y]) {
- within_group_edge[y].push_back(i);
- within_group_deg[i]++;
- } else {
- group_edge[group[y]].push_back(group[i]);
- group_deg[group[i]]++;
- }
- }
- }
-
- // topo sort groups
- vector topo;
- queue q;
- for (int i = 0; i < m; ++i) {
- if (group_deg[i] == 0) q.push(i);
- }
-
- while (!q.empty()) {
- int u = q.front(); q.pop();
- for (const auto& v : group_edge[u]) {
- group_deg[v]--;
- if (group_deg[v] == 0) {
- q.push(v);
- }
- }
- topo.push_back(u);
- }
-
- if (topo.size() != m) return {};
-
- // topo sort within each group
- vector ans;
- vector > group_member(m);
-
- for (int i = 0; i < n; ++i) {
- group_member[group[i]].push_back(i);
- }
-
- for (const auto& g : topo) {
- queue q2;
- vector topo2;
-
- for (const auto& x : group_member[g]) {
- if (within_group_deg[x] == 0) q2.push(x);
- }
-
- while (!q2.empty()) {
- int u = q2.front(); q2.pop();
- for (const auto& v : within_group_edge[u]) {
- within_group_deg[v]--;
- if (within_group_deg[v] == 0) {
- q2.push(v);
- }
- }
- topo2.push_back(u);
- }
-
- if (topo2.size() != group_member[g].size()) return {};
- for (const auto& x : topo2) {
- ans.push_back(x);
- }
- }
- return ans;
- }
-};
-```
-
-------
-
-## [LeetCode 8 - String to Integer (atoi)](https://leetcode.com/problems/string-to-integer-atoi/)
-
-This question is a bit odd.
-Test cases like `+-123` are not explicitly stated in the description of the problem.
-
-The tricky part is to check the condition of overflow. Note that the last digits of `INT_MAX` is `7`, don't forget to check.
-
-### Solution
-``` cpp
-class Solution {
-public:
- int myAtoi(string str) {
- int sign = 1;
- int ans = 0;
- int i = 0;
-
- while (isspace(str[i])) ++i;
- if (str[i] == '+' || str[i] == '-') {
- sign = (str[i++] == '+' ? 1 : -1);
- }
- for (; i < str.size(); ++i) {
- if (str[i] >= '0' && str[i] <= '9') {
- if (ans > INT_MAX/10 || (ans == INT_MAX/10 && str[i] > '7')) {
- return (sign==1 ? INT_MAX : INT_MIN);
- }
-
- ans *= 10;
- ans += (str[i]-'0');
- } else {
- break;
- }
- }
- return sign*ans;
- }
-};
-```
-
-
\ No newline at end of file
diff --git a/_posts/2019/2019-10-02-lc-week-2.cn.md b/_posts/2019/2019-10-02-lc-week-2.cn.md
deleted file mode 100644
index 5767845d..00000000
--- a/_posts/2019/2019-10-02-lc-week-2.cn.md
+++ /dev/null
@@ -1,212 +0,0 @@
----
-layout: "post"
-title: "力扣挑战第二周 - 周赛 156 + 其他题目"
-date: "2019-10-02"
-lang: cn
-tags:
- [LeetCode]
----
-
-力扣挑战第二周。因为有事,所以参加了模拟比赛。
-
-
-
-**Contents**
-
-- [Weekly Contest 156](#weekly-contest-156)
- - [1207. Unique Number of Occurrences](#1207-unique-number-of-occurrences)
- - [1208. Get Equal Substrings Within Budget](#1208-get-equal-substrings-within-budget)
- - [1209. Remove All Adjacent Duplicates in String II](#1209-remove-all-adjacent-duplicates-in-string-ii)
- - [1210. Minimum Moves to Reach Target with Rotations](#1210-minimum-moves-to-reach-target-with-rotations)
-
-
-
-## Weekly Contest 156
-
-### [1207. Unique Number of Occurrences](https://leetcode.com/contest/weekly-contest-156/problems/unique-number-of-occurrences/)
-
-暴力。记下每个数出现的次数,遍历次数看有没有相同的。
-
-```cpp
-class Solution {
-public:
- bool uniqueOccurrences(vector& arr) {
- unordered_map occ;
- unordered_map flag;
-
- for (int i = 0; i < arr.size(); ++i) {
- occ[arr[i]]++;
- }
-
- for (const auto x : occ) {
- if (flag.find(x.second) != flag.end()) {
- if (flag[x.second]) return false;
- } else {
- flag[x.second] = true;
- }
- }
-
- return true;
- }
-};
-```
-
-### [1208. Get Equal Substrings Within Budget](https://leetcode.com/contest/weekly-contest-156/problems/get-equal-substrings-within-budget/)
-
-两个指针分别记录当前子字符串的起点和终点。可以这样想:在一开始,我们看更换下一个字符的操作花费是否大于`maxCost`,如果小于或等于,终点指针就向后移一位。重复这个操作直到操作失败。
-然后如果我们想再加入下一个字符,因为我们的`total_cost`已经“满了”,就必须从开头省出一个操作的花费:减去更换开头字符的操作并往右移动一位起点指针。
-
-```cpp
-class Solution {
-public:
- int equalSubstring(string s, string t, int maxCost) {
- int maxi = -1;
- int total_cost = 0;
- int l = 0, r = 0;
- while (r < t.size()) {
- int c = abs(s[r]-t[r]);
- while ((total_cost + c) <= maxCost) {
- total_cost += c;
- r++;
-
- if (r >= s.size()) break;
- c = abs(s[r]-t[r]);
- }
-
- maxi = max(maxi, r-l);
-
- total_cost -= abs(s[l] - t[l]);
- l++;
- }
-
- return maxi;
- }
-};
-```
-
-### [1209. Remove All Adjacent Duplicates in String II](https://leetcode.com/contest/weekly-contest-156/problems/remove-all-adjacent-duplicates-in-string-ii/)
-
-栈。每次我们碰到一个新的字符,就往栈顶加入这个字符和一个初始为`1`的计数器。如果下一个字符和栈顶的字符相同,就增加计数器的计数。当计数和`k`相同时,把该字符从栈中扔掉。
-
-```cpp
-class Solution {
-public:
- string removeDuplicates(string s, int k) {
- int s_size = s.size();
- if (s_size <= 1) return s;
-
- string ans;
- stack > stk;
- stk.push({s[0], 1});
-
- for (int i = 1; i < s_size; i++) {
- if (!stk.empty() && stk.top().first == s[i]) {
- stk.top().second++;
-
- if (stk.top().second == k) {
- stk.pop();
- }
- } else {
- stk.push({s[i], 1});
- }
- }
-
- while (!stk.empty()) {
- pair p = stk.top(); stk.pop();
- ans += string(p.second, p.first);
- }
-
- reverse(ans.begin(), ans.end());
-
- return ans;
- }
-};
-```
-
-### [1210. Minimum Moves to Reach Target with Rotations](https://leetcode.com/contest/weekly-contest-156/problems/minimum-moves-to-reach-target-with-rotations/)
-
-广度遍历搜索。这题不难只要把实现写对了就行。
-
-{% raw %}
-
-```cpp
-class Solution {
- typedef pair block_t;
- typedef pair block2_t;
- typedef pair state_t; // step
-
- public:
- int minimumMoves(vector>& grid) {
- int N = grid.size();
- queue q;
- q.push({{{0, 0}, {0, 1}}, 0});
-
- set visited;
- visited.insert({{0, 0}, {0, 1}});
- pair::iterator, bool> rst;
-
- while (!q.empty()) {
- state_t s = q.front(); q.pop();
- block_t a = s.first.first;
- block_t b = s.first.second;
- int step = s.second;
-
-
- if (a.first == b.first) {
- // horizontal
- if (a.first == N-1 && a.second == N-2 && b.first == N-1 && b.second == N-1) {
- return step;
- }
-
- if (b.second+1 < N && grid[b.first][b.second+1] == 0){
- // right
- rst = visited.insert({{b.first, b.second}, {b.first, b.second+1}});
- if (rst.second) {
- q.push({{{b.first, b.second}, {b.first, b.second+1}}, step+1});
- }
- }
-
- if (a.first+1 < N && grid[a.first+1][a.second] == 0 && grid[b.first+1][b.second] == 0) {
- // down
- rst = visited.insert({{a.first+1, a.second}, {b.first+1, b.second}});
- if (rst.second) {
- q.push({{{a.first+1, a.second}, {b.first+1, b.second}}, step+1});
- }
-
- // clockwise
- rst = visited.insert({{a.first, a.second}, {a.first+1, a.second}});
- if (rst.second) {
- q.push({{{a.first, a.second}, {a.first+1, a.second}}, step+1});
- }
- }
- } else {
- // vertical
- if (b.first+1 < N && grid[b.first+1][b.second] == 0){
- // down
- rst = visited.insert({{b.first, b.second}, {b.first+1, b.second}});
- if (rst.second) {
- q.push({{{b.first, b.second}, {b.first+1, b.second}}, step+1});
- }
- }
-
- if (a.second+1 < N && grid[a.first][a.second+1] == 0 && grid[b.first][b.second+1] == 0) {
- // right
- rst = visited.insert({{a.first, a.second+1}, {b.first, b.second+1}});
- if (rst.second) {
- q.push({{{a.first, a.second+1}, {b.first, b.second+1}}, step+1});
- }
-
- // anti-clockwise
- rst = visited.insert({{a.first, a.second}, {a.first, a.second+1}});
- if (rst.second) {
- q.push({{{a.first, a.second}, {a.first, a.second+1}}, step+1});
- }
- }
- }
- }
-
- return -1;
- }
-};
-```
-{% endraw %}
\ No newline at end of file
diff --git a/_posts/2019/2019-10-02-lc-week-2.md b/_posts/2019/2019-10-02-lc-week-2.md
deleted file mode 100644
index 869217b5..00000000
--- a/_posts/2019/2019-10-02-lc-week-2.md
+++ /dev/null
@@ -1,213 +0,0 @@
----
-layout: "post"
-title: "LeetCode Challenge Week 2 - Weekly Contest 156 and others"
-date: "2019-10-02"
-lang: en
-tags:
- [LeetCode]
----
-
-Second week of LeetCode Challenge. Participated the virtual contest.
-
-
-
-**Contents**
-
-- [Weekly Contest 156](#weekly-contest-156)
- - [1207. Unique Number of Occurrences](#1207-unique-number-of-occurrences)
- - [1208. Get Equal Substrings Within Budget](#1208-get-equal-substrings-within-budget)
- - [1209. Remove All Adjacent Duplicates in String II](#1209-remove-all-adjacent-duplicates-in-string-ii)
- - [1210. Minimum Moves to Reach Target with Rotations](#1210-minimum-moves-to-reach-target-with-rotations)
-
-
-
-## Weekly Contest 156
-
-### [1207. Unique Number of Occurrences](https://leetcode.com/contest/weekly-contest-156/problems/unique-number-of-occurrences/)
-
-Brute force. Record total occurrence of each number and iterate over it to see if there is any duplication.
-
-```cpp
-class Solution {
-public:
- bool uniqueOccurrences(vector& arr) {
- unordered_map occ;
- unordered_map flag;
-
- for (int i = 0; i < arr.size(); ++i) {
- occ[arr[i]]++;
- }
-
- for (const auto x : occ) {
- if (flag.find(x.second) != flag.end()) {
- if (flag[x.second]) return false;
- } else {
- flag[x.second] = true;
- }
- }
-
- return true;
- }
-};
-```
-
-### [1208. Get Equal Substrings Within Budget](https://leetcode.com/contest/weekly-contest-156/problems/get-equal-substrings-within-budget/)
-
-Two pointers. Let's think it in this way: at the starting position, if we can go to the next character in the string and does not exceed the maximum cost, do so and keep doing it until we can't.
-Then in order to extend the length of sub-string, we must "release" the cost of changing one character at the beginning of the sub-string, so that the next character has some costs available to use in order to hold the maximum bound.
-
-```cpp
-class Solution {
-public:
- int equalSubstring(string s, string t, int maxCost) {
- int maxi = -1;
- int total_cost = 0;
- int l = 0, r = 0;
- while (r < t.size()) {
- int c = abs(s[r]-t[r]);
- while ((total_cost + c) <= maxCost) {
- total_cost += c;
- r++;
-
- if (r >= s.size()) break;
- c = abs(s[r]-t[r]);
- }
-
- maxi = max(maxi, r-l);
-
- total_cost -= abs(s[l] - t[l]);
- l++;
- }
-
- return maxi;
- }
-};
-```
-
-### [1209. Remove All Adjacent Duplicates in String II](https://leetcode.com/contest/weekly-contest-156/problems/remove-all-adjacent-duplicates-in-string-ii/)
-
-Stack approach. Whenever encounter a new character, push the character with count `1` into the stack. Increment the counter if the next character is the same as the top of the stack.
-If the counter reaches `k`, then just remove it from the stack as it's valid adjacent duplicates.
-
-```cpp
-class Solution {
-public:
- string removeDuplicates(string s, int k) {
- int s_size = s.size();
- if (s_size <= 1) return s;
-
- string ans;
- stack > stk;
- stk.push({s[0], 1});
-
- for (int i = 1; i < s_size; i++) {
- if (!stk.empty() && stk.top().first == s[i]) {
- stk.top().second++;
-
- if (stk.top().second == k) {
- stk.pop();
- }
- } else {
- stk.push({s[i], 1});
- }
- }
-
- while (!stk.empty()) {
- pair p = stk.top(); stk.pop();
- ans += string(p.second, p.first);
- }
-
- reverse(ans.begin(), ans.end());
-
- return ans;
- }
-};
-```
-
-### [1210. Minimum Moves to Reach Target with Rotations](https://leetcode.com/contest/weekly-contest-156/problems/minimum-moves-to-reach-target-with-rotations/)
-
-BFS. This question is not hard while you got the implementation right. Check all possible moves.
-
-{% raw %}
-
-```cpp
-class Solution {
- typedef pair block_t;
- typedef pair block2_t;
- typedef pair state_t; // step
-
- public:
- int minimumMoves(vector>& grid) {
- int N = grid.size();
- queue q;
- q.push({{{0, 0}, {0, 1}}, 0});
-
- set visited;
- visited.insert({{0, 0}, {0, 1}});
- pair::iterator, bool> rst;
-
- while (!q.empty()) {
- state_t s = q.front(); q.pop();
- block_t a = s.first.first;
- block_t b = s.first.second;
- int step = s.second;
-
-
- if (a.first == b.first) {
- // horizontal
- if (a.first == N-1 && a.second == N-2 && b.first == N-1 && b.second == N-1) {
- return step;
- }
-
- if (b.second+1 < N && grid[b.first][b.second+1] == 0){
- // right
- rst = visited.insert({{b.first, b.second}, {b.first, b.second+1}});
- if (rst.second) {
- q.push({{{b.first, b.second}, {b.first, b.second+1}}, step+1});
- }
- }
-
- if (a.first+1 < N && grid[a.first+1][a.second] == 0 && grid[b.first+1][b.second] == 0) {
- // down
- rst = visited.insert({{a.first+1, a.second}, {b.first+1, b.second}});
- if (rst.second) {
- q.push({{{a.first+1, a.second}, {b.first+1, b.second}}, step+1});
- }
-
- // clockwise
- rst = visited.insert({{a.first, a.second}, {a.first+1, a.second}});
- if (rst.second) {
- q.push({{{a.first, a.second}, {a.first+1, a.second}}, step+1});
- }
- }
- } else {
- // vertical
- if (b.first+1 < N && grid[b.first+1][b.second] == 0){
- // down
- rst = visited.insert({{b.first, b.second}, {b.first+1, b.second}});
- if (rst.second) {
- q.push({{{b.first, b.second}, {b.first+1, b.second}}, step+1});
- }
- }
-
- if (a.second+1 < N && grid[a.first][a.second+1] == 0 && grid[b.first][b.second+1] == 0) {
- // right
- rst = visited.insert({{a.first, a.second+1}, {b.first, b.second+1}});
- if (rst.second) {
- q.push({{{a.first, a.second+1}, {b.first, b.second+1}}, step+1});
- }
-
- // anti-clockwise
- rst = visited.insert({{a.first, a.second}, {a.first, a.second+1}});
- if (rst.second) {
- q.push({{{a.first, a.second}, {a.first, a.second+1}}, step+1});
- }
- }
- }
- }
-
- return -1;
- }
-};
-```
-{% endraw %}
\ No newline at end of file
diff --git a/_sass/_base.scss b/_sass/_base.scss
deleted file mode 100644
index 1dc038d1..00000000
--- a/_sass/_base.scss
+++ /dev/null
@@ -1,189 +0,0 @@
-/**
- * Reset some basic elements
- */
-body, h1, h2, h3, h4, h5, h6,
-p, blockquote, pre, hr,
-dl, dd, ol, ul, figure {
- margin: 0;
- padding: 0;
-}
-
-
-
-/**
- * Basic styling
- */
-body {
- font: $base-font-weight #{$base-font-size}/#{$base-line-height} $base-font-family;
- color: $text-color;
- background-color: $background-color;
- -webkit-text-size-adjust: 100%;
- -webkit-font-feature-settings: "kern" 1;
- -moz-font-feature-settings: "kern" 1;
- -o-font-feature-settings: "kern" 1;
- font-feature-settings: "kern" 1;
- font-kerning: normal;
-}
-
-
-
-/**
- * Set `margin-bottom` to maintain vertical rhythm
- */
-h1, h2, h3, h4, h5, h6,
-p, blockquote, pre,
-ul, ol, dl, figure,
-%vertical-rhythm {
- margin-bottom: $spacing-unit / 2;
-}
-
-
-
-/**
- * Images
- */
-img {
- max-width: 100%;
- vertical-align: middle;
-}
-
-
-
-/**
- * Figures
- */
-figure > img {
- display: block;
-}
-
-figcaption {
- font-size: $small-font-size;
-}
-
-
-
-/**
- * Lists
- */
-ul, ol {
- margin-left: $spacing-unit;
-}
-
-li {
- > ul,
- > ol {
- margin-bottom: 0;
- }
-}
-
-
-
-/**
- * Headings
- */
-h1, h2, h3, h4, h5, h6 {
- font-weight: $base-font-weight;
-}
-
-
-
-/**
- * Links
- */
-a {
- color: $brand-color;
- text-decoration: none;
-
- &:visited {
- color: darken($brand-color, 10%);
- }
-
- &:hover {
- color: $text-color;
- }
-}
-
-
-
-/**
- * Blockquotes
- */
-blockquote {
- color: $grey-color;
- border-left: 4px solid $grey-color-light;
- padding-left: $spacing-unit / 2;
-
- > :last-child {
- margin-bottom: 0;
- }
-}
-
-
-
-
-
-
-/**
- * Wrapper
- */
-.wrapper {
- max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit} * 2));
- max-width: calc(#{$content-width} - (#{$spacing-unit} * 2));
- margin-right: auto;
- margin-left: auto;
- padding-right: $spacing-unit;
- padding-left: $spacing-unit;
- @extend %clearfix;
-
- @include media-query($on-laptop) {
- max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit}));
- max-width: calc(#{$content-width} - (#{$spacing-unit}));
- padding-right: 20px;
- padding-left: 20px;
- }
-}
-
-/**
- * Clearfix
- */
-%clearfix {
-
- &:after {
- content: "";
- display: table;
- clear: both;
- }
-}
-
-
-
-/**
- * Icons
- */
-.icon {
-
- > svg {
- display: inline-block;
- width: 16px;
- height: 16px;
- vertical-align: middle;
-
- path {
- fill: $grey-color;
- }
- }
-}
-
-
-/**
- * Selection
- */
-::selection {
- color: #fff;
- background: $theme-color;
-}
-
-::-moz-selection {
- color: #fff;
- background: $theme-color;
-}
diff --git a/_sass/_layout.scss b/_sass/_layout.scss
deleted file mode 100644
index 0948b31c..00000000
--- a/_sass/_layout.scss
+++ /dev/null
@@ -1,641 +0,0 @@
-/**
-* Site header
-*/
-.site-header {
- transition: height 0.8s ease;
- -webkit-transition: height 0.8s ease;
- -moz-transition: height 0.8s ease;
-
- background: no-repeat center center;
- background-image: url("/img/header.jpg");
- background-size: cover;
- height: 400px;
- width: 100%;
- z-index: 20;
-
- .site-title {
- opacity: 1;
- color: #4A4A4A;
- font-size: 72px;
- line-height: 56px;
- text-align: center;
- padding: 144px 0 144px 0;
- font-family: sans-serif;
- font-weight: 300;
-
- .site-subtitle {
- opacity: 0.54;
- font-size: 16px;
- }
- }
-
-
- @include media-query($on-palm) {
- background-image: none;
- background-color: #fff;
- height: 54px;
- border-bottom: 1px solid $grey-color-light;
- position: relative;
- .site-title {
- padding: 18px 0 0 20px;
- font-size: 20px;
- line-height: 24px;
- text-align: left;
- .site-subtitle {
- display: none;
- }
- }
- }
-}
-
-.header-icon, .header-icon:visited {
- color: #212121;
- font-weight: bold;
- text-transform: uppercase;
- font-size: 13px;
- @media only screen and (min-width : 800px) {
- &:hover {
- text-shadow: 0 2px 5px rgba(0,0,0,0.15);
- text-decoration: none;
- }
- }
-}
-
-.header-fixed {
- transition: all 0.5s ease;
- -webkit-transition: all 0.5s ease;
- -moz-transition: all 0.5s ease;
-
- z-index: 50;
- position:fixed;
- width: 100%;
- font-size: 24px;
- line-height: 48px;
- height: 54px;
- background-color: rgba(255,255,255,.95);
- border-bottom: 1px solid $grey-color-light;
- margin-bottom: 20px;
- top: -54px;
- opacity: 0;
-
- @include media-query($on-palm) {
- display: none;
- }
-}
-
-.is-visible {
- top: 0px;
- opacity: 1;
- display: block;
-}
-
-.site-nav {
- z-index: 20;
- font-size: 14px;
- line-height: 30px;
- letter-spacing: 1px;
- ul {
- margin-right: 15px;
- list-style-type: none;
- overflow: hidden;
- float: right;
- li {
- padding: 13px 20px;
- display: inline-block;
- }
- }
-
- .menu-icon {
- display: none;
- }
-
- @include media-query($on-palm) {
- position: absolute;
- top: 9px;
- right: $spacing-unit / 2;
- background-color: $background-color;
- border: 1px solid $grey-color-light;
- border-radius: 5px;
- text-align: left;
- ul {
- margin: 10px 30px 10px 10px;
- li {
- a {
- color: #434343;
- }
- display: block;
- padding: 0 10px 3px 10px;
- }
- }
-
- .menu-icon {
- display: block;
- float: right;
- width: 36px;
- height: 26px;
- line-height: 0;
- padding-top: 10px;
- text-align: center;
-
- > svg {
- width: 18px;
- height: 15px;
-
- path {
- fill: $grey-color-dark;
- }
- }
- }
-
- .trigger {
- display: none;
- }
-
- .show {
- display: block;
- }
- }
-
- .page-link {
- color: $text-color;
- line-height: $base-line-height;
-
- // Gaps between nav items, but not on the last one
- &:not(:last-child) {
- margin-right: 20px;
- }
- }
-}
-
-/**
-* Site footer
-*/
-.site-footer {
- border-top: 1px solid $grey-color-light;
- padding: $spacing-unit 0;
- background-color: $background-color;
-}
-
-.footer-heading {
- font-size: 18px;
- margin-bottom: $spacing-unit / 2;
-}
-
-.col1-list,
-.col2-list,
-.col3-list {
- list-style: none;
- margin-left: 0;
-}
-
-.footer-col-wrapper {
- a {
- color: $text-color;
- }
- font-size: 15px;
- margin-left: -$spacing-unit / 2;
- @extend %clearfix;
-}
-
-.footer-col {
- float: left;
- margin-bottom: $spacing-unit / 2;
- padding-left: $spacing-unit / 2;
-}
-
-// original percentage: 35 20 45
-.footer-col-1 {
- width: -webkit-calc(33% - (#{$spacing-unit} / 2));
- width: calc(33% - (#{$spacing-unit} / 2));
-}
-
-.footer-col-2 {
- width: -webkit-calc(33% - (#{$spacing-unit} / 2));
- width: calc(33% - (#{$spacing-unit} / 2));
-}
-
-.footer-col-3 {
- width: -webkit-calc(33% - (#{$spacing-unit} / 2));
- width: calc(33% - (#{$spacing-unit} / 2));
- color: $grey-color;
-}
-
-@include media-query($on-laptop) {
- .footer-col-1,
- .footer-col-2 {
- width: -webkit-calc(50% - (#{$spacing-unit} / 2));
- width: calc(50% - (#{$spacing-unit} / 2));
- }
-
- .footer-col-3 {
- width: -webkit-calc(100% - (#{$spacing-unit} / 2));
- width: calc(100% - (#{$spacing-unit} / 2));
- }
-}
-
-@include media-query($on-palm) {
- .footer-col {
- float: none;
- width: -webkit-calc(100% - (#{$spacing-unit} / 2));
- width: calc(100% - (#{$spacing-unit} / 2));
- }
-}
-
-
-
-/**
-* Page content
-*/
-.page-content {
- z-index: 5;
- padding: 70px 0;
- margin-bottom: $spacing-unit*2;
-
- @include media-query($on-palm) {
- padding-top: 20px;
- }
-}
-
-.page-heading {
- font-size: 20px;
-}
-
-@media only screen and (min-width : 800px) {
- .slide
- {
- text-decoration:none;
- display: inline-block;
- }
-
- .slide:after
- {
- content: "";
- display: block;
- height: 3px;
- width: 0;
- background: transparent;
- transition: width .5s ease, background-color .5s ease;
- -webkit-transition: width .5s ease, background-color .5s ease;
- -moz-transition: width .5s ease, background-color .5s ease;
- margin: auto;
- }
-
- .slide:hover:after
- {
- width: 100%;
- background: #607D8B;
- }
-}
-
-.post-list {
- color: #000;
- margin-left: 20px;
- margin-right: 20px;
-
- @include media-query($on-palm) {
- margin: 0 0 0 0;
- }
-
- list-style: none;
-
- > li {
- background-color: #ffffff;
-
- .post-data {
- text-align: justify;
- //color: #939393;
- color: #757575;
- font-weight: normal;
- h1, h2, h3, h4, h5 {
- font-size: $base-font-size;
- }
- img {
- max-width: 500px;
- @include media-query($on-laptop) {
- max-width: 100%;
-
- }
- }
- }
-
-
- .post-link {
- text-decoration: none;
- transition: all 0.5s ease;
- color: #4a4a4a;
- font-weight: bold;
- @media only screen and (min-width : 800px) {
- &:hover {
- color: $theme-color;
- }
- }
- }
-
- .post-meta {
- font-size: $base-font-size*0.9;
- margin-bottom: 50px;
- //color: #9d9d9d;
- color: #9E9E9E;
- padding-bottom: 50px;
- border-bottom: 1px solid $grey-color-light;
- a {
- margin-right: 5px;
- transition: all 0.5s ease;
- color: #9E9E9E;
- @media only screen and (min-width : 800px) {
- &:hover {
- color: $theme-color;
- }
- }
- }
- @include media-query($on-palm) {
- margin-bottom: 30px;
- padding-bottom: 30px;
- }
- }
- }
-}
-
-/**
-* Posts
-*/
-.post {
- padding: $spacing-unit $spacing-unit*1.5 $spacing-unit*1.2 $spacing-unit*1.5;
- @media only screen and (max-width:800px) {
- padding: 30px 10px 30px 10px;
- }
- @include media-query($on-palm) {
- padding: 0 0 0 0;
- }
-}
-.post-header {
- margin-bottom: $spacing-unit;
-}
-
-.post-title {
- font-size: 36px;
- font-weight: bold;
- line-height: 1;
-
- @include media-query($on-laptop) {
- font-size: 32px;
- }
-}
-
-.post-content {
- text-align: justify;
- margin-bottom: $spacing-unit;
-
- a {
- overflow: hidden;
- }
-
- ul {
- list-style: disc;
- }
-
- h2, h3, h4, h5 {
- margin-top: $spacing-unit;
- }
- h2 {
- font-size: 26px;
- font-weight: bold;
-
- @include media-query($on-laptop) {
- font-size: 22px;
- }
- }
-
- h3 {
- font-size: 22px;
- font-weight: bold;
-
- @include media-query($on-laptop) {
- font-size: 18px;
- }
- }
-
- h4 {
- font-size: 18px;
- font-weight: bold;
-
- @include media-query($on-laptop) {
- font-size: 14px;
- }
- }
-
- h5 {
- font-size: 14px;
- font-weight: bold;
-
- @include media-query($on-laptop) {
- font-size: 12.5px;
- }
- }
-
- img {
- margin: auto;
- overflow-x: auto;
- display: block;
- }
-
- .emoji {
- display: inline;
- vertical-align: text-bottom;
- }
-
- .toc {
- font-size: $base-font-size*0.9;
- ul {
- list-style: decimal;
- }
- }
-}
-
-.about-page {
- text-align: center;
- img {
- display: block;
- margin-left: auto;
- margin-right: auto;
- margin-bottom: $spacing-unit;
- }
- margin-top: $spacing-unit * 5;
- margin-bottom: $spacing-unit * 5;
-}
-
-/**
-* sidebar
-*/
-.side-bar {
- float: right;
- width: 240px;
- margin-bottom: $spacing-unit*3;
- @include media-query($on-palm) {
- width: 100%;
- float: none;
- margin-bottom: 30px;
- margin-right: 30px;
- }
-}
-
-/**
-* Tags
-*/
-
-
-.tags {
- color: #878787;
- margin-bottom: 20px;
- padding-bottom: 20px;
- border-bottom: 1px solid $grey-color-light;
- h3 {
- font-weight: bold;
- margin-bottom: 20px;
- font-size:16px;
- }
- ul {
- font-size:13px;
- text-transform: capitalize;
- list-style: none;
- margin: 0 0 0 0;
- li {
- margin: 1px 5px 11px 1px;
- display: inline-block;
- a {
- color: #BDBDBD;
- transition: all 0.5s ease;
- border: 1px solid #BDBDBD;
- -webkit-border-radius: 1000px;
- -moz-border-radius: 1000px;
- border-radius: 1000px;
- padding: 4.5px 11px 4.5px 11px;
- @media only screen and (min-width : 800px) {
- &:hover {
- color: $theme-color;
- border: 1px solid $theme-color;
- }
- }
- }
- }
- }
- @include media-query($on-palm) {
- padding-top: 10px;
- border-bottom: 2px solid $grey-color-light;
- h3 {
- display: none;
- }
- }
-}
-
-.hidden {
- display: none!important;
- visibility: hidden!important;
-}
-
-.blog-list-container {
- margin-bottom: 0;
- margin-right: 260px;
- padding: 30px 0 30px 0;
- border-bottom: 1px solid lighten(#bdbdbd, 15%);
- ul {
- list-style: none;
- margin: 0 0 0 0;
- li {
- margin: 5px 0 5px 0;
- .blog-date {
- display: inline-block;
- font-size: $base-font-size*0.7;
- color: $grey-color;
- margin-left: 5px;
- }
- }
- }
-
- @media only screen and (min-width : 800px) {
- .slide:after
- {
- //height: 1px;
- height: 0.5px;
- }
-
- .slide:hover:after
- {
- //background: lighten($text-color, 30%);
- background: $theme-color;
- }
- a {
- text-decoration: none;
- transition: all 0.5s ease;
- @media only screen and (min-width : 800px) {
- &:hover {
- color: $theme-color;
- }
- }
- }
- }
- a {
- color: $text-color;
- }
- .single-tag {
- color: #607D8B;
- font-weight: bold;
- text-transform: capitalize;
- }
-
- @include media-query($on-palm) {
- margin: 0 0 30px 0;
- padding: 0 0 30px 0;
- }
-}
-
-
-// Table
-table
-{
- overflow-x: auto;
- display: block;
- min-width: 300px;
- font-size: 14px;
- border-collapse:collapse;
- margin:20px 0 20px 0;
- padding:0;
-}
-
-table tr
-{
- border-top:1px solid #ccc;
- background-color:#fff;
- margin:0;
- padding:0;
-}
-
-table tr:nth-child(2n)
-{
- background-color:#f8f8f8;
-}
-
-table tr th[align="center"], table tr td[align="center"] {
- text-align:center;
-}
-
-table tr th, table tr td
-{
- border:1px solid #ccc;
- text-align:left;
- margin:0;
- padding:6px 13px;
-}
-
-// 404 page
-.not-found {
- text-align: center;
- a {
- font-size:20px;
- }
-}
-
-// separator
-hr {
- margin: 80px 0 80px 0;
-}
\ No newline at end of file
diff --git a/_sass/_pagination.scss b/_sass/_pagination.scss
deleted file mode 100644
index 95c5877b..00000000
--- a/_sass/_pagination.scss
+++ /dev/null
@@ -1,195 +0,0 @@
-// Breakpoint variables
-$pages-breakpoint1: 320px !default;
-$pages-breakpoint2: 500px !default;
-$pages-breakpoint3: 600px !default;
-$pages-breakpoint4: 768px !default;
-$pages-breakpoint5: 768px !default;
-$pages-breakpoint6: 768px !default;
-$pages-breakpoint7: 768px !default;
-$pages-breakpoint8: 768px !default;
-$pages-breakpoint9: 768px !default;
-
-// Cosmetics variables
-$pages-cosmetics: true !default;
-$pages-sr-only: true !default;
-$pages-clearfix: true !default;
-
-// Styling
-$pages-margin: 16px 0 !default;
-$pages-item-margin: 0 3px !default;
-$pages-item-size: 38px !default;
-$pages-item-background: #eeeeee !default;
-$pages-item-color: #333 !default;
-$pages-item-link-color: #1847AD !default;
-$pages-item-shadow: inset 0 0 5px rgba(0, 0, 0, .05) !default;
-$pages-item-hover: #ddd !default;
-$pages-item-active: #607D8B !default;
-$pages-item-active-shadow: inset 0 0 5px rgba(0, 0, 0, .3) !default;
-$pages-item-active-color: white !default;
-
-// Mixins
-@import "utils/clearfix";
-@import "utils/breakpoint";
-
-// Classes
-@import "utils/sr-only";
-
-// Behavioural
-.pagination {
- @include pages-clearfix;
-
- li {
- display: none;
-
- .pagination-item {
- display: block;
- speak-number: continuous;
- }
- }
-
- // Always display the first, current and last page when
- // They are available in the markup
- .current-page,
- .previous,
- .next {
- display: inline-block;
- }
-
- .previous a:before {
- content: "<" // ←
- }
-
- .next a:after {
- content: ">" // →
- }
-
- // First breakpoint
- @include pages-breakpoint($pages-breakpoint1) {
-
- // When there are active indicators show them
- // Using a double class here to win over future breakpoints
- .pages-indicator.pages-indicator--active {
- display: inline-block;
- }
-
- // The first and last item in the paginator
- .first,
- .last {
- display: inline-block;
- }
-
- .offset-1 {
- display: inline-block;
- }
-
- // Show indicators on smaller screen when other pages are hidden
- // This way we'll never have ""
- // But we'll have ""
- .pages-indicator--offset-2,
- .pages-indicator--offset-3,
- .pages-indicator--offset-4,
- .pages-indicator--offset-5,
- .pages-indicator--offset-6,
- .pages-indicator--offset-7 {
- display: inline-block;
- }
- }
-
- @include pages-breakpoint($pages-breakpoint2) {
- // Show items next to active item
- .offset-1 {
- display: inline-block;
- }
-
- // And hide indicator to make room
- .pages-indicator--offset-2 {
- display: none;
- }
- }
-
- @include pages-breakpoint($pages-breakpoint3) {
- // Show items 2 spots next to active item
- .offset-2 {
- display: inline-block;
- }
-
- // And hide indicator to make room
- .pages-indicator--offset-3 {
- display: none;
- }
- }
-
- @include pages-breakpoint($pages-breakpoint4) {
- // Show items 3 spots next to active item
- .offset-3 {
- display: inline-block;
- }
-
- // And hide indicator to make room
- .pages-indicator--offset-4 {
- display: none;
- }
- }
-
- @include pages-breakpoint($pages-breakpoint5) {
- // Show items 3 spots next to active item
- .offset-4 {
- display: inline-block;
- }
-
- // And hide indicator to make room
- .pages-indicator--offset-5 {
- display: none;
- }
- }
-
- @include pages-breakpoint($pages-breakpoint6) {
- // Show items 3 spots next to active item
- .offset-5 {
- display: inline-block;
- }
-
- // And hide indicator to make room
- .pages-indicator--offset-6 {
- display: none;
- }
- }
-
- @include pages-breakpoint($pages-breakpoint7) {
- // Show items 3 spots next to active item
- .offset-6 {
- display: inline-block;
- }
-
- // And hide indicator to make room
- .pages-indicator--offset-7 {
- display: none;
- }
- }
-
- @include pages-breakpoint($pages-breakpoint8) {
- // Show items 3 spots next to active item
- .offset-7 {
- display: inline-block;
- }
-
- // And hide indicator to make room
- .pages-indicator--offset-8 {
- display: none;
- }
- }
-
- @include pages-breakpoint($pages-breakpoint9) {
- // Show items 3 spots next to active item
- .offset-8 {
- display: inline-block;
- }
-
- // And hide indicator to make room
- .pages-indicator--offset-9 {
- display: none;
- }
- }
-}
-
-@import "cosmetics/cosmetics";
diff --git a/_sass/_syntax.scss b/_sass/_syntax.scss
deleted file mode 100644
index 2e48cae4..00000000
--- a/_sass/_syntax.scss
+++ /dev/null
@@ -1,120 +0,0 @@
-pre {
- counter-reset: line-numbering;
- //border: solid 1px #d9d9d9;
- border-radius: 0;
- background: #F7F7F7;
- padding: 0;
- line-height: 20px;
- margin-top: 30px;
- margin-bottom: 50px;
- white-space: pre;
- overflow-x: auto;
- word-break: inherit;
- word-wrap: inherit;
- padding-right:30px;
-}
-
-pre,
-code {
- //font-family: "Lucida Console", Monaco, monospace;
- font-family: Consolas,"Liberation Mono",Menlo,Courier,monospace;
- //font-family: "PT Mono", Consolas, Monaco, Menlo, monospace;
- font-size: 14px;
-}
-
-code.inline-code {
- font-size: 12px;
- font-family: Menlo,Monaco,Consolas,"Courier New",monospace;
- color: #607D8B; //#d14;
- background: #f7f7f7;
- border: 1px solid #e1e1e7;
- border-radius: 2px;
- padding: 2px 4px 2px 4px;
- margin: 1px 1px 1px 1px;
-}
-
-pre a::before {
- content: counter(line-numbering);
- counter-increment: line-numbering;
- padding-right: 1em; /* space after numbers */
- width: 25px;
- text-align: right;
- opacity: 0.7;
- display: inline-block;
- color: #2d2d2d;
- background: #eee;
- margin-right: 16px;
- padding: 2px 10px;
- font-size: 14px;
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-}
-
-pre a:first-of-type::before {
- padding-top: 10px;
-}
-
-pre a:last-of-type::before {
- padding-bottom: 10px;
-}
-
-pre a:only-of-type::before {
- padding: 10px;
-}
-
-pre {
- overflow-x: auto;
-
- > code {
- border: 0;
- padding-right: 0;
- padding-left: 0;
- }
-}
-
-.highlight pre code * {
- white-space: nowrap; // this sets all children inside to nowrap
-}
-
-.highlight pre code {
- white-space: pre; // forces to respect formatting
-}
-.highlight { color: #657b83 !important; background-color: #fdfdfd !important; }
-.highlight .err { color: #dc322f !important; background-color: #eee8d5 !important; }
-.highlight .cp { color: #93a1a1 !important; }
-.highlight .cs { color: #93a1a1 !important; }
-.highlight .gd { background-color: #fdd !important; }
-.highlight .gd .x { background-color: #faa !important; }
-.highlight .ge { font-style: italic !important; }
-.highlight .gi { background-color: #dfd !important; }
-.highlight .gi .x { background-color: #afa !important; }
-.highlight .go { color: #657b83 !important; }
-.highlight .gu { color: #d33682 !important; }
-.highlight .gs { }
-.highlight .gr, .highlight .gt { color: #d33682 !important; }
-.highlight .gh { color: #93a1a1 !important; }
-.highlight .gp { color: #93a1a1 !important; }
-.highlight .nb { color: #859900 !important; }
-.highlight .ni { color: #d33682 !important; }
-.highlight .nt { color: #268bd2 !important; }
-.highlight .w { color: #93a1a1 !important; }
-.highlight .sr { color: #859900 !important; }
-.highlight .ss { color: #2aa198 !important; }
-.highlight .c, .highlight .cm, .highlight .c1 { color: #93a1a1 !important; }
-.highlight .k, .highlight .kc, .highlight .kd, .highlight .kp, .highlight .kr, .highlight .kt, .highlight .o, .highlight .ow { }
-.highlight .k { color: #859900 !important; }
-.highlight .kt { color: #b58900 !important; }
-.highlight .bp { color: #586e75 !important; }
-.highlight .nn { color: #586e75 !important; }
-.highlight .nc { color: #b58900 !important; }
-.highlight .m, .highlight .mf, .highlight .mh, .highlight .mi, .highlight .mo, .highlight .il { color: #2aa198 !important; }
-.highlight .s, .highlight .sb, .highlight .sc, .highlight .sd, .highlight .s2, .highlight .se, .highlight .sh, .highlight .si, .highlight .sx, .highlight .s1 { color: #2aa198 !important; }
-.highlight .na, .highlight .nv { color: #2aa198 !important; }
-.highlight .no { color: #b58900 !important; }
-.highlight .vc, .highlight .vg, .highlight .vi { color: #268bd2 !important; }
-.highlight .ne,
-.highlight .nf { color: #dc322f !important; }
diff --git a/_sass/cosmetics/_cosmetics.scss b/_sass/cosmetics/_cosmetics.scss
deleted file mode 100644
index f44e71b1..00000000
--- a/_sass/cosmetics/_cosmetics.scss
+++ /dev/null
@@ -1,45 +0,0 @@
-// Cosmetic
-@if $pages-cosmetics == true {
- ul.pagination {
- padding: 0;
- margin: $pages-margin;
- text-align: center;
-
- li {
- margin: $pages-item-margin;
- padding: 0;
- list-style: none;
-
- &.page {
- .pagination-item {
- text-decoration: none; // No underlines on circle links
- width: $pages-item-size;
- height: $pages-item-size;
- border-radius: $pages-item-size;
- line-height: $pages-item-size;
- background: $pages-item-background;
- color: $pages-item-color;
- box-shadow: $pages-item-shadow;
-
- }
-
- a:hover {
- background: $pages-item-hover;
- }
-
- &.current-page {
- .pagination-item {
- background: $pages-item-active;
- box-shadow: $pages-item-active-shadow;
- color: $pages-item-active-color;
- }
- }
- &.previous, &.next {
- .pagination-item {
- font-size: 12px;
- }
- }
- }
- }
- }
-}
diff --git a/_sass/utils/_breakpoint.scss b/_sass/utils/_breakpoint.scss
deleted file mode 100644
index 11f18ccb..00000000
--- a/_sass/utils/_breakpoint.scss
+++ /dev/null
@@ -1,5 +0,0 @@
-@mixin pages-breakpoint($breakpoint) {
- @media (min-width: $breakpoint) {
- @content;
- }
-}
diff --git a/_sass/utils/_clearfix.scss b/_sass/utils/_clearfix.scss
deleted file mode 100644
index 9741148b..00000000
--- a/_sass/utils/_clearfix.scss
+++ /dev/null
@@ -1,11 +0,0 @@
-@mixin pages-clearfix {
- &:before,
- &:after {
- content: " ";
- display: table;
- }
-
- &:after {
- clear: both;
- }
-}
diff --git a/_sass/utils/_sr-only.scss b/_sass/utils/_sr-only.scss
deleted file mode 100644
index 61a1f326..00000000
--- a/_sass/utils/_sr-only.scss
+++ /dev/null
@@ -1,12 +0,0 @@
-@if $pages-sr-only == true {
- .sr-only {
- position: absolute;
- width: 1px;
- height: 1px;
- padding: 0;
- margin: -1px;
- overflow: hidden;
- clip: rect(0, 0, 0, 0);
- border: 0;
- }
-}
diff --git a/hugo/archetypes/default.md b/archetypes/default.md
similarity index 100%
rename from hugo/archetypes/default.md
rename to archetypes/default.md
diff --git a/hugo/assets/css/_override.scss b/assets/css/_override.scss
similarity index 100%
rename from hugo/assets/css/_override.scss
rename to assets/css/_override.scss
diff --git a/hugo/assets/images/avatar.png b/assets/images/avatar.png
similarity index 100%
rename from hugo/assets/images/avatar.png
rename to assets/images/avatar.png
diff --git a/hugo/config.toml b/config.toml
similarity index 100%
rename from hugo/config.toml
rename to config.toml
diff --git a/hugo/content/posts/2015/building-blog-jekyll/index.en.md b/content/posts/2015/building-blog-jekyll/index.en.md
similarity index 100%
rename from hugo/content/posts/2015/building-blog-jekyll/index.en.md
rename to content/posts/2015/building-blog-jekyll/index.en.md
diff --git a/hugo/content/posts/2015/building-blog-jekyll/index.zh-cn.md b/content/posts/2015/building-blog-jekyll/index.zh-cn.md
similarity index 100%
rename from hugo/content/posts/2015/building-blog-jekyll/index.zh-cn.md
rename to content/posts/2015/building-blog-jekyll/index.zh-cn.md
diff --git a/hugo/content/posts/2015/stack-queue-linked-list/index.en.md b/content/posts/2015/stack-queue-linked-list/index.en.md
similarity index 100%
rename from hugo/content/posts/2015/stack-queue-linked-list/index.en.md
rename to content/posts/2015/stack-queue-linked-list/index.en.md
diff --git a/hugo/content/posts/2015/stack-queue-linked-list/index.zh-cn.md b/content/posts/2015/stack-queue-linked-list/index.zh-cn.md
similarity index 100%
rename from hugo/content/posts/2015/stack-queue-linked-list/index.zh-cn.md
rename to content/posts/2015/stack-queue-linked-list/index.zh-cn.md
diff --git a/hugo/content/posts/2015/stack-queue-linked-list/link_in.gif b/content/posts/2015/stack-queue-linked-list/link_in.gif
similarity index 100%
rename from hugo/content/posts/2015/stack-queue-linked-list/link_in.gif
rename to content/posts/2015/stack-queue-linked-list/link_in.gif
diff --git a/hugo/content/posts/2015/stack-queue-linked-list/queue_dequeue.gif b/content/posts/2015/stack-queue-linked-list/queue_dequeue.gif
similarity index 100%
rename from hugo/content/posts/2015/stack-queue-linked-list/queue_dequeue.gif
rename to content/posts/2015/stack-queue-linked-list/queue_dequeue.gif
diff --git a/hugo/content/posts/2015/stack-queue-linked-list/queue_enqueue.gif b/content/posts/2015/stack-queue-linked-list/queue_enqueue.gif
similarity index 100%
rename from hugo/content/posts/2015/stack-queue-linked-list/queue_enqueue.gif
rename to content/posts/2015/stack-queue-linked-list/queue_enqueue.gif
diff --git a/hugo/content/posts/2015/stack-queue-linked-list/stack_pop.gif b/content/posts/2015/stack-queue-linked-list/stack_pop.gif
similarity index 100%
rename from hugo/content/posts/2015/stack-queue-linked-list/stack_pop.gif
rename to content/posts/2015/stack-queue-linked-list/stack_pop.gif
diff --git a/hugo/content/posts/2015/stack-queue-linked-list/stack_push.gif b/content/posts/2015/stack-queue-linked-list/stack_push.gif
similarity index 100%
rename from hugo/content/posts/2015/stack-queue-linked-list/stack_push.gif
rename to content/posts/2015/stack-queue-linked-list/stack_push.gif
diff --git a/hugo/content/posts/2015/the-story-about-the-blog/blog_story.jpg b/content/posts/2015/the-story-about-the-blog/blog_story.jpg
similarity index 100%
rename from hugo/content/posts/2015/the-story-about-the-blog/blog_story.jpg
rename to content/posts/2015/the-story-about-the-blog/blog_story.jpg
diff --git a/hugo/content/posts/2015/the-story-about-the-blog/index.en.md b/content/posts/2015/the-story-about-the-blog/index.en.md
similarity index 100%
rename from hugo/content/posts/2015/the-story-about-the-blog/index.en.md
rename to content/posts/2015/the-story-about-the-blog/index.en.md
diff --git a/hugo/content/posts/2015/the-story-about-the-blog/index.zh-cn.md b/content/posts/2015/the-story-about-the-blog/index.zh-cn.md
similarity index 100%
rename from hugo/content/posts/2015/the-story-about-the-blog/index.zh-cn.md
rename to content/posts/2015/the-story-about-the-blog/index.zh-cn.md
diff --git a/hugo/content/posts/2016/binary-tree/Sorted_binary_tree_breadth-first_traversal.svg b/content/posts/2016/binary-tree/Sorted_binary_tree_breadth-first_traversal.svg
similarity index 100%
rename from hugo/content/posts/2016/binary-tree/Sorted_binary_tree_breadth-first_traversal.svg
rename to content/posts/2016/binary-tree/Sorted_binary_tree_breadth-first_traversal.svg
diff --git a/hugo/content/posts/2016/binary-tree/Sorted_binary_tree_inorder.svg b/content/posts/2016/binary-tree/Sorted_binary_tree_inorder.svg
similarity index 100%
rename from hugo/content/posts/2016/binary-tree/Sorted_binary_tree_inorder.svg
rename to content/posts/2016/binary-tree/Sorted_binary_tree_inorder.svg
diff --git a/hugo/content/posts/2016/binary-tree/Sorted_binary_tree_postorder.svg b/content/posts/2016/binary-tree/Sorted_binary_tree_postorder.svg
similarity index 100%
rename from hugo/content/posts/2016/binary-tree/Sorted_binary_tree_postorder.svg
rename to content/posts/2016/binary-tree/Sorted_binary_tree_postorder.svg
diff --git a/hugo/content/posts/2016/binary-tree/Sorted_binary_tree_preorder.svg b/content/posts/2016/binary-tree/Sorted_binary_tree_preorder.svg
similarity index 100%
rename from hugo/content/posts/2016/binary-tree/Sorted_binary_tree_preorder.svg
rename to content/posts/2016/binary-tree/Sorted_binary_tree_preorder.svg
diff --git a/hugo/content/posts/2016/binary-tree/complete_binary_tree.gif b/content/posts/2016/binary-tree/complete_binary_tree.gif
similarity index 100%
rename from hugo/content/posts/2016/binary-tree/complete_binary_tree.gif
rename to content/posts/2016/binary-tree/complete_binary_tree.gif
diff --git a/hugo/content/posts/2016/binary-tree/complete_binary_tree_1.gif b/content/posts/2016/binary-tree/complete_binary_tree_1.gif
similarity index 100%
rename from hugo/content/posts/2016/binary-tree/complete_binary_tree_1.gif
rename to content/posts/2016/binary-tree/complete_binary_tree_1.gif
diff --git a/hugo/content/posts/2016/binary-tree/depth_height.gif b/content/posts/2016/binary-tree/depth_height.gif
similarity index 100%
rename from hugo/content/posts/2016/binary-tree/depth_height.gif
rename to content/posts/2016/binary-tree/depth_height.gif
diff --git a/hugo/content/posts/2016/binary-tree/full_binary_tree.gif b/content/posts/2016/binary-tree/full_binary_tree.gif
similarity index 100%
rename from hugo/content/posts/2016/binary-tree/full_binary_tree.gif
rename to content/posts/2016/binary-tree/full_binary_tree.gif
diff --git a/hugo/content/posts/2016/binary-tree/full_binary_tree_1.gif b/content/posts/2016/binary-tree/full_binary_tree_1.gif
similarity index 100%
rename from hugo/content/posts/2016/binary-tree/full_binary_tree_1.gif
rename to content/posts/2016/binary-tree/full_binary_tree_1.gif
diff --git a/hugo/content/posts/2016/binary-tree/index.en.md b/content/posts/2016/binary-tree/index.en.md
similarity index 100%
rename from hugo/content/posts/2016/binary-tree/index.en.md
rename to content/posts/2016/binary-tree/index.en.md
diff --git a/hugo/content/posts/2016/binary-tree/index.zh-cn.md b/content/posts/2016/binary-tree/index.zh-cn.md
similarity index 100%
rename from hugo/content/posts/2016/binary-tree/index.zh-cn.md
rename to content/posts/2016/binary-tree/index.zh-cn.md
diff --git a/hugo/content/posts/2016/poj-2376/index.en.md b/content/posts/2016/poj-2376/index.en.md
similarity index 100%
rename from hugo/content/posts/2016/poj-2376/index.en.md
rename to content/posts/2016/poj-2376/index.en.md
diff --git a/hugo/content/posts/2016/poj-2376/index.zh-cn.md b/content/posts/2016/poj-2376/index.zh-cn.md
similarity index 100%
rename from hugo/content/posts/2016/poj-2376/index.zh-cn.md
rename to content/posts/2016/poj-2376/index.zh-cn.md
diff --git a/hugo/content/posts/2016/poj-3050/index.en.md b/content/posts/2016/poj-3050/index.en.md
similarity index 100%
rename from hugo/content/posts/2016/poj-3050/index.en.md
rename to content/posts/2016/poj-3050/index.en.md
diff --git a/hugo/content/posts/2016/poj-3050/index.zh-cn.md b/content/posts/2016/poj-3050/index.zh-cn.md
similarity index 100%
rename from hugo/content/posts/2016/poj-3050/index.zh-cn.md
rename to content/posts/2016/poj-3050/index.zh-cn.md
diff --git a/hugo/content/posts/2016/poj-3187/index.en.md b/content/posts/2016/poj-3187/index.en.md
similarity index 100%
rename from hugo/content/posts/2016/poj-3187/index.en.md
rename to content/posts/2016/poj-3187/index.en.md
diff --git a/hugo/content/posts/2016/poj-3187/index.zh-cn.md b/content/posts/2016/poj-3187/index.zh-cn.md
similarity index 100%
rename from hugo/content/posts/2016/poj-3187/index.zh-cn.md
rename to content/posts/2016/poj-3187/index.zh-cn.md
diff --git a/hugo/content/posts/2016/poj-3268/index.en.md b/content/posts/2016/poj-3268/index.en.md
similarity index 100%
rename from hugo/content/posts/2016/poj-3268/index.en.md
rename to content/posts/2016/poj-3268/index.en.md
diff --git a/hugo/content/posts/2016/poj-3268/index.zh-cn.md b/content/posts/2016/poj-3268/index.zh-cn.md
similarity index 100%
rename from hugo/content/posts/2016/poj-3268/index.zh-cn.md
rename to content/posts/2016/poj-3268/index.zh-cn.md
diff --git a/hugo/content/posts/2016/usaco-lamps/index.en.md b/content/posts/2016/usaco-lamps/index.en.md
similarity index 100%
rename from hugo/content/posts/2016/usaco-lamps/index.en.md
rename to content/posts/2016/usaco-lamps/index.en.md
diff --git a/hugo/content/posts/2016/usaco-lamps/index.zh-cn.md b/content/posts/2016/usaco-lamps/index.zh-cn.md
similarity index 100%
rename from hugo/content/posts/2016/usaco-lamps/index.zh-cn.md
rename to content/posts/2016/usaco-lamps/index.zh-cn.md
diff --git a/hugo/content/posts/2016/uva-108/index.en.md b/content/posts/2016/uva-108/index.en.md
similarity index 100%
rename from hugo/content/posts/2016/uva-108/index.en.md
rename to content/posts/2016/uva-108/index.en.md
diff --git a/hugo/content/posts/2016/uva-108/index.zh-cn.md b/content/posts/2016/uva-108/index.zh-cn.md
similarity index 100%
rename from hugo/content/posts/2016/uva-108/index.zh-cn.md
rename to content/posts/2016/uva-108/index.zh-cn.md
diff --git a/hugo/content/posts/2016/uva-108/max_sum_2D.gif b/content/posts/2016/uva-108/max_sum_2D.gif
similarity index 100%
rename from hugo/content/posts/2016/uva-108/max_sum_2D.gif
rename to content/posts/2016/uva-108/max_sum_2D.gif
diff --git a/hugo/content/posts/2016/uva-108/maximum_sum.png b/content/posts/2016/uva-108/maximum_sum.png
similarity index 100%
rename from hugo/content/posts/2016/uva-108/maximum_sum.png
rename to content/posts/2016/uva-108/maximum_sum.png
diff --git a/hugo/content/posts/2016/uva-443/index.en.md b/content/posts/2016/uva-443/index.en.md
similarity index 100%
rename from hugo/content/posts/2016/uva-443/index.en.md
rename to content/posts/2016/uva-443/index.en.md
diff --git a/hugo/content/posts/2016/uva-443/index.zh-cn.md b/content/posts/2016/uva-443/index.zh-cn.md
similarity index 100%
rename from hugo/content/posts/2016/uva-443/index.zh-cn.md
rename to content/posts/2016/uva-443/index.zh-cn.md
diff --git a/hugo/content/posts/2018/cldictp/CLDictP_demo.gif b/content/posts/2018/cldictp/CLDictP_demo.gif
similarity index 100%
rename from hugo/content/posts/2018/cldictp/CLDictP_demo.gif
rename to content/posts/2018/cldictp/CLDictP_demo.gif
diff --git a/hugo/content/posts/2018/cldictp/index.en.md b/content/posts/2018/cldictp/index.en.md
similarity index 100%
rename from hugo/content/posts/2018/cldictp/index.en.md
rename to content/posts/2018/cldictp/index.en.md
diff --git a/hugo/content/posts/2018/cldictp/index.zh-cn.md b/content/posts/2018/cldictp/index.zh-cn.md
similarity index 100%
rename from hugo/content/posts/2018/cldictp/index.zh-cn.md
rename to content/posts/2018/cldictp/index.zh-cn.md
diff --git a/hugo/content/posts/2018/poj-3279/fliptile_1.svg b/content/posts/2018/poj-3279/fliptile_1.svg
similarity index 100%
rename from hugo/content/posts/2018/poj-3279/fliptile_1.svg
rename to content/posts/2018/poj-3279/fliptile_1.svg
diff --git a/hugo/content/posts/2018/poj-3279/fliptile_2.svg b/content/posts/2018/poj-3279/fliptile_2.svg
similarity index 100%
rename from hugo/content/posts/2018/poj-3279/fliptile_2.svg
rename to content/posts/2018/poj-3279/fliptile_2.svg
diff --git a/hugo/content/posts/2018/poj-3279/index.en.md b/content/posts/2018/poj-3279/index.en.md
similarity index 100%
rename from hugo/content/posts/2018/poj-3279/index.en.md
rename to content/posts/2018/poj-3279/index.en.md
diff --git a/hugo/content/posts/2018/poj-3279/index.zh-cn.md b/content/posts/2018/poj-3279/index.zh-cn.md
similarity index 100%
rename from hugo/content/posts/2018/poj-3279/index.zh-cn.md
rename to content/posts/2018/poj-3279/index.zh-cn.md
diff --git a/hugo/content/posts/2018/proxy-server-cn-netease-music/index.en.md b/content/posts/2018/proxy-server-cn-netease-music/index.en.md
similarity index 100%
rename from hugo/content/posts/2018/proxy-server-cn-netease-music/index.en.md
rename to content/posts/2018/proxy-server-cn-netease-music/index.en.md
diff --git a/hugo/content/posts/2018/proxy-server-cn-netease-music/index.zh-cn.md b/content/posts/2018/proxy-server-cn-netease-music/index.zh-cn.md
similarity index 100%
rename from hugo/content/posts/2018/proxy-server-cn-netease-music/index.zh-cn.md
rename to content/posts/2018/proxy-server-cn-netease-music/index.zh-cn.md
diff --git a/hugo/content/posts/2018/static-linked-list/index.en copy.md b/content/posts/2018/static-linked-list/index.en copy.md
similarity index 100%
rename from hugo/content/posts/2018/static-linked-list/index.en copy.md
rename to content/posts/2018/static-linked-list/index.en copy.md
diff --git a/hugo/content/posts/2018/static-linked-list/index.en.md b/content/posts/2018/static-linked-list/index.en.md
similarity index 100%
rename from hugo/content/posts/2018/static-linked-list/index.en.md
rename to content/posts/2018/static-linked-list/index.en.md
diff --git a/hugo/content/posts/2018/static-linked-list/index.zh-cn.md b/content/posts/2018/static-linked-list/index.zh-cn.md
similarity index 100%
rename from hugo/content/posts/2018/static-linked-list/index.zh-cn.md
rename to content/posts/2018/static-linked-list/index.zh-cn.md
diff --git a/hugo/content/posts/2018/static-linked-list/static_linked_list_example.svg b/content/posts/2018/static-linked-list/static_linked_list_example.svg
similarity index 100%
rename from hugo/content/posts/2018/static-linked-list/static_linked_list_example.svg
rename to content/posts/2018/static-linked-list/static_linked_list_example.svg
diff --git a/hugo/content/posts/2018/static-linked-list/static_linked_list_list.svg b/content/posts/2018/static-linked-list/static_linked_list_list.svg
similarity index 100%
rename from hugo/content/posts/2018/static-linked-list/static_linked_list_list.svg
rename to content/posts/2018/static-linked-list/static_linked_list_list.svg
diff --git a/hugo/content/posts/2019/lc-week-1/index.en.md b/content/posts/2019/lc-week-1/index.en.md
similarity index 100%
rename from hugo/content/posts/2019/lc-week-1/index.en.md
rename to content/posts/2019/lc-week-1/index.en.md
diff --git a/hugo/content/posts/2019/lc-week-1/index.zh-cn.md b/content/posts/2019/lc-week-1/index.zh-cn.md
similarity index 100%
rename from hugo/content/posts/2019/lc-week-1/index.zh-cn.md
rename to content/posts/2019/lc-week-1/index.zh-cn.md
diff --git a/hugo/content/posts/2019/lc-week-2/index.en.md b/content/posts/2019/lc-week-2/index.en.md
similarity index 100%
rename from hugo/content/posts/2019/lc-week-2/index.en.md
rename to content/posts/2019/lc-week-2/index.en.md
diff --git a/hugo/content/posts/2019/lc-week-2/index.zh-cn.md b/content/posts/2019/lc-week-2/index.zh-cn.md
similarity index 100%
rename from hugo/content/posts/2019/lc-week-2/index.zh-cn.md
rename to content/posts/2019/lc-week-2/index.zh-cn.md
diff --git a/hugo/content/tags/Blog/_index.zh-cn.md b/content/tags/Blog/_index.zh-cn.md
similarity index 100%
rename from hugo/content/tags/Blog/_index.zh-cn.md
rename to content/tags/Blog/_index.zh-cn.md
diff --git a/hugo/content/tags/Data-Structure/_index.zh-cn.md b/content/tags/Data-Structure/_index.zh-cn.md
similarity index 100%
rename from hugo/content/tags/Data-Structure/_index.zh-cn.md
rename to content/tags/Data-Structure/_index.zh-cn.md
diff --git a/hugo/content/tags/Graph/_index.zh-cn.md b/content/tags/Graph/_index.zh-cn.md
similarity index 100%
rename from hugo/content/tags/Graph/_index.zh-cn.md
rename to content/tags/Graph/_index.zh-cn.md
diff --git a/hugo/content/tags/Practice/_index.zh-cn.md b/content/tags/Practice/_index.zh-cn.md
similarity index 100%
rename from hugo/content/tags/Practice/_index.zh-cn.md
rename to content/tags/Practice/_index.zh-cn.md
diff --git a/css/main.scss b/css/main.scss
deleted file mode 100644
index 84f15ec6..00000000
--- a/css/main.scss
+++ /dev/null
@@ -1,70 +0,0 @@
----
-# Only the main Sass file needs front matter (the dashes are enough)
----
-@charset "utf-8";
-
-
-
-// Our variables
-$base-font-family: "Lato", "Helvetica Neue", Helvetica, Arial, "Microsoft Jhenghei", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
-$base-font-family:
- -apple-system,
- "Lato",
- "Helvetica Neue",
- "Arial",
- "PingFang SC",
- "Hiragino Sans GB",
- "STHeiti",
- "Microsoft YaHei",
- "Microsoft JhengHei",
- "WenQuanYi Micro Hei",
- sans-serif;
-
-$base-font-size: 16px;
-$base-font-weight: 400;
-$small-font-size: $base-font-size * 0.75;
-$base-line-height: 1.5;
-
-$spacing-unit: 30px;
-
-$text-color: #555555;
-$background-color: #ffffff;
-$brand-color: #1E88E5; //#b2b2b2;
-
-$grey-color: #828282;
-$grey-color-light: lighten($grey-color, 40%);
-$grey-color-dark: darken($grey-color, 25%);
-$header-bg-color: #fafafa;
-$footer-color: #37495F;
-$theme-color: #607D8B;
-
-// Width of the content area
-$content-width: 1000px;
-
-$on-palm: 600px;
-$on-laptop: 800px;
-
-
-
-// Use media queries like this:
-// @include media-query($on-palm) {
-// .wrapper {
-// padding-right: $spacing-unit / 2;
-// padding-left: $spacing-unit / 2;
-// }
-// }
-@mixin media-query($device) {
- @media screen and (max-width: $device) {
- @content;
- }
-}
-
-
-
-// Import partials from `sass_dir` (defaults to `_sass`)
-@import
- "base",
- "layout",
- "pagination",
- "syntax"
-;
diff --git a/feed.xml b/feed.xml
deleted file mode 100644
index a6628bd8..00000000
--- a/feed.xml
+++ /dev/null
@@ -1,30 +0,0 @@
----
-layout: null
----
-
-
-
- {{ site.title | xml_escape }}
- {{ site.description | xml_escape }}
- {{ site.url }}{{ site.baseurl }}/
-
- {{ site.time | date_to_rfc822 }}
- {{ site.time | date_to_rfc822 }}
- Jekyll v{{ jekyll.version }}
- {% for post in site.posts limit:10 %}
- -
-
{{ post.title | xml_escape }}
- {{ post.content | xml_escape }}
- {{ post.date | date_to_rfc822 }}
- {{ post.url | prepend: site.baseurl | prepend: site.url }}
- {{ post.url | prepend: site.baseurl | prepend: site.url }}
- {% for tag in post.tags %}
- {{ tag | xml_escape }}
- {% endfor %}
- {% for cat in post.categories %}
- {{ cat | xml_escape }}
- {% endfor %}
-
- {% endfor %}
-
-
diff --git a/google119f246be574c84f.html b/google119f246be574c84f.html
deleted file mode 100644
index 43affe04..00000000
--- a/google119f246be574c84f.html
+++ /dev/null
@@ -1 +0,0 @@
-google-site-verification: google119f246be574c84f.html
\ No newline at end of file
diff --git a/hugo/.gitignore b/hugo/.gitignore
deleted file mode 100644
index 7310dcae..00000000
--- a/hugo/.gitignore
+++ /dev/null
@@ -1,97 +0,0 @@
-
-# Created by https://www.toptal.com/developers/gitignore/api/hugo,macos,visualstudiocode,windows,linux
-# Edit at https://www.toptal.com/developers/gitignore?templates=hugo,macos,visualstudiocode,windows,linux
-
-### Hugo ###
-# Generated files by hugo
-/public/
-/resources/_gen/
-hugo_stats.json
-
-# Executable may be added to repository
-hugo.exe
-hugo.darwin
-hugo.linux
-
-### Linux ###
-*~
-
-# temporary files which can be created if a process still has a handle open of a deleted file
-.fuse_hidden*
-
-# KDE directory preferences
-.directory
-
-# Linux trash folder which might appear on any partition or disk
-.Trash-*
-
-# .nfs files are created when an open file is removed but is still being accessed
-.nfs*
-
-### macOS ###
-# General
-.DS_Store
-.AppleDouble
-.LSOverride
-
-# Icon must end with two \r
-Icon
-
-
-# Thumbnails
-._*
-
-# Files that might appear in the root of a volume
-.DocumentRevisions-V100
-.fseventsd
-.Spotlight-V100
-.TemporaryItems
-.Trashes
-.VolumeIcon.icns
-.com.apple.timemachine.donotpresent
-
-# Directories potentially created on remote AFP share
-.AppleDB
-.AppleDesktop
-Network Trash Folder
-Temporary Items
-.apdisk
-
-### VisualStudioCode ###
-.vscode/*
-!.vscode/tasks.json
-!.vscode/launch.json
-*.code-workspace
-
-### VisualStudioCode Patch ###
-# Ignore all local history of files
-.history
-.ionide
-
-### Windows ###
-# Windows thumbnail cache files
-Thumbs.db
-Thumbs.db:encryptable
-ehthumbs.db
-ehthumbs_vista.db
-
-# Dump file
-*.stackdump
-
-# Folder config file
-[Dd]esktop.ini
-
-# Recycle Bin used on file shares
-$RECYCLE.BIN/
-
-# Windows Installer files
-*.cab
-*.msi
-*.msix
-*.msm
-*.msp
-
-# Windows shortcuts
-*.lnk
-
-# End of https://www.toptal.com/developers/gitignore/api/hugo,macos,visualstudiocode,windows,linux
\ No newline at end of file
diff --git a/hugo/themes/LoveIt b/hugo/themes/LoveIt
deleted file mode 160000
index f787a4e5..00000000
--- a/hugo/themes/LoveIt
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit f787a4e5ad4edf60467658d10c286248dc5027a6
diff --git a/hugo/i18n/en.toml b/i18n/en.toml
similarity index 100%
rename from hugo/i18n/en.toml
rename to i18n/en.toml
diff --git a/hugo/i18n/zh-CN.toml b/i18n/zh-CN.toml
similarity index 100%
rename from hugo/i18n/zh-CN.toml
rename to i18n/zh-CN.toml
diff --git a/img/about-bg.jpg b/img/about-bg.jpg
deleted file mode 100644
index 53686f8f..00000000
Binary files a/img/about-bg.jpg and /dev/null differ
diff --git a/img/about-me-big.png b/img/about-me-big.png
deleted file mode 100644
index 65a4fd66..00000000
Binary files a/img/about-me-big.png and /dev/null differ
diff --git a/img/about-me-small.png b/img/about-me-small.png
deleted file mode 100644
index 0941b921..00000000
Binary files a/img/about-me-small.png and /dev/null differ
diff --git a/img/favicon.png b/img/favicon.png
deleted file mode 100644
index f10b6143..00000000
Binary files a/img/favicon.png and /dev/null differ
diff --git a/img/favicon1.ico b/img/favicon1.ico
deleted file mode 100644
index 9f7a82f2..00000000
Binary files a/img/favicon1.ico and /dev/null differ
diff --git a/img/post/CLDictP_demo.gif b/img/post/CLDictP_demo.gif
deleted file mode 100644
index 6ac2c8ed..00000000
Binary files a/img/post/CLDictP_demo.gif and /dev/null differ
diff --git a/img/post/Sorted_binary_tree_breadth-first_traversal.svg b/img/post/Sorted_binary_tree_breadth-first_traversal.svg
deleted file mode 100644
index 697d7dbb..00000000
--- a/img/post/Sorted_binary_tree_breadth-first_traversal.svg
+++ /dev/null
@@ -1,134 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- sorted_binary_tree
-
- C
-
- C
-
-
- E
-
- E
-
-
- H
-
- H
-
-
- A
-
- A
-
-
- D
-
- D
-
-
- D->C
-
-
-
-
- D->E
-
-
-
-
- I
-
- I
-
-
- I->H
-
-
-
-
- B
-
- B
-
-
- B->A
-
-
-
-
- B->D
-
-
-
-
- G
-
- G
-
-
- G->I
-
-
-
-
- F
-
- F
-
-
- F->B
-
-
-
-
- F->G
-
-
-
-
-
diff --git a/img/post/Sorted_binary_tree_inorder.svg b/img/post/Sorted_binary_tree_inorder.svg
deleted file mode 100644
index 4f754c9d..00000000
--- a/img/post/Sorted_binary_tree_inorder.svg
+++ /dev/null
@@ -1,730 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- image/svg+xml
-
-
-
-
-
-
-
- sorted_binary_tree
-
- C
-
- C
-
-
- E
-
- E
-
-
- H
-
- H
-
-
- A
-
- A
-
-
- D
-
- D
-
-
- D->C
-
-
-
-
- D->E
-
-
-
-
- I
-
- I
-
-
- I->H
-
-
-
-
- B
-
- B
-
-
- B->A
-
-
-
-
- B->D
-
-
-
-
- G
-
- G
-
-
- G->I
-
-
-
-
- F
-
- F
-
-
- F->B
-
-
-
-
- F->G
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/img/post/Sorted_binary_tree_postorder.svg b/img/post/Sorted_binary_tree_postorder.svg
deleted file mode 100644
index 793e942d..00000000
--- a/img/post/Sorted_binary_tree_postorder.svg
+++ /dev/null
@@ -1,730 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- image/svg+xml
-
-
-
-
-
-
-
- sorted_binary_tree
-
- C
-
- C
-
-
- E
-
- E
-
-
- H
-
- H
-
-
- A
-
- A
-
-
- D
-
- D
-
-
- D->C
-
-
-
-
- D->E
-
-
-
-
- I
-
- I
-
-
- I->H
-
-
-
-
- B
-
- B
-
-
- B->A
-
-
-
-
- B->D
-
-
-
-
- G
-
- G
-
-
- G->I
-
-
-
-
- F
-
- F
-
-
- F->B
-
-
-
-
- F->G
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/img/post/Sorted_binary_tree_preorder.svg b/img/post/Sorted_binary_tree_preorder.svg
deleted file mode 100644
index a078d751..00000000
--- a/img/post/Sorted_binary_tree_preorder.svg
+++ /dev/null
@@ -1,729 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- image/svg+xml
-
-
-
-
-
-
-
- sorted_binary_tree
-
- C
-
- C
-
-
- E
-
- E
-
-
- H
-
- H
-
-
- A
-
- A
-
-
- D
-
- D
-
-
- D->C
-
-
-
-
- D->E
-
-
-
-
- I
-
- I
-
-
- I->H
-
-
-
-
- B
-
- B
-
-
- B->A
-
-
-
-
- B->D
-
-
-
-
- G
-
- G
-
-
- G->I
-
-
-
-
- F
-
- F
-
-
- F->B
-
-
-
-
- F->G
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/img/post/blog_story.jpg b/img/post/blog_story.jpg
deleted file mode 100644
index 974a9148..00000000
Binary files a/img/post/blog_story.jpg and /dev/null differ
diff --git a/img/post/complete_binary_tree.gif b/img/post/complete_binary_tree.gif
deleted file mode 100644
index 8ecfa01c..00000000
Binary files a/img/post/complete_binary_tree.gif and /dev/null differ
diff --git a/img/post/complete_binary_tree_1.gif b/img/post/complete_binary_tree_1.gif
deleted file mode 100644
index a0ade5d0..00000000
Binary files a/img/post/complete_binary_tree_1.gif and /dev/null differ
diff --git a/img/post/depth_height.gif b/img/post/depth_height.gif
deleted file mode 100644
index d4c51c7e..00000000
Binary files a/img/post/depth_height.gif and /dev/null differ
diff --git a/img/post/fliptile_1.svg b/img/post/fliptile_1.svg
deleted file mode 100644
index 3e064588..00000000
--- a/img/post/fliptile_1.svg
+++ /dev/null
@@ -1,138 +0,0 @@
-
-
-
- Untitled
- Created with Sketch.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Flip
-
-
-
\ No newline at end of file
diff --git a/img/post/fliptile_2.svg b/img/post/fliptile_2.svg
deleted file mode 100644
index a3613cf9..00000000
--- a/img/post/fliptile_2.svg
+++ /dev/null
@@ -1 +0,0 @@
-i, j check others current i-1, j
\ No newline at end of file
diff --git a/img/post/full_binary_tree.gif b/img/post/full_binary_tree.gif
deleted file mode 100644
index f22d24fa..00000000
Binary files a/img/post/full_binary_tree.gif and /dev/null differ
diff --git a/img/post/full_binary_tree_1.gif b/img/post/full_binary_tree_1.gif
deleted file mode 100644
index 10abac88..00000000
Binary files a/img/post/full_binary_tree_1.gif and /dev/null differ
diff --git a/img/post/link_in.gif b/img/post/link_in.gif
deleted file mode 100644
index 044d0f14..00000000
Binary files a/img/post/link_in.gif and /dev/null differ
diff --git a/img/post/max_sum_2D.gif b/img/post/max_sum_2D.gif
deleted file mode 100644
index 3b7369b0..00000000
Binary files a/img/post/max_sum_2D.gif and /dev/null differ
diff --git a/img/post/maximum_sum.png b/img/post/maximum_sum.png
deleted file mode 100644
index 2e4fba97..00000000
Binary files a/img/post/maximum_sum.png and /dev/null differ
diff --git a/img/post/queue_dequeue.gif b/img/post/queue_dequeue.gif
deleted file mode 100644
index 9d3ab35b..00000000
Binary files a/img/post/queue_dequeue.gif and /dev/null differ
diff --git a/img/post/queue_enqueue.gif b/img/post/queue_enqueue.gif
deleted file mode 100644
index 31752706..00000000
Binary files a/img/post/queue_enqueue.gif and /dev/null differ
diff --git a/img/post/stack_pop.gif b/img/post/stack_pop.gif
deleted file mode 100644
index b6000f3e..00000000
Binary files a/img/post/stack_pop.gif and /dev/null differ
diff --git a/img/post/stack_push.gif b/img/post/stack_push.gif
deleted file mode 100644
index 7f3065b0..00000000
Binary files a/img/post/stack_push.gif and /dev/null differ
diff --git a/img/post/static_linked_list_example.svg b/img/post/static_linked_list_example.svg
deleted file mode 100644
index eaf36540..00000000
--- a/img/post/static_linked_list_example.svg
+++ /dev/null
@@ -1 +0,0 @@
-1 2 4 3
\ No newline at end of file
diff --git a/img/post/static_linked_list_list.svg b/img/post/static_linked_list_list.svg
deleted file mode 100644
index 66b10b51..00000000
--- a/img/post/static_linked_list_list.svg
+++ /dev/null
@@ -1 +0,0 @@
-1 2 3 4 2 4 4 3 3 4 2
\ No newline at end of file
diff --git a/img/readmore.gif b/img/readmore.gif
deleted file mode 100644
index 1b484797..00000000
Binary files a/img/readmore.gif and /dev/null differ
diff --git a/img/search.svg b/img/search.svg
deleted file mode 100644
index ccc84b62..00000000
--- a/img/search.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/index.cn.html b/index.cn.html
deleted file mode 100644
index 5c44b909..00000000
--- a/index.cn.html
+++ /dev/null
@@ -1,27 +0,0 @@
----
-layout: default
-lang: cn
----
-
-
- {% assign posts=site.posts | where:"lang", page.lang %}
-
-
- {% for post in paginator.posts %}
-
-
-
- {{ post.excerpt | truncatewords: 50 }}
-
-
- 发布于{{ post.date | date: "%Y年%-m月%-d日" }}   
- {% assign sorted_tags = post.tags | sort %}
- {% for tag in sorted_tags %}
-
{{ tag }}
- {% endfor %}
-
-
- {% endfor %}
-
- {% include pagination.html %}
-
diff --git a/index.html b/index.html
deleted file mode 100644
index d598c399..00000000
--- a/index.html
+++ /dev/null
@@ -1,27 +0,0 @@
----
-layout: default
-lang: en
----
-
-
- {% assign posts=site.posts | where:"lang", page.lang %}
-
-
- {% for post in paginator.posts %}
-
-
-
- {{ post.excerpt | truncatewords: 100 }}
-
-
- Posted on {{ post.date | date: "%b %-d, %Y" }}   
- {% assign sorted_tags = post.tags | sort %}
- {% for tag in sorted_tags %}
-
{{ tag }}
- {% endfor %}
-
-
- {% endfor %}
-
- {% include pagination.html %}
-
diff --git a/js/jquery.min.js b/js/jquery.min.js
deleted file mode 100644
index 6c60672f..00000000
--- a/js/jquery.min.js
+++ /dev/null
@@ -1,5 +0,0 @@
-/*! jQuery v1.12.0 | (c) jQuery Foundation | jquery.org/license */
-!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=a.document,e=c.slice,f=c.concat,g=c.push,h=c.indexOf,i={},j=i.toString,k=i.hasOwnProperty,l={},m="1.12.0",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return e.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return n.each(this,a)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(e.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:g,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){var b=a&&a.toString();return!n.isArray(a)&&b-parseFloat(b)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!k.call(a,"constructor")&&!k.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(!l.ownFirst)for(b in a)return k.call(a,b);for(b in a);return void 0===b||k.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?i[j.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(s(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):g.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(h)return h.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,g=0,h=[];if(s(a))for(d=a.length;d>g;g++)e=b(a[g],g,c),null!=e&&h.push(e);else for(g in a)e=b(a[g],g,c),null!=e&&h.push(e);return f.apply([],h)},guid:1,proxy:function(a,b){var c,d,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=e.call(arguments,2),d=function(){return a.apply(b||this,c.concat(e.call(arguments)))},d.guid=a.guid=a.guid||n.guid++,d):void 0},now:function(){return+new Date},support:l}),"function"==typeof Symbol&&(n.fn[Symbol.iterator]=c[Symbol.iterator]),n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){i["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=!!a&&"length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+M+"))|)"+L+"*\\]",O=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+N+")*)|.*)\\)|)",P=new RegExp(L+"+","g"),Q=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),R=new RegExp("^"+L+"*,"+L+"*"),S=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),T=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),U=new RegExp(O),V=new RegExp("^"+M+"$"),W={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,aa=/'|\\/g,ba=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ca=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(ea){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fa(a,b,d,e){var f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==x&&9!==x&&11!==x)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.exec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(o[2])return H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassName&&b.getElementsByClassName)return H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==x)w=b,s=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(aa,"\\$&"):b.setAttribute("id",k=u),r=g(a),h=r.length,l=V.test(k)?"#"+k:"[id='"+k+"']";while(h--)r[h]=l+" "+qa(r[h]);s=r.join(","),w=_.test(a)&&oa(b.parentNode)||b}if(s)try{return H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function ga(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ha(a){return a[u]=!0,a}function ia(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ja(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ka(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function la(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function na(a){return ha(function(b){return b=+b,ha(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function oa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=fa.support={},f=fa.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fa.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ia(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ia(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ia(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Z.test(n.querySelectorAll))&&(ia(function(a){o.appendChild(a).innerHTML=" ",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ia(function(a){var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ia(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",O)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return ka(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?ka(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},fa.matches=function(a,b){return fa(a,null,null,b)},fa.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fa(b,n,null,[a]).length>0},fa.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fa.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fa.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fa.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fa.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fa.selectors={cacheLength:50,createPseudo:ha,match:W,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ba,ca),a[3]=(a[3]||a[4]||a[5]||"").replace(ba,ca),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fa.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fa.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ba,ca).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fa.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(P," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fa.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ha(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ha(function(a){var b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?ha(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ha(function(a){return function(b){return fa(a,b).length>0}}),contains:ha(function(a){return a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ha(function(a){return V.test(a||"")||fa.error("unsupported lang: "+a),a=a.replace(ba,ca).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Y.test(a.nodeName)},input:function(a){return X.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:na(function(){return[0]}),last:na(function(a,b){return[b-1]}),eq:na(function(a,b,c){return[0>c?c+b:c]}),even:na(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:na(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:na(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:na(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function ra(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(j=b[u]||(b[u]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===w&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function sa(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ta(a,b,c){for(var d=0,e=b.length;e>d;d++)fa(a,b[d],c);return c}function ua(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function va(a,b,c,d,e,f){return d&&!d[u]&&(d=va(d)),e&&!e[u]&&(e=va(e,f)),ha(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ta(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ua(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ua(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ua(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function wa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ra(function(a){return a===b},h,!0),l=ra(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ra(sa(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return va(i>1&&sa(m),i>1&&qa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(Q,"$1"),c,e>i&&wa(a.slice(i,e)),f>e&&wa(a=a.slice(e)),f>e&&qa(a))}m.push(c)}return sa(m)}function xa(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=F.call(i));u=ua(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&fa.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ha(f):f}return h=fa.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xa(e,d)),f.selector=a}return f},i=fa.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ba,ca),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ba,ca),_.test(j[0].type)&&oa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qa(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&oa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ia(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ia(function(a){return a.innerHTML=" ","#"===a.firstChild.getAttribute("href")})||ja("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ia(function(a){return a.innerHTML=" ",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ja("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ia(function(a){return null==a.getAttribute("disabled")})||ja(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fa}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.uniqueSort=n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},v=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},w=n.expr.match.needsContext,x=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,y=/^.[^:#\[\.,]*$/;function z(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(y.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>-1!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))return!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(z(this,a||[],!1))},not:function(a){return this.pushStack(z(this,a||[],!0))},is:function(a){return!!z(this,"string"==typeof a&&w.test(a)?n(a):a||[],!1).length}});var A,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=n.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||A,"string"==typeof a){if(e="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:B.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),x.test(e[1])&&n.isPlainObject(b))for(e in b)n.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}if(f=d.getElementById(e[2]),f&&f.parentNode){if(f.id!==e[2])return A.find(a);this.length=1,this[0]=f}return this.context=d,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof c.ready?c.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};C.prototype=n.fn,A=n(d);var D=/^(?:parents|prev(?:Until|All))/,E={children:!0,contents:!0,next:!0,prev:!0};n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=w.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.uniqueSort(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function F(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return u(a,"parentNode")},parentsUntil:function(a,b,c){return u(a,"parentNode",c)},next:function(a){return F(a,"nextSibling")},prev:function(a){return F(a,"previousSibling")},nextAll:function(a){return u(a,"nextSibling")},prevAll:function(a){return u(a,"previousSibling")},nextUntil:function(a,b,c){return u(a,"nextSibling",c)},prevUntil:function(a,b,c){return u(a,"previousSibling",c)},siblings:function(a){return v((a.parentNode||{}).firstChild,a)},children:function(a){return v(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(E[a]||(e=n.uniqueSort(e)),D.test(a)&&(e=e.reverse())),this.pushStack(e)}});var G=/\S+/g;function H(a){var b={};return n.each(a.match(G)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?H(a):n.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?n.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=!0,c||j.disable(),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=e.call(arguments),d=c.length,f=1!==d||a&&n.isFunction(a.promise)?d:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?e.call(arguments):d,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(d>1)for(i=new Array(d),j=new Array(d),k=new Array(d);d>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().progress(h(b,j,i)).done(h(b,k,c)).fail(g.reject):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(d,[n]),n.fn.triggerHandler&&(n(d).triggerHandler("ready"),n(d).off("ready"))))}});function J(){d.addEventListener?(d.removeEventListener("DOMContentLoaded",K),a.removeEventListener("load",K)):(d.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(d.addEventListener||"load"===a.event.type||"complete"===d.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===d.readyState)a.setTimeout(n.ready);else if(d.addEventListener)d.addEventListener("DOMContentLoaded",K),a.addEventListener("load",K);else{d.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&d.documentElement}catch(e){}c&&c.doScroll&&!function f(){if(!n.isReady){try{c.doScroll("left")}catch(b){return a.setTimeout(f,50)}J(),n.ready()}}()}return I.promise(b)},n.ready.promise();var L;for(L in n(l))break;l.ownFirst="0"===L,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c,e;c=d.getElementsByTagName("body")[0],c&&c.style&&(b=d.createElement("div"),e=d.createElement("div"),e.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(e).appendChild(b),"undefined"!=typeof b.style.zoom&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",l.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(e))}),function(){var a=d.createElement("div");l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}a=null}();var M=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b},N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0}return c}function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;
-return!0}function R(a,b,d,e){if(M(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f}}function S(a,b,c){if(M(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=void 0)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},Z=/^(?:checkbox|radio)$/i,$=/<([\w:-]+)/,_=/^$|\/(?:java|ecma)script/i,aa=/^\s+/,ba="abbr|article|aside|audio|bdi|canvas|data|datalist|details|dialog|figcaption|figure|footer|header|hgroup|main|mark|meter|nav|output|picture|progress|section|summary|template|time|video";function ca(a){var b=ba.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}!function(){var a=d.createElement("div"),b=d.createDocumentFragment(),c=d.createElement("input");a.innerHTML=" a ",l.leadingWhitespace=3===a.firstChild.nodeType,l.tbody=!a.getElementsByTagName("tbody").length,l.htmlSerialize=!!a.getElementsByTagName("link").length,l.html5Clone="<:nav>"!==d.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,b.appendChild(c),l.appendChecked=c.checked,a.innerHTML="",l.noCloneChecked=!!a.cloneNode(!0).lastChild.defaultValue,b.appendChild(a),c=d.createElement("input"),c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),a.appendChild(c),l.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!!a.addEventListener,a[n.expando]=1,l.attributes=!a.getAttribute(n.expando)}();var da={option:[1,""," "],legend:[1,""," "],area:[1,""," "],param:[1,""," "],thead:[1,""],tr:[2,""],col:[2,""],td:[3,""],_default:l.htmlSerialize?[0,"",""]:[1,"X","
"]};da.optgroup=da.option,da.tbody=da.tfoot=da.colgroup=da.caption=da.thead,da.th=da.td;function ea(a,b){var c,d,e=0,f="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,ea(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function fa(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}var ga=/<|?\w+;/,ha=/r;r++)if(g=a[r],g||0===g)if("object"===n.type(g))n.merge(q,g.nodeType?[g]:g);else if(ga.test(g)){i=i||p.appendChild(b.createElement("div")),j=($.exec(g)||["",""])[1].toLowerCase(),m=da[j]||da._default,i.innerHTML=m[1]+n.htmlPrefilter(g)+m[2],f=m[0];while(f--)i=i.lastChild;if(!l.leadingWhitespace&&aa.test(g)&&q.push(b.createTextNode(aa.exec(g)[0])),!l.tbody){g="table"!==j||ha.test(g)?""!==m[1]||ha.test(g)?0:i:i.firstChild,f=g&&g.childNodes.length;while(f--)n.nodeName(k=g.childNodes[f],"tbody")&&!k.childNodes.length&&g.removeChild(k)}n.merge(q,i.childNodes),i.textContent="";while(i.firstChild)i.removeChild(i.firstChild);i=p.lastChild}else q.push(b.createTextNode(g));i&&p.removeChild(i),l.appendChecked||n.grep(ea(q,"input"),ia),r=0;while(g=q[r++])if(d&&n.inArray(g,d)>-1)e&&e.push(g);else if(h=n.contains(g.ownerDocument,g),i=ea(p.appendChild(g),"script"),h&&fa(i),c){f=0;while(g=i[f++])_.test(g.type||"")&&c.push(g)}return i=null,p}!function(){var b,c,e=d.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b]=c in a)||(e.setAttribute(c,"t"),l[b]=e.attributes[c].expando===!1);e=null}();var ka=/^(?:input|select|textarea)$/i,la=/^key/,ma=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,na=/^(?:focusinfocus|focusoutblur)$/,oa=/^([^.]*)(?:\.(.+)|)/;function pa(){return!0}function qa(){return!1}function ra(){try{return d.activeElement}catch(a){}}function sa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)sa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=qa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return n().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=n.guid++)),a.each(function(){n.event.add(this,b,e,d,c)})}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return"undefined"==typeof n||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(G)||[""],h=b.length;while(h--)f=oa.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(G)||[""],j=b.length;while(j--)if(h=oa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,e,f){var g,h,i,j,l,m,o,p=[e||d],q=k.call(b,"type")?b.type:b,r=k.call(b,"namespace")?b.namespace.split("."):[];if(i=m=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!na.test(q+n.event.triggered)&&(q.indexOf(".")>-1&&(r=q.split("."),q=r.shift(),r.sort()),h=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=r.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:n.makeArray(c,[b]),l=n.event.special[q]||{},f||!l.trigger||l.trigger.apply(e,c)!==!1)){if(!f&&!l.noBubble&&!n.isWindow(e)){for(j=l.delegateType||q,na.test(j+q)||(i=i.parentNode);i;i=i.parentNode)p.push(i),m=i;m===(e.ownerDocument||d)&&p.push(m.defaultView||m.parentWindow||a)}o=0;while((i=p[o++])&&!b.isPropagationStopped())b.type=o>1?j:l.bindType||q,g=(n._data(i,"events")||{})[b.type]&&n._data(i,"handle"),g&&g.apply(i,c),g=h&&i[h],g&&g.apply&&M(i)&&(b.result=g.apply(i,c),b.result===!1&&b.preventDefault());if(b.type=q,!f&&!b.isDefaultPrevented()&&(!l._default||l._default.apply(p.pop(),c)===!1)&&M(e)&&h&&e[q]&&!n.isWindow(e)){m=e[h],m&&(e[h]=null),n.event.triggered=q;try{e[q]()}catch(s){}n.event.triggered=void 0,m&&(e[h]=m)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,d,f,g,h=[],i=e.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.rnamespace||a.rnamespace.test(g.namespace))&&(a.handleObj=g,a.data=g.data,d=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>-1:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h ]","i"),va=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,wa=/
-
-{% endfor %}
diff --git a/pages/tags.html b/pages/tags.html
deleted file mode 100644
index 31a81489..00000000
--- a/pages/tags.html
+++ /dev/null
@@ -1,40 +0,0 @@
----
-layout: default
-title: Tags
-permalink: /tags/
-lang: en
----
-
-{% include sidebar.html %}
-
-{% for tag in site.tags %}
-{% assign t = tag | first %}
-{% assign posts = tag | last %}
-
- {% assign numPosts = posts | size | divided_by: 2 %}
-
{{ t }} ({{ numPosts }})
-
- {% for post in posts %}
- {% if post.tags contains t %}
- {% if post.language == page.language %}
-
- {{ post.title }}
-
- {{ post.date | date: "%b %-d, %Y" }}
-
-
-
- {% endif %}
- {% endif %}
- {% endfor %}
-
-
-
-
-
-{% endfor %}
diff --git a/public/404.html b/public/404.html
new file mode 100644
index 00000000..26203e4e
--- /dev/null
+++ b/public/404.html
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+
+ 404 Page not found - PwzXxm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
The page you're looking for doesn't exist. Sorry.
+
+
+
+
+
+
+
+
diff --git a/hugo/static/android-chrome-144x144.png b/public/android-chrome-144x144.png
similarity index 100%
rename from hugo/static/android-chrome-144x144.png
rename to public/android-chrome-144x144.png
diff --git a/hugo/static/apple-touch-icon.png b/public/apple-touch-icon.png
similarity index 100%
rename from hugo/static/apple-touch-icon.png
rename to public/apple-touch-icon.png
diff --git a/public/binary-tree/index.html b/public/binary-tree/index.html
new file mode 100644
index 00000000..cc4fa46a
--- /dev/null
+++ b/public/binary-tree/index.html
@@ -0,0 +1,412 @@
+
+
+
+
+
+
+
+ Binary Tree - PwzXxm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Binary Tree
+
+
Jan 1 0001 596 words
+ 3 minutes
+
Binary tree is called so because of its shape. It’s like a tree, it have leaves and a root. In computer science, the “tree” is usually upside down, the root at the top and leaves grow below it. It is binary so it every node only can have 0, 1 or 2 leaves.
+
+
+
+
+
Terminologies
+
Leaf Node
+
The node do NOT have any child nodes.
+
Inner Node
+
The Node between the leaf node and the root.
+
Height and Depth
+
Height and Depth of the tree are basically the same thing which indicates how many levels the tree have, usually starts at 0.
+
However, the height and depth of the node is different. The height and depth of a node is the distance on longest path to the leaf node and root respectively.
+
+
+
+
Types
+
Full Binary Tree
+
Every node in the tree has either 0 or 2 children.
+
+
+
Complete Binary Tree
+
Every level except possibly the last level, has maximum number of nodes. All nodes in the last level are all at the left of the tree continuously.
+
+
+
+Total number of nodes \(k\)
+Height of tree \(h\)
+
+
+
+
+\(2^h \le k \lt 2^{h+1} - 1\)
+\(h = \lfloor\log_2k\rfloor\)
+
+
+
+
+
+
+
+
Implementation
+
Array
+
Array can be used to store a tree, usually in breadth-first order. It is quite good at store a complete binary tree as it will not waste spaces. The root is store at the index \(i = 0\), and its children are stored in \(i = 1\) and \(i = 2\). It has property that A node at \(i\), its children at \(2i + 1\) (left) and \(2i + 2\) (right) . However, it wastes a lot of spaces when storing other trees other than complete binary trees.
+
Struct or Class
+
Creating nodes and connect them to their parents.
+
+
+1
+ 2
+ 3
+ 4
+ 5
+
+
+struct node {
+ int data ;
+ struct node * left ;
+ struct node * right ;
+}
+
+
+
+
+
Tree Traversal
+
### Depth First Search (DFS)
+Search the tree in the priority of depth. Using recursive calls for tree traversal is usually a good idea.
+
Pre-order
+
Root-Left-Right
+
+Starts from the root
+If left subtree has element in it, go to left. If not, go right.
+
+
In-order
+
Left-Root-Right
+
Post-order
+
Left-Right-Root
+
Determine a unique tree
+
There are only two ways to determine a unique tree given two types of traverse order.
+
Pre-order and In-order
+
The first element of a pre-order must be the root of the tree. Then find the same element in the In-order, we can divide the tree into two subtrees, left and right. Using the length of the left and right subtrees to find the sequences in pre-order respectively, then we can find the root element for left and right subtrees. Recursive repeat this process.
+
In-order and Post-order
+
Similar as above, except the root element is the last element in post-order traversal.
+
Tips
+
Rather than remembering the sequence, there is another way to remembering the order.
+
+Draw a continuous line, starts and ends at the root of the tree, starts from left, around the tree
+Try following:
+
+
+Pre-order: draw a dot at the left of each node
+In-order: draw a dot at the bottom of each node
+Post-order: draw a dot at the right of each node
+
+
+Follow the line we drew, the sequence of touching dots is the sequence of traversal.
+
+
+
+
+Pre-order
+In-order
+Post-order
+
+
+
+
+
+
+
+
+
+
+
### Breadth First Search (BFS)
+Traverse from the root to bottom, go thought each level first.
+
+
+
+
+
+
+
diff --git a/public/binary-tree/index.md b/public/binary-tree/index.md
new file mode 100644
index 00000000..b93c8b5c
--- /dev/null
+++ b/public/binary-tree/index.md
@@ -0,0 +1,133 @@
+# Binary Tree
+
+
+Binary tree is called so because of its shape. It's like a tree, it have leaves and a root. In computer science, the "tree" is usually upside down, the root at the top and leaves grow below it. It is binary so it every node only can have 0, 1 or 2 leaves.
+
+
+
+**Contents**
+
+- [Terminologies](#terminologies)
+ - [Leaf Node](#leaf-node)
+ - [Inner Node](#inner-node)
+ - [Height and Depth](#height-and-depth)
+- [Types](#types)
+ - [Full Binary Tree](#full-binary-tree)
+ - [Complete Binary Tree](#complete-binary-tree)
+- [Implementation](#implementation)
+ - [Array](#array)
+ - [Struct or Class](#struct-or-class)
+- [Tree Traversal](#tree-traversal)
+ - [Depth First Search (DFS)](#depth-first-search)
+ - [Breadth First Search (BFS)](#breadth-first-search)
+
+
+
+-----
+
+## Terminologies
+
+### Leaf Node
+The node do NOT have any child nodes.
+
+### Inner Node
+The Node between the leaf node and the root.
+
+### Height and Depth
+Height and Depth of the **tree** are basically the same thing which indicates how many levels the tree have, usually starts at 0.
+
+However, the height and depth of the **node** is different. The **height** and **depth** of a node is the distance on longest path to the leaf node and root respectively.
+
+![depth_height](/img/post/depth_height.gif)
+
+
+
+-----
+
+## Types
+
+### Full Binary Tree
+Every node in the tree has either 0 or 2 children.
+
+![full_bt](/img/post/full_binary_tree.gif)
+![full_b_1](/img/post/full_binary_tree_1.gif)
+
+### Complete Binary Tree
+Every level except possibly the last level, has maximum number of nodes. All nodes in the last level are all at the left of the tree continuously.
+
+Total number of nodes \\(k\\) | Height of tree \\(h\\)
+--- | ---
+\\(2^h \le k \lt 2^{h+1} - 1\\) | \\(h = \lfloor\log_2k\rfloor\\)
+
+![complete_bt](/img/post/complete_binary_tree.gif)
+![complete_bt_1](/img/post/complete_binary_tree_1.gif)
+
+
+
+-----
+
+## Implementation
+
+### Array
+Array can be used to store a tree, usually in breadth-first order. It is quite good at store a complete binary tree as it will not waste spaces. The root is store at the index \\(i = 0\\), and its children are stored in \\(i = 1\\) and \\(i = 2\\). It has property that **A node at \\(i\\), its children at \\(2i + 1\\) (left) and \\(2i + 2\\) (right)**. However, it wastes a lot of spaces when storing other trees other than complete binary trees.
+
+### Struct or Class
+Creating nodes and connect them to their parents.
+
+``` cpp
+struct node {
+ int data;
+ struct node* left;
+ struct node* right;
+}
+```
+
+
+
+-----
+
+## Tree Traversal
+
+### Depth First Search (DFS)
+Search the tree in the priority of depth. Using recursive calls for tree traversal is usually a good idea.
+
+#### Pre-order
+Root-Left-Right
+
+1. Starts from the root
+1. If left subtree has element in it, go to left. If not, go right.
+
+#### In-order
+Left-Root-Right
+
+#### Post-order
+Left-Right-Root
+
+#### Determine a unique tree
+There are only two ways to determine a unique tree given two types of traverse order.
+
+##### Pre-order and In-order
+The first element of a pre-order must be the root of the tree. Then find the same element in the In-order, we can divide the tree into two subtrees, left and right. Using the length of the left and right subtrees to find the sequences in pre-order respectively, then we can find the root element for left and right subtrees. Recursive repeat this process.
+
+##### In-order and Post-order
+Similar as above, except the root element is the last element in post-order traversal.
+
+#### Tips
+Rather than remembering the sequence, there is another way to remembering the order.
+
+1. Draw a continuous line, starts and ends at the root of the tree, starts from left, around the tree
+1. Try following:
+ - Pre-order: draw a dot at the **left** of each node
+ - In-order: draw a dot at the **bottom** of each node
+ - Post-order: draw a dot at the **right** of each node
+1. Follow the line we drew, the sequence of touching dots is the sequence of traversal.
+
+Pre-order|In-order|Post-order
+---|---|---
+![preorder_line](/img/post/Sorted_binary_tree_preorder.svg)|![inorder_line](/img/post/Sorted_binary_tree_inorder.svg)|![postorder_line](/img/post/Sorted_binary_tree_postorder.svg)
+
+### Breadth First Search (BFS)
+Traverse from the root to bottom, go thought each level first.
+
+![bfs](/img/post/Sorted_binary_tree_breadth-first_traversal.svg)
+
diff --git a/hugo/static/browserconfig.xml b/public/browserconfig.xml
similarity index 100%
rename from hugo/static/browserconfig.xml
rename to public/browserconfig.xml
diff --git a/public/categories/computerscience/index.html b/public/categories/computerscience/index.html
new file mode 100644
index 00000000..0d6e09e9
--- /dev/null
+++ b/public/categories/computerscience/index.html
@@ -0,0 +1,107 @@
+
+
+
+
+
+
+
+ ComputerScience - Category - PwzXxm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/public/categories/computerscience/index.xml b/public/categories/computerscience/index.xml
new file mode 100644
index 00000000..ada2b6bd
--- /dev/null
+++ b/public/categories/computerscience/index.xml
@@ -0,0 +1,16 @@
+
+
+ ComputerScience - Category - PwzXxm
+ https://www.pwzxxm.com/categories/computerscience/
+ ComputerScience - Category - PwzXxm
+ Hugo -- gohugo.io en patrick.weizhixu@hotmail.com (PwzXxm)
+ patrick.weizhixu@hotmail.com (PwzXxm) This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License. -
+
Binary Tree
+ https://www.pwzxxm.com/binary-tree/
+ Mon, 01 Jan 0001 00:00:00 +0000
+ Author
+ https://www.pwzxxm.com/binary-tree/
+
+
+
diff --git a/public/categories/computerscience/page/1/index.html b/public/categories/computerscience/page/1/index.html
new file mode 100644
index 00000000..789a714a
--- /dev/null
+++ b/public/categories/computerscience/page/1/index.html
@@ -0,0 +1 @@
+https://www.pwzxxm.com/categories/computerscience/
\ No newline at end of file
diff --git a/public/categories/index.html b/public/categories/index.html
new file mode 100644
index 00000000..bd9e5216
--- /dev/null
+++ b/public/categories/index.html
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+ All Categories - PwzXxm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/public/categories/index.xml b/public/categories/index.xml
new file mode 100644
index 00000000..b92677a3
--- /dev/null
+++ b/public/categories/index.xml
@@ -0,0 +1,10 @@
+
+
+
+ Categories on My New Hugo Site
+ http://example.org/categories/
+ Recent content in Categories on My New Hugo Site
+ Hugo -- gohugo.io
+ en-us
+
+
diff --git a/public/css/style.min.b968834c66344e44ffada08194137b02bcf0435afd115801f0b0112aaf0fd0f672e009ac24d9c4d5a8090bfe2824bd60.css b/public/css/style.min.b968834c66344e44ffada08194137b02bcf0435afd115801f0b0112aaf0fd0f672e009ac24d9c4d5a8090bfe2824bd60.css
new file mode 100644
index 00000000..b1bd70c2
--- /dev/null
+++ b/public/css/style.min.b968834c66344e44ffada08194137b02bcf0435afd115801f0b0112aaf0fd0f672e009ac24d9c4d5a8090bfe2824bd60.css
@@ -0,0 +1,3 @@
+html{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,"Microsoft YaHei UI","Microsoft YaHei","微软雅黑","PingFang SC",sans-seri;font-weight:400;font-display:swap;font-size:16px;line-height:1.5rem;width:100%}::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-thumb{background-color:#87878d}::-webkit-scrollbar-thumb:hover{background-color:#a9a9b3}::selection{background-color:rgba(53,166,247,0.25)}[theme=dark] ::selection{background-color:rgba(50,112,194,0.4)}body{background-color:#fff;color:#161209;word-wrap:break-word;overflow-wrap:break-word;scrollbar-color:auto}body[theme=dark]{color:#a9a9b3;background-color:#292a2d}input::-ms-clear{display:none}a,a::before,a::after{text-decoration:none;color:#161209}[theme=dark] a,[theme=dark] a::before,[theme=dark] a::after{color:#a9a9b3}a:active,a:hover{color:#2d96bd}[theme=dark] a:active,[theme=dark] a:hover{color:#fff}#mask{background-repeat:no-repeat;background-position:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background-color:rgba(0,0,0,0)}.blur #mask{z-index:100;background-color:rgba(0,0,0,0.25)}svg.icon{display:inline-block;width:1.25em;height:1em;text-align:center}svg.icon path{fill:currentColor}img.emoji{height:1em;width:1em;margin:0 .05em 0 .1em;vertical-align:-.1em}.details .details-summary:hover{cursor:pointer}.details i.details-icon{color:#a9a9b3;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}[theme=dark] .details i.details-icon{color:#5d5d5f}.details .details-content{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.details.open i.details-icon{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.details.open .details-content{max-height:12000px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}#fixed-buttons{display:none}.fixed-button{display:none;z-index:100;position:fixed;right:1.5rem;font-size:1rem;line-height:1.3rem;padding:.6rem .6rem;color:#a9a9b3;background:#f8f8f8;-webkit-border-radius:2rem;-moz-border-radius:2rem;border-radius:2rem;-webkit-transition:color 0.4s ease;-moz-transition:color 0.4s ease;-o-transition:color 0.4s ease;transition:color 0.4s ease}.blur .fixed-button{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.fixed-button:hover,.fixed-button:active{color:#161209;cursor:pointer}.fixed-button:active,.fixed-button:focus,.fixed-button:hover{outline:none}[theme=dark] .fixed-button{color:#5d5d5f;background:#252627}[theme=dark] .fixed-button:hover,[theme=dark] .fixed-button:active{color:#a9a9b3}#back-to-top{display:block;bottom:1.5rem}#view-comments{bottom:4.5rem}.cc-window.cc-banner .cc-btn{color:#161209}.cc-window.cc-banner .cc-btn:hover,.cc-window.cc-banner .cc-btn:focus{background-color:#ccc}[theme=dark] .cc-window.cc-banner .cc-btn{color:#161209}[theme=dark] .cc-window.cc-banner .cc-btn:hover,[theme=dark] .cc-window.cc-banner .cc-btn:focus{background-color:#fff}img{-o-object-fit:contain;object-fit:contain;font-family:"object-fit: contain;"}.wrapper{display:flex;flex-direction:column;min-height:100vh;width:100%}.wrapper main{flex:1 0 auto}.wrapper main .container{padding:0 1rem}.page{position:relative;max-width:800px;width:60%;margin:0 auto}[header-desktop] .page{padding-top:3.5rem}[header-desktop=normal] .page{padding-top:0}.blur .page{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.toc .toc-title{font-size:1.2rem;font-weight:bold;text-transform:uppercase}.toc .toc-content{font-size:1rem}.toc .toc-content ul{text-indent:-0.85rem;padding-left:.8rem;list-style:none}.toc .toc-content ul a:first-child::before{content:"|";font-weight:bolder;margin-right:.5rem;color:#2d96bd}[theme=dark] .toc .toc-content ul a:first-child::before{color:#55bde2}.toc .toc-content ul ul{padding-left:1.5rem}.toc ruby{background:#f5f5f5}.toc ruby rt{color:#a9a9b3}[theme=dark] .toc ruby{background:#272C34}[theme=dark] .toc ruby rt{color:#5d5d5f}#toc-auto{display:block;position:absolute;width:12000px;max-width:0;padding:0 .8rem;border-left:4px solid #f0f0f0;word-wrap:break-word;overflow-wrap:break-word;box-sizing:border-box;top:10rem;left:0;visibility:hidden}[header-desktop=normal] #toc-auto{top:5rem}.blur #toc-auto{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}[theme=dark] #toc-auto{border-left-color:#363636}#toc-auto .toc-title{margin:.8rem 0}#toc-auto .toc-content.always-active ul{display:block}#toc-auto .toc-content>nav>ul{margin:.625rem 0}#toc-auto .toc-content ul ul{display:none}#toc-auto .toc-content ul .has-active>ul{display:block}#toc-auto .toc-content a.active{font-weight:bold;color:#2d96bd}[theme=dark] #toc-auto .toc-content a.active{color:#55bde2}#toc-auto .toc-content a.active::before{color:#ef3982}[theme=dark] #toc-auto .toc-content a.active::before{color:#bdebfc}#toc-static{display:none;margin:.8rem 0}#toc-static[kept=true]{display:block}#toc-static .toc-title{display:flex;justify-content:space-between;line-height:2em;padding:0 .75rem;background:#e6e6e6}[theme=dark] #toc-static .toc-title{background:#1a1d23}#toc-static .toc-content{background-color:#f5f5f5}#toc-static .toc-content>nav>ul{margin:0;padding:.4rem 1rem .4rem 1.8rem}[theme=dark] #toc-static .toc-content{background-color:#272C34}#toc-static.open .toc-title{background:#ededed}[theme=dark] #toc-static.open .toc-title{background:#20252b}.single .single-title{margin:1rem 0 .5rem;font-size:1.6rem;font-weight:bold;line-height:140%}.single .single-subtitle{margin:.4rem 0;font-size:1.2rem;font-weight:normal;font-style:italic;line-height:100%}.single .post-meta{font-size:.875rem;color:#a9a9b3}.single .post-meta span{display:inline-block}[theme=dark] .single .post-meta{color:#5d5d5f}.single .post-meta a,.single .post-meta a::before,.single .post-meta a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-meta a,[theme=dark] .single .post-meta a::before,[theme=dark] .single .post-meta a::after{color:#a9a9b3}.single .post-meta a:active,.single .post-meta a:hover{color:#ef3982}[theme=dark] .single .post-meta a:active,[theme=dark] .single .post-meta a:hover{color:#fff}.single .post-meta .author{font-size:1.05rem}.single .featured-image{margin:.5rem 0 1rem 0}.single .featured-image img{display:block;max-width:100%;height:auto;margin:0 auto;overflow:hidden}.single .featured-image img.lazyloaded{width:100%}.single .content>h2{font-size:1.5rem}.single .content>h2 code{font-size:1.25rem}.single .content>h3{font-size:1.375rem}.single .content>h3 code{font-size:1.125rem}.single .content>h4{font-size:1.25rem}.single .content>h4 code{font-size:1rem}.single .content>h5{font-size:1.125rem}.single .content>h6{font-size:1rem}.single .content h2,.single .content h3,.single .content h4,.single .content h5,.single .content h6{font-weight:bold;margin:1.2rem 0}[theme=dark] .single .content h2,[theme=dark] .single .content h3,[theme=dark] .single .content h4,[theme=dark] .single .content h5,[theme=dark] .single .content h6{font-weight:bolder}.single .content>h2>.header-mark::before,.single .content>h3>.header-mark::before,.single .content>h4>.header-mark::before,.single .content>h5>.header-mark::before,.single .content>h6>.header-mark::before{content:"|";margin-right:.3125rem;color:#2d96bd}[theme=dark] .single .content>h2>.header-mark::before,[theme=dark] .single .content>h3>.header-mark::before,[theme=dark] .single .content>h4>.header-mark::before,[theme=dark] .single .content>h5>.header-mark::before,[theme=dark] .single .content>h6>.header-mark::before{color:#55bde2}.single .content>h2>.header-mark::before{content:"#"}.single .content p{margin:.5rem 0}.single .content b,.single .content strong{font-weight:bold}[theme=dark] .single .content b,[theme=dark] .single .content strong{color:#ddd}.single .content a,.single .content a::before,.single .content a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .content a,[theme=dark] .single .content a::before,[theme=dark] .single .content a::after{color:#55bde2}.single .content a:active,.single .content a:hover{color:#ef3982}[theme=dark] .single .content a:active,[theme=dark] .single .content a:hover{color:#bdebfc}.single .content a{word-wrap:break-word;overflow-wrap:break-word}[theme=dark] .single .content a b,[theme=dark] .single .content a strong{color:#55bde2}.single .content [theme=dark] a:hover b,.single .content [theme=dark] a:hover strong{color:#bdebfc}.single .content ul,.single .content ol{margin:.5rem 0;padding-left:2.5rem}.single .content ul{list-style-type:disc}.single .content ruby{background:#f5f5f5}.single .content ruby rt{color:#a9a9b3}[theme=dark] .single .content ruby{background:#272C34}[theme=dark] .single .content ruby rt{color:#5d5d5f}.single .content .table-wrapper{overflow-x:auto}.single .content .table-wrapper::-webkit-scrollbar{background-color:#fff}[theme=dark] .single .content .table-wrapper::-webkit-scrollbar{background-color:#272c34}.single .content .table-wrapper>table{width:100%;max-width:100%;margin:.625rem 0;border-spacing:0;background:#fff;border-collapse:collapse}[theme=dark] .single .content .table-wrapper>table{background:#272c34}.single .content .table-wrapper>table thead{background:#ededed}[theme=dark] .single .content .table-wrapper>table thead{background-color:#20252b}.single .content .table-wrapper>table th,.single .content .table-wrapper>table td{padding:.3rem 1rem;border:1px solid #e8e8e8}[theme=dark] .single .content .table-wrapper>table th,[theme=dark] .single .content .table-wrapper>table td{border-color:#1c2025}.single .content img{max-width:100%;min-height:1em}.single .content figure{margin:.5rem;text-align:center}.single .content figure .image-caption:not(:empty){min-width:20%;max-width:80%;display:inline-block;padding:.5rem;margin:0 auto;font-size:.875rem;color:#969696}.single .content figure img{display:block;height:auto;margin:0 auto;overflow:hidden}.single .content .lazyloading{-o-object-fit:none;object-fit:none;font-family:"object-fit: none;"}.single .content blockquote{display:block;border-left:0.5rem solid #6bd6fd;background-color:rgba(107,214,253,0.2);padding:.25rem .75rem;margin:1rem 0}[theme=dark] .single .content blockquote{border-left-color:#59c5ec;background-color:rgba(89,197,236,0.2)}.single .content .footnotes{color:#a9a9b3}[theme=dark] .single .content .footnotes{color:#5d5d5f}.single .content .footnotes p{margin:.25rem 0}.single .content code{display:inline-block;max-width:100%;padding:0 .4rem;word-wrap:break-word;overflow-wrap:break-word;-webkit-line-break:anywhere;-ms-line-break:anywhere;line-break:anywhere;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}[theme=dark] .single .content code{color:#E5BF78}.single .content pre{margin:0;padding:.25rem 0 .25rem .5rem;-moz-tab-size:4;-o-tab-size:4;tab-size:4}.single .content pre code{padding:0}.single .content pre img{min-height:1em;max-height:1.2em;vertical-align:text-bottom}.single .content code,.single .content pre,.single .content .highlight table,.single .content .highlight tr,.single .content .highlight td{background:#f5f5f5}[theme=dark] .single .content code,[theme=dark] .single .content pre,[theme=dark] .single .content .highlight table,[theme=dark] .single .content .highlight tr,[theme=dark] .single .content .highlight td{background:#272C34}.single .content .highlight,.single .content .gist{font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.875rem}.single .content .highlight .table-wrapper>table,.single .content .highlight .table-wrapper>table thead,.single .content .highlight .table-wrapper>table tr,.single .content .highlight .table-wrapper>table td,.single .content .gist .table-wrapper>table,.single .content .gist .table-wrapper>table thead,.single .content .gist .table-wrapper>table tr,.single .content .gist .table-wrapper>table td{margin:0;padding:0;border:none !important;white-space:nowrap}.single .content .highlight{line-height:1.4em;margin:.5rem 0}.single .content .highlight>.chroma{position:relative}.single .content .highlight>.chroma .code-header{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,"Microsoft YaHei UI","Microsoft YaHei","微软雅黑","PingFang SC",sans-seri;font-weight:bold;color:#9c9c9c;background:#e1e1e1}[theme=dark] .single .content .highlight>.chroma .code-header{color:#b1b0b0;background:#1a1d23}.single .content .highlight>.chroma .code-header:hover{cursor:pointer}.single .content .highlight>.chroma .code-header .code-title{width:100%;padding:.4rem}.single .content .highlight>.chroma .code-header .code-title::after{padding-left:.2rem;content:'Code'}.single .content .highlight>.chroma .code-header.language-bash .code-title::after{content:"Bash"}.single .content .highlight>.chroma .code-header.language-c .code-title::after{content:"C"}.single .content .highlight>.chroma .code-header.language-cs .code-title::after{content:"C#"}.single .content .highlight>.chroma .code-header.language-cpp .code-title::after{content:"C++"}.single .content .highlight>.chroma .code-header.language-clojure .code-title::after{content:"Clojure"}.single .content .highlight>.chroma .code-header.language-coffeescript .code-title::after{content:"CoffeeScript"}.single .content .highlight>.chroma .code-header.language-css .code-title::after{content:"CSS"}.single .content .highlight>.chroma .code-header.language-dart .code-title::after{content:"Dart"}.single .content .highlight>.chroma .code-header.language-diff .code-title::after{content:"Diff"}.single .content .highlight>.chroma .code-header.language-erlang .code-title::after{content:"Erlang"}.single .content .highlight>.chroma .code-header.language-go .code-title::after{content:"Go"}.single .content .highlight>.chroma .code-header.language-go-html-template .code-title::after{content:"Go HTML Template"}.single .content .highlight>.chroma .code-header.language-groovy .code-title::after{content:"Groovy"}.single .content .highlight>.chroma .code-header.language-haskell .code-title::after{content:"Haskell"}.single .content .highlight>.chroma .code-header.language-html .code-title::after{content:"HTML"}.single .content .highlight>.chroma .code-header.language-http .code-title::after{content:"HTTP"}.single .content .highlight>.chroma .code-header.language-xml .code-title::after{content:"XML"}.single .content .highlight>.chroma .code-header.language-java .code-title::after{content:"Java"}.single .content .highlight>.chroma .code-header.language-js .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-javascript .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-json .code-title::after{content:"JSON"}.single .content .highlight>.chroma .code-header.language-kotlin .code-title::after{content:"Kotlin"}.single .content .highlight>.chroma .code-header.language-latex .code-title::after{content:"LaTeX"}.single .content .highlight>.chroma .code-header.language-less .code-title::after{content:"Less"}.single .content .highlight>.chroma .code-header.language-lisp .code-title::after{content:"Lisp"}.single .content .highlight>.chroma .code-header.language-lua .code-title::after{content:"Lua"}.single .content .highlight>.chroma .code-header.language-makefile .code-title::after{content:"Makefile"}.single .content .highlight>.chroma .code-header.language-markdown .code-title::after{content:"Markdown"}.single .content .highlight>.chroma .code-header.language-matlab .code-title::after{content:"Matlab"}.single .content .highlight>.chroma .code-header.language-objectivec .code-title::after{content:"Objective-C"}.single .content .highlight>.chroma .code-header.language-php .code-title::after{content:"PHP"}.single .content .highlight>.chroma .code-header.language-perl .code-title::after{content:"Perl"}.single .content .highlight>.chroma .code-header.language-python .code-title::after{content:"Python"}.single .content .highlight>.chroma .code-header.language-r .code-title::after{content:"R"}.single .content .highlight>.chroma .code-header.language-ruby .code-title::after{content:"Ruby"}.single .content .highlight>.chroma .code-header.language-rust .code-title::after{content:"Rust"}.single .content .highlight>.chroma .code-header.language-scala .code-title::after{content:"Scala"}.single .content .highlight>.chroma .code-header.language-scss .code-title::after{content:"Scss"}.single .content .highlight>.chroma .code-header.language-shell .code-title::after{content:"Shell"}.single .content .highlight>.chroma .code-header.language-sql .code-title::after{content:"SQL"}.single .content .highlight>.chroma .code-header.language-swift .code-title::after{content:"Swift"}.single .content .highlight>.chroma .code-header.language-tex .code-title::after{content:"TeX"}.single .content .highlight>.chroma .code-header.language-toml .code-title::after{content:"TOML"}.single .content .highlight>.chroma .code-header.language-ts .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-typescript .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-vue .code-title::after{content:"Vue"}.single .content .highlight>.chroma .code-header.language-yml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .code-header.language-yaml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .lntd:first-child{min-width:1.6rem;text-align:right}.single .content .highlight>.chroma .lntd:last-child{width:100%}.single .content .highlight>.chroma .lntd:last-child pre{min-width:-webkit-max-content;min-width:-moz-max-content;min-width:intrinsic;min-width:max-content}.single .content .highlight>.chroma .ln{padding-right:.75rem}.single .content .highlight>.chroma .hl{display:block;background-color:#dcdcdc}[theme=dark] .single .content .highlight>.chroma .hl{background-color:#1c2025}.single .content .highlight>.chroma .ln,.single .content .highlight>.chroma .lnt{color:#a9a9b3}[theme=dark] .single .content .highlight>.chroma .ln,[theme=dark] .single .content .highlight>.chroma .lnt{color:#5d5d5f}.single .content .highlight>.chroma .arrow{padding:0 .2rem;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}.single .content .highlight>.chroma .ellipses{padding:.4rem}.single .content .highlight>.chroma .copy{display:none;padding:.4rem}.single .content .highlight>.chroma .copy:hover{cursor:pointer;color:#2d96bd}[theme=dark] .single .content .highlight>.chroma .copy:hover{color:#fff}.single .content .highlight>.chroma .table-wrapper{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s}.single .content .highlight>.chroma.open .code-header{background:#ededed}[theme=dark] .single .content .highlight>.chroma.open .code-header{background:#20252b}.single .content .highlight>.chroma.open .table-wrapper{max-height:12000px;-webkit-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s}.single .content .highlight>.chroma.open .arrow{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.single .content .highlight>.chroma.open .ellipses{display:none}.single .content .highlight>.chroma.open .copy{display:inline}.single .content .highlight .c,.single .content .highlight .ch,.single .content .highlight .cm,.single .content .highlight .c1,.single .content .highlight .cs,.single .content .highlight .cp,.single .content .highlight .cpf{font-style:italic}.single .content .highlight .gl{text-decoration:underline}.single .content .highlight .p{color:#a9a9b3}.single .content .highlight .k{color:#b501a9}.single .content .highlight .kc{color:#b501a9}.single .content .highlight .kd{color:#b501a9}.single .content .highlight .kn{color:#b501a9}.single .content .highlight .kp{color:#b501a9}.single .content .highlight .kr{color:#b501a9}.single .content .highlight .kt{color:#b501a9}.single .content .highlight .n{color:#333}.single .content .highlight .na{color:#2b77fa}.single .content .highlight .nb{color:#f74840}.single .content .highlight .bp{color:#f74840}.single .content .highlight .nc{color:#cb8100}.single .content .highlight .no{color:#2b77fa}.single .content .highlight .nd{color:#0086c1}.single .content .highlight .ni{color:#2b77fa}.single .content .highlight .ne{color:#2b77fa}.single .content .highlight .nf{color:#2b77fa}.single .content .highlight .fm{color:#1ccad6}.single .content .highlight .nl{color:#2b77fa}.single .content .highlight .nn{color:#2b77fa}.single .content .highlight .nx{color:#333}.single .content .highlight .py{color:#2b77fa}.single .content .highlight .nt{color:#2b77fa}.single .content .highlight .nv{color:#2b77fa}.single .content .highlight .vc{color:#2b77fa}.single .content .highlight .vg{color:#2b77fa}.single .content .highlight .vi{color:#2b77fa}.single .content .highlight .vm{color:#2b77fa}.single .content .highlight .l{color:#2aa198}.single .content .highlight .ld{color:#2aa198}.single .content .highlight .s{color:#24a443}.single .content .highlight .sa{color:#24a443}.single .content .highlight .sb{color:#24a443}.single .content .highlight .sc{color:#24a443}.single .content .highlight .dl{color:#24a443}.single .content .highlight .sd{color:#24a443}.single .content .highlight .s2{color:#24a443}.single .content .highlight .se{color:#24a443}.single .content .highlight .sh{color:#24a443}.single .content .highlight .si{color:#24a443}.single .content .highlight .sx{color:#24a443}.single .content .highlight .sr{color:#24a443}.single .content .highlight .s1{color:#24a443}.single .content .highlight .ss{color:#24a443}.single .content .highlight .m{color:#e2893c}.single .content .highlight .mb{color:#e2893c}.single .content .highlight .mf{color:#e2893c}.single .content .highlight .mh{color:#e2893c}.single .content .highlight .mi{color:#e2893c}.single .content .highlight .il{color:#e2893c}.single .content .highlight .mo{color:#e2893c}.single .content .highlight .o{color:#f19b04}.single .content .highlight .ow{color:#b501a9}.single .content .highlight .c{color:#a0a1a8}.single .content .highlight .ch{color:#a0a1a8}.single .content .highlight .cm{color:#a0a1a8}.single .content .highlight .c1{color:#a0a1a8}.single .content .highlight .cs{color:#a0a1a8}.single .content .highlight .cp{color:#a0a1a8}.single .content .highlight .cpf{color:#a0a1a8}.single .content .highlight .g{color:#e72d40}.single .content .highlight .gd{color:#e72d40}.single .content .highlight .ge{color:#e72d40}.single .content .highlight .gr{color:#e72d40}.single .content .highlight .gh{color:#e72d40}.single .content .highlight .gi{color:#e72d40}.single .content .highlight .go{color:#e72d40}.single .content .highlight .gp{color:#e72d40}.single .content .highlight .gs{color:#e72d40}.single .content .highlight .gu{color:#e72d40}.single .content .highlight .gt{color:#e72d40}.single .content .highlight .w{color:#bbb}[theme=dark] .single .content .highlight .p{color:#a9a9b3}[theme=dark] .single .content .highlight .k{color:#d371e3}[theme=dark] .single .content .highlight .kc{color:#d371e3}[theme=dark] .single .content .highlight .kd{color:#d371e3}[theme=dark] .single .content .highlight .kn{color:#d371e3}[theme=dark] .single .content .highlight .kp{color:#d371e3}[theme=dark] .single .content .highlight .kr{color:#d371e3}[theme=dark] .single .content .highlight .kt{color:#d371e3}[theme=dark] .single .content .highlight .n{color:#a9b2c0}[theme=dark] .single .content .highlight .na{color:#41b0f5}[theme=dark] .single .content .highlight .nb{color:#19b9c4}[theme=dark] .single .content .highlight .bp{color:#ecbf6f}[theme=dark] .single .content .highlight .nc{color:#ecbf6f}[theme=dark] .single .content .highlight .no{color:#41b0f5}[theme=dark] .single .content .highlight .nd{color:#ecbf6f}[theme=dark] .single .content .highlight .ni{color:#41b0f5}[theme=dark] .single .content .highlight .ne{color:#41b0f5}[theme=dark] .single .content .highlight .nf{color:#41b0f5}[theme=dark] .single .content .highlight .fm{color:#19b9c4}[theme=dark] .single .content .highlight .nl{color:#41b0f5}[theme=dark] .single .content .highlight .nn{color:#41b0f5}[theme=dark] .single .content .highlight .nx{color:#a9a9b3}[theme=dark] .single .content .highlight .py{color:#41b0f5}[theme=dark] .single .content .highlight .nt{color:#41b0f5}[theme=dark] .single .content .highlight .nv{color:#41b0f5}[theme=dark] .single .content .highlight .vc{color:#41b0f5}[theme=dark] .single .content .highlight .vg{color:#41b0f5}[theme=dark] .single .content .highlight .vi{color:#41b0f5}[theme=dark] .single .content .highlight .vm{color:#41b0f5}[theme=dark] .single .content .highlight .l{color:#2aa198}[theme=dark] .single .content .highlight .ld{color:#2aa198}[theme=dark] .single .content .highlight .s{color:#8cc570}[theme=dark] .single .content .highlight .sa{color:#8cc570}[theme=dark] .single .content .highlight .sb{color:#8cc570}[theme=dark] .single .content .highlight .sc{color:#8cc570}[theme=dark] .single .content .highlight .dl{color:#8cc570}[theme=dark] .single .content .highlight .sd{color:#8cc570}[theme=dark] .single .content .highlight .s2{color:#8cc570}[theme=dark] .single .content .highlight .se{color:#8cc570}[theme=dark] .single .content .highlight .sh{color:#8cc570}[theme=dark] .single .content .highlight .si{color:#8cc570}[theme=dark] .single .content .highlight .sx{color:#8cc570}[theme=dark] .single .content .highlight .sr{color:#8cc570}[theme=dark] .single .content .highlight .s1{color:#8cc570}[theme=dark] .single .content .highlight .ss{color:#8cc570}[theme=dark] .single .content .highlight .m{color:#db985c}[theme=dark] .single .content .highlight .mb{color:#db985c}[theme=dark] .single .content .highlight .mf{color:#db985c}[theme=dark] .single .content .highlight .mh{color:#db985c}[theme=dark] .single .content .highlight .mi{color:#db985c}[theme=dark] .single .content .highlight .il{color:#db985c}[theme=dark] .single .content .highlight .mo{color:#db985c}[theme=dark] .single .content .highlight .o{color:#ecbf6f}[theme=dark] .single .content .highlight .ow{color:#d371e3}[theme=dark] .single .content .highlight .c{color:#7e848f}[theme=dark] .single .content .highlight .ch{color:#7e848f}[theme=dark] .single .content .highlight .cm{color:#7e848f}[theme=dark] .single .content .highlight .c1{color:#7e848f}[theme=dark] .single .content .highlight .cs{color:#7e848f}[theme=dark] .single .content .highlight .cp{color:#7e848f}[theme=dark] .single .content .highlight .cpf{color:#7e848f}[theme=dark] .single .content .highlight .g{color:#f16372}[theme=dark] .single .content .highlight .gd{color:#f16372}[theme=dark] .single .content .highlight .ge{color:#f16372}[theme=dark] .single .content .highlight .gr{color:#f16372}[theme=dark] .single .content .highlight .gh{color:#f16372}[theme=dark] .single .content .highlight .gi{color:#f16372}[theme=dark] .single .content .highlight .go{color:#f16372}[theme=dark] .single .content .highlight .gp{color:#f16372}[theme=dark] .single .content .highlight .gs{color:#f16372}[theme=dark] .single .content .highlight .gu{color:#f16372}[theme=dark] .single .content .highlight .gt{color:#f16372}[theme=dark] .single .content .highlight .w{color:#bbb}.single .content .gist .gist-file,.single .content .gist .gist-data,.single .content .gist .gist-meta{border:none}.single .content .gist .gist-meta{padding:.4rem .8rem;background-color:#e8e8e8}.single .content .gist .gist-meta a,.single .content .gist .gist-meta a::before,.single .content .gist .gist-meta a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .content .gist .gist-meta a,[theme=dark] .single .content .gist .gist-meta a::before,[theme=dark] .single .content .gist .gist-meta a::after{color:#55bde2}.single .content .gist .gist-meta a:active,.single .content .gist .gist-meta a:hover{color:#ef3982}[theme=dark] .single .content .gist .gist-meta a:active,[theme=dark] .single .content .gist .gist-meta a:hover{color:#bdebfc}[theme=dark] .single .content .gist .gist-meta{background-color:#1c2025}[theme=dark] .single .content .gist .highlight{background:#141414}[theme=dark] .single .content .gist .blob-num,[theme=dark] .single .content .gist .blob-code-inner,[theme=dark] .single .content .gist .highlight,[theme=dark] .single .content .gist .pl-enm,[theme=dark] .single .content .gist .pl-ko,[theme=dark] .single .content .gist .pl-mo,[theme=dark] .single .content .gist .pl-mp1 .pl-sf,[theme=dark] .single .content .gist .pl-ms,[theme=dark] .single .content .gist .pl-pdc1,[theme=dark] .single .content .gist .pl-scp,[theme=dark] .single .content .gist .pl-smc,[theme=dark] .single .content .gist .pl-som,[theme=dark] .single .content .gist .pl-va,[theme=dark] .single .content .gist .pl-vpf,[theme=dark] .single .content .gist .pl-vpu,[theme=dark] .single .content .gist .pl-mdr{color:#aab1bf}[theme=dark] .single .content .gist .pl-mb,[theme=dark] .single .content .gist .pl-pdb{font-weight:700}[theme=dark] .single .content .gist .pl-c,[theme=dark] .single .content .gist .pl-c span,[theme=dark] .single .content .gist .pl-pdc{color:#5b6270;font-style:italic}[theme=dark] .single .content .gist .pl-sr .pl-cce{color:#56b5c2;font-weight:400}[theme=dark] .single .content .gist .pl-ef,[theme=dark] .single .content .gist .pl-en,[theme=dark] .single .content .gist .pl-enf,[theme=dark] .single .content .gist .pl-eoai,[theme=dark] .single .content .gist .pl-kos,[theme=dark] .single .content .gist .pl-mh .pl-pdh,[theme=dark] .single .content .gist .pl-mr{color:#61afef}[theme=dark] .single .content .gist .pl-ens,[theme=dark] .single .content .gist .pl-vi{color:#be5046}[theme=dark] .single .content .gist .pl-enti,[theme=dark] .single .content .gist .pl-mai .pl-sf,[theme=dark] .single .content .gist .pl-ml,[theme=dark] .single .content .gist .pl-sf,[theme=dark] .single .content .gist .pl-sr,[theme=dark] .single .content .gist .pl-sr .pl-sra,[theme=dark] .single .content .gist .pl-src,[theme=dark] .single .content .gist .pl-st,[theme=dark] .single .content .gist .pl-vo{color:#56b5c2}[theme=dark] .single .content .gist .pl-eoi,[theme=dark] .single .content .gist .pl-mri,[theme=dark] .single .content .gist .pl-pds,[theme=dark] .single .content .gist .pl-pse .pl-s1,[theme=dark] .single .content .gist .pl-s,[theme=dark] .single .content .gist .pl-s1{color:#97c279}[theme=dark] .single .content .gist .pl-k,[theme=dark] .single .content .gist .pl-kolp,[theme=dark] .single .content .gist .pl-mc,[theme=dark] .single .content .gist .pl-pde{color:#c578dd}[theme=dark] .single .content .gist .pl-mi,[theme=dark] .single .content .gist .pl-pdi{color:#c578dd;font-style:italic}[theme=dark] .single .content .gist .pl-mp,[theme=dark] .single .content .gist .pl-stp{color:#818896}[theme=dark] .single .content .gist .pl-mdh,[theme=dark] .single .content .gist .pl-mdi,[theme=dark] .single .content .gist .pl-mdr{font-weight:400}[theme=dark] .single .content .gist .pl-mdht,[theme=dark] .single .content .gist .pl-mi1{color:#97c279;background:#020}[theme=dark] .single .content .gist .pl-md,[theme=dark] .single .content .gist .pl-mdhf{color:#df6b75;background:#200}[theme=dark] .single .content .gist .pl-corl{color:#df6b75;text-decoration:underline}[theme=dark] .single .content .gist .pl-ib{background:#df6b75}[theme=dark] .single .content .gist .pl-ii{background:#e0c184;color:#fff}[theme=dark] .single .content .gist .pl-iu{background:#e05151}[theme=dark] .single .content .gist .pl-ms1{color:#aab1bf;background:#373b41}[theme=dark] .single .content .gist .pl-c1,[theme=dark] .single .content .gist .pl-cn,[theme=dark] .single .content .gist .pl-e,[theme=dark] .single .content .gist .pl-eoa,[theme=dark] .single .content .gist .pl-eoac,[theme=dark] .single .content .gist .pl-eoac .pl-pde,[theme=dark] .single .content .gist .pl-kou,[theme=dark] .single .content .gist .pl-mm,[theme=dark] .single .content .gist .pl-mp .pl-s3,[theme=dark] .single .content .gist .pl-mq,[theme=dark] .single .content .gist .pl-s3,[theme=dark] .single .content .gist .pl-sok,[theme=dark] .single .content .gist .pl-sv,[theme=dark] .single .content .gist .pl-mb{color:#d19965}[theme=dark] .single .content .gist .pl-enc,[theme=dark] .single .content .gist .pl-entc,[theme=dark] .single .content .gist .pl-pse .pl-s2,[theme=dark] .single .content .gist .pl-s2,[theme=dark] .single .content .gist .pl-sc,[theme=dark] .single .content .gist .pl-smp,[theme=dark] .single .content .gist .pl-sr .pl-sre,[theme=dark] .single .content .gist .pl-stj,[theme=dark] .single .content .gist .pl-v,[theme=dark] .single .content .gist .pl-pdb{color:#e4bf7a}[theme=dark] .single .content .gist .pl-ent,[theme=dark] .single .content .gist .pl-entl,[theme=dark] .single .content .gist .pl-entm,[theme=dark] .single .content .gist .pl-mh,[theme=dark] .single .content .gist .pl-pdv,[theme=dark] .single .content .gist .pl-smi,[theme=dark] .single .content .gist .pl-sol,[theme=dark] .single .content .gist .pl-mdh,[theme=dark] .single .content .gist .pl-mdi{color:#df6b75}[theme=dark] .single .content iframe.instagram-media{border:none !important}.single .content .admonition{position:relative;margin:1rem 0;padding:0 .75rem;background-color:rgba(68,138,255,0.1);border-left:0.25rem solid #448aff;overflow:auto}.single .content .admonition .admonition-title{font-weight:bold;margin:0 -0.75rem;padding:.25rem 1.8rem;border-bottom:1px solid rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .content .admonition.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .content .admonition .admonition-content{padding:.5rem 0}.single .content .admonition i.icon{font-size:0.85rem;color:#448aff;position:absolute;top:.6rem;left:.4rem}.single .content .admonition i.details-icon{position:absolute;top:.6rem;right:.3rem}.single .content .admonition.note{border-left-color:#448aff}.single .content .admonition.note i.icon{color:#448aff}.single .content .admonition.abstract{border-left-color:#00b0ff}.single .content .admonition.abstract i.icon{color:#00b0ff}.single .content .admonition.info{border-left-color:#00b8d4}.single .content .admonition.info i.icon{color:#00b8d4}.single .content .admonition.tip{border-left-color:#00bfa5}.single .content .admonition.tip i.icon{color:#00bfa5}.single .content .admonition.success{border-left-color:#00c853}.single .content .admonition.success i.icon{color:#00c853}.single .content .admonition.question{border-left-color:#64dd17}.single .content .admonition.question i.icon{color:#64dd17}.single .content .admonition.warning{border-left-color:#ff9100}.single .content .admonition.warning i.icon{color:#ff9100}.single .content .admonition.failure{border-left-color:#ff5252}.single .content .admonition.failure i.icon{color:#ff5252}.single .content .admonition.danger{border-left-color:#ff1744}.single .content .admonition.danger i.icon{color:#ff1744}.single .content .admonition.bug{border-left-color:#f50057}.single .content .admonition.bug i.icon{color:#f50057}.single .content .admonition.example{border-left-color:#651fff}.single .content .admonition.example i.icon{color:#651fff}.single .content .admonition.quote{border-left-color:#9e9e9e}.single .content .admonition.quote i.icon{color:#9e9e9e}.single .content .admonition.note{background-color:rgba(68,138,255,0.1)}.single .content .admonition.note .admonition-title{border-bottom-color:rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.25)}.single .content .admonition.note.open .admonition-title{background-color:rgba(68,138,255,0.1)}.single .content .admonition.abstract{background-color:rgba(0,176,255,0.1)}.single .content .admonition.abstract .admonition-title{border-bottom-color:rgba(0,176,255,0.1);background-color:rgba(0,176,255,0.25)}.single .content .admonition.abstract.open .admonition-title{background-color:rgba(0,176,255,0.1)}.single .content .admonition.info{background-color:rgba(0,184,212,0.1)}.single .content .admonition.info .admonition-title{border-bottom-color:rgba(0,184,212,0.1);background-color:rgba(0,184,212,0.25)}.single .content .admonition.info.open .admonition-title{background-color:rgba(0,184,212,0.1)}.single .content .admonition.tip{background-color:rgba(0,191,165,0.1)}.single .content .admonition.tip .admonition-title{border-bottom-color:rgba(0,191,165,0.1);background-color:rgba(0,191,165,0.25)}.single .content .admonition.tip.open .admonition-title{background-color:rgba(0,191,165,0.1)}.single .content .admonition.success{background-color:rgba(0,200,83,0.1)}.single .content .admonition.success .admonition-title{border-bottom-color:rgba(0,200,83,0.1);background-color:rgba(0,200,83,0.25)}.single .content .admonition.success.open .admonition-title{background-color:rgba(0,200,83,0.1)}.single .content .admonition.question{background-color:rgba(100,221,23,0.1)}.single .content .admonition.question .admonition-title{border-bottom-color:rgba(100,221,23,0.1);background-color:rgba(100,221,23,0.25)}.single .content .admonition.question.open .admonition-title{background-color:rgba(100,221,23,0.1)}.single .content .admonition.warning{background-color:rgba(255,145,0,0.1)}.single .content .admonition.warning .admonition-title{border-bottom-color:rgba(255,145,0,0.1);background-color:rgba(255,145,0,0.25)}.single .content .admonition.warning.open .admonition-title{background-color:rgba(255,145,0,0.1)}.single .content .admonition.failure{background-color:rgba(255,82,82,0.1)}.single .content .admonition.failure .admonition-title{border-bottom-color:rgba(255,82,82,0.1);background-color:rgba(255,82,82,0.25)}.single .content .admonition.failure.open .admonition-title{background-color:rgba(255,82,82,0.1)}.single .content .admonition.danger{background-color:rgba(255,23,68,0.1)}.single .content .admonition.danger .admonition-title{border-bottom-color:rgba(255,23,68,0.1);background-color:rgba(255,23,68,0.25)}.single .content .admonition.danger.open .admonition-title{background-color:rgba(255,23,68,0.1)}.single .content .admonition.bug{background-color:rgba(245,0,87,0.1)}.single .content .admonition.bug .admonition-title{border-bottom-color:rgba(245,0,87,0.1);background-color:rgba(245,0,87,0.25)}.single .content .admonition.bug.open .admonition-title{background-color:rgba(245,0,87,0.1)}.single .content .admonition.example{background-color:rgba(101,31,255,0.1)}.single .content .admonition.example .admonition-title{border-bottom-color:rgba(101,31,255,0.1);background-color:rgba(101,31,255,0.25)}.single .content .admonition.example.open .admonition-title{background-color:rgba(101,31,255,0.1)}.single .content .admonition.quote{background-color:rgba(159,159,159,0.1)}.single .content .admonition.quote .admonition-title{border-bottom-color:rgba(159,159,159,0.1);background-color:rgba(159,159,159,0.25)}.single .content .admonition.quote.open .admonition-title{background-color:rgba(159,159,159,0.1)}.single .content .admonition:last-child{margin-bottom:.75rem}.single .content .echarts{margin:.5rem 0;text-align:center}.single .content .mapbox{margin:.5rem 0;padding:.5rem 0}.single .content meting-js{margin:.5rem 0}.single .content .bilibili{position:relative;width:100%;height:0;padding-bottom:75%;margin:3% auto;text-align:center}.single .content .bilibili iframe{position:absolute;width:100%;height:100%;left:0;top:0}.single .content hr{margin:1rem 0;position:relative;border-top:1px dashed #f0f0f0;border-bottom:none}[theme=dark] .single .content hr{border-top:1px dashed #363636}.single .content kbd{display:inline-block;padding:.25rem;background-color:#fff;border:1px solid #f0f0f0;border-bottom-color:#f0f0f0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 #f0f0f0;box-shadow:inset 0 -1px 0 #f0f0f0;font-size:.8rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#E74C3C}[theme=dark] .single .content kbd{background-color:#292a2d;border:1px solid #363636;border-bottom-color:#363636;-webkit-box-shadow:inset 0 -1px 0 #363636;box-shadow:inset 0 -1px 0 #363636;color:#E5BF78}.single .content .typeit .code{padding:.375rem;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;word-break:break-all}.single .content .version{height:1.25em;vertical-align:text-bottom}.single .post-footer{margin-top:3rem}.single .post-footer .post-info{border-bottom:1px solid #f0f0f0;padding:1rem 0 0.3rem}[theme=dark] .single .post-footer .post-info{border-bottom:1px solid #363636}.single .post-footer .post-info .post-info-line{display:flex;justify-content:space-between}.single .post-footer .post-info .post-info-line .post-info-mod{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-mod a,.single .post-footer .post-info .post-info-line .post-info-mod a::before,.single .post-footer .post-info .post-info-line .post-info-mod a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-mod a:active,.single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-license{font-size:0.8em;color:#a9a9b3}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-license{color:#5d5d5f}.single .post-footer .post-info .post-info-line .post-info-license a,.single .post-footer .post-info .post-info-line .post-info-license a::before,.single .post-footer .post-info .post-info-line .post-info-license a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-license a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-license a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-license a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-license a:active,.single .post-footer .post-info .post-info-line .post-info-license a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-license a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-license a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-md{font-size:0.8rem;width:8rem}.single .post-footer .post-info .post-info-line .post-info-md a,.single .post-footer .post-info .post-info-line .post-info-md a::before,.single .post-footer .post-info .post-info-line .post-info-md a::after{text-decoration:none;color:#2d96bd}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::before,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a::after{color:#55bde2}.single .post-footer .post-info .post-info-line .post-info-md a:active,.single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ef3982}[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:active,[theme=dark] .single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#bdebfc}.single .post-footer .post-info .post-info-line .post-info-share a *{vertical-align:text-bottom}.single .post-footer .post-info-more{padding:0.3rem 0 1rem;display:flex;justify-content:space-between;font-size:0.9rem}.single .post-footer .post-tags{max-width:65%}.single .post-footer .post-tags *{display:inline}.single .post-footer .post-nav::before,.single .post-footer .post-nav::after{content:' ';display:table}.single .post-footer .post-nav a.prev,.single .post-footer .post-nav a.next{font-size:1rem;font-weight:600;-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;transition:all 0.3s ease-out}.single .post-footer .post-nav a.prev{float:left}.single .post-footer .post-nav a.prev:hover{-webkit-transform:translateX(-4px);-moz-transform:translateX(-4px);-ms-transform:translateX(-4px);-o-transform:translateX(-4px);transform:translateX(-4px)}.single .post-footer .post-nav a.next{float:right}.single .post-footer .post-nav a.next:hover{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}.single #comments{padding:8rem 0 2rem}.lg-toolbar .lg-icon::after{color:#999}.special .single-title,.special .single-subtitle{text-align:right}.archive .single-title{text-align:right}.archive .group-title{margin-top:1.5rem;margin-bottom:1rem}.archive .categories-card{margin:0 auto;margin-top:3rem;display:flex;align-items:center;justify-content:space-between;flex-direction:row;flex-wrap:wrap;line-height:1.6rem}.archive .categories-card .card-item{font-size:.875rem;text-align:left;width:45%;display:flex;align-items:flex-start;margin-top:2rem;min-height:10rem;padding:0 2%;position:relative}.archive .categories-card .card-item .card-item-wrapper{width:100%;overflow:hidden}.archive .categories-card .card-item .card-item-wrapper .card-item-title{font-size:1.2rem;font-weight:bold;display:inline-block;margin-top:1rem;margin-bottom:.75rem}.archive .categories-card .card-item .card-item-wrapper span{float:right;padding-right:1rem}.archive .archive-item{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;margin:.25rem 0 .25rem 1.5rem}.archive .archive-item-link{min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.archive .archive-item-link:hover{color:#2d96bd;background-color:transparent}[theme=dark] .archive .archive-item-link{color:#a9a9b3}[theme=dark] .archive .archive-item-link:hover{color:#fff}.archive .archive-item-date{width:4em;text-align:right;color:#a9a9b3}[theme=dark] .archive .archive-item-date{color:#5d5d5f}.archive .more-post{text-align:right}.archive .tag-cloud-tags{margin:10px 0}.archive .tag-cloud-tags a,.archive .tag-cloud-tags a::before,.archive .tag-cloud-tags a::after{text-decoration:none;color:#161209}[theme=dark] .archive .tag-cloud-tags a,[theme=dark] .archive .tag-cloud-tags a::before,[theme=dark] .archive .tag-cloud-tags a::after{color:#a9a9b3}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:hover{color:#2d96bd}[theme=dark] .archive .tag-cloud-tags a:active,[theme=dark] .archive .tag-cloud-tags a:hover{color:#fff}.archive .tag-cloud-tags a{display:inline-block;position:relative;margin:5px 10px;word-wrap:break-word;overflow-wrap:break-word;-webkit-transition:all ease-out 0.3s;-moz-transition:all ease-out 0.3s;-o-transition:all ease-out 0.3s;transition:all ease-out 0.3s}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:focus,.archive .tag-cloud-tags a:hover{-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}.archive .tag-cloud-tags a sup{color:#a9a9b3}[theme=dark] .archive .tag-cloud-tags a sup{color:#5d5d5f}.home .home-profile{-webkit-transform:translateY(16vh);-moz-transform:translateY(16vh);-ms-transform:translateY(16vh);-o-transform:translateY(16vh);transform:translateY(16vh);padding:0 0 .5rem;text-align:center}.home .home-profile .home-avatar{padding:.5rem}.home .home-profile .home-avatar img{display:inline-block;width:8rem;height:auto;margin:0 auto;-webkit-border-radius:100%;-moz-border-radius:100%;border-radius:100%;-webkit-box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);-webkit-transition:all 0.4s ease;-moz-transition:all 0.4s ease;-o-transition:all 0.4s ease;transition:all 0.4s ease}.home .home-profile .home-avatar img:hover{position:relative;-webkit-transform:translateY(-0.75rem);-moz-transform:translateY(-0.75rem);-ms-transform:translateY(-0.75rem);-o-transform:translateY(-0.75rem);transform:translateY(-0.75rem)}.home .home-profile .home-title{font-size:1.25rem;font-weight:bold;margin:0;padding:.5rem}.home .home-profile .home-subtitle{font-size:1rem;font-weight:normal;margin:0;padding:.5rem}.home .home-profile .links{padding:.5rem;font-size:1.5rem}.home .home-profile .links a *{vertical-align:text-bottom}.home .home-profile .links img{height:1.5rem;padding:0 .25rem}.home .home-profile .home-disclaimer{font-size:1rem;line-height:1.5rem;font-weight:normal;margin:0;padding:.5rem;color:#a9a9b3}[theme=dark] .home .home-profile .home-disclaimer{color:#5d5d5f}.home[posts] .home-profile{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0);padding-top:2rem}.home[posts] .home-avatar img{width:6rem}.home[posts] .summary{padding-top:1rem;padding-bottom:.8rem;color:#161209;border-bottom:1px dashed #f0f0f0}[theme=dark] .home[posts] .summary{color:#a9a9b3;border-bottom:1px dashed #363636}.home[posts] .summary .featured-image-preview{width:100%;padding:30% 0 0;position:relative;margin:0.6rem auto;-webkit-transition:transform 0.4s ease;-moz-transition:transform 0.4s ease;-o-transition:transform 0.4s ease;transition:transform 0.4s ease}.home[posts] .summary .featured-image-preview img{position:absolute;width:100%;height:100%;left:0;top:0;-o-object-fit:none;object-fit:none;font-family:"object-fit: none;"}.home[posts] .summary .featured-image-preview img.lazyloaded{-o-object-fit:cover;object-fit:cover;font-family:"object-fit: cover;"}.home[posts] .summary .featured-image-preview:hover{-webkit-transform:scale(1.01);-moz-transform:scale(1.01);-ms-transform:scale(1.01);-o-transform:scale(1.01);transform:scale(1.01)}.home[posts] .summary .single-title{font-size:1.25rem;line-height:140%;margin:0.4rem 0}.home[posts] .summary .content{display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:3;margin-top:.3rem;width:100%;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .home[posts] .summary .content{color:#5d5d5f}.home[posts] .summary .content h2,.home[posts] .summary .content h3,.home[posts] .summary .content h4,.home[posts] .summary .content h5,.home[posts] .summary .content h6,.home[posts] .summary .content p{font-size:1rem;line-height:1.5;display:inline}.home[posts] .summary .content h2::after,.home[posts] .summary .content h3::after,.home[posts] .summary .content h4::after,.home[posts] .summary .content h5::after,.home[posts] .summary .content h6::after,.home[posts] .summary .content p::after{content:"\A";white-space:pre}.home[posts] .summary .content h2{font-size:1.125rem}.home[posts] .summary .content a,.home[posts] .summary .content a::before,.home[posts] .summary .content a::after{text-decoration:none;color:#2d96bd}[theme=dark] .home[posts] .summary .content a,[theme=dark] .home[posts] .summary .content a::before,[theme=dark] .home[posts] .summary .content a::after{color:#a9a9b3}.home[posts] .summary .content a:active,.home[posts] .summary .content a:hover{color:#ef3982}[theme=dark] .home[posts] .summary .content a:active,[theme=dark] .home[posts] .summary .content a:hover{color:#fff}.home[posts] .summary .content b,.home[posts] .summary .content strong{color:#a9a9b3}[theme=dark] .home[posts] .summary .content b,[theme=dark] .home[posts] .summary .content strong{color:#5d5d5f}.home[posts] .summary .post-footer{margin-top:.4rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.home[posts] .summary .post-footer a,.home[posts] .summary .post-footer a::before,.home[posts] .summary .post-footer a::after{text-decoration:none;color:#2d96bd}[theme=dark] .home[posts] .summary .post-footer a,[theme=dark] .home[posts] .summary .post-footer a::before,[theme=dark] .home[posts] .summary .post-footer a::after{color:#55bde2}.home[posts] .summary .post-footer a:active,.home[posts] .summary .post-footer a:hover{color:#ef3982}[theme=dark] .home[posts] .summary .post-footer a:active,[theme=dark] .home[posts] .summary .post-footer a:hover{color:#bdebfc}.home[posts] .summary .post-footer .post-tags{padding:0}.home[posts] .summary .post-footer .post-tags a,.home[posts] .summary .post-footer .post-tags a::before,.home[posts] .summary .post-footer .post-tags a::after{text-decoration:none;color:#161209}[theme=dark] .home[posts] .summary .post-footer .post-tags a,[theme=dark] .home[posts] .summary .post-footer .post-tags a::before,[theme=dark] .home[posts] .summary .post-footer .post-tags a::after{color:#a9a9b3}.home[posts] .summary .post-footer .post-tags a:active,.home[posts] .summary .post-footer .post-tags a:hover{color:#2d96bd}[theme=dark] .home[posts] .summary .post-footer .post-tags a:active,[theme=dark] .home[posts] .summary .post-footer .post-tags a:hover{color:#fff}#content-404{font-size:1.8rem;line-height:3rem;-webkit-transform:translateY(30vh);-moz-transform:translateY(30vh);-ms-transform:translateY(30vh);-o-transform:translateY(30vh);transform:translateY(30vh);text-align:center}header{width:100%;z-index:150;background-color:#f8f8f8;-webkit-transition:box-shadow 0.3s ease;-moz-transition:box-shadow 0.3s ease;-o-transition:box-shadow 0.3s ease;transition:box-shadow 0.3s ease}[theme=dark] header{background-color:#252627}header .logo{min-height:1.5em;height:1.5em;vertical-align:text-bottom}header .logo,header .header-title-pre{padding-right:.25rem}header .header-title-post{padding-left:.25rem}header:hover{-webkit-box-shadow:0 0 1.5rem 0 rgba(0,0,0,0.1);box-shadow:0 0 1.5rem 0 rgba(0,0,0,0.1)}.header-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%}.header-title{font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;margin-right:.5rem;min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-flex:10;flex:10}.menu .menu-item{position:relative}.language-select{position:absolute;opacity:0;left:0;top:0;width:100%;height:100%}.language-select:hover{cursor:pointer}.search{position:relative}.search input{color:transparent;box-sizing:border-box;height:2.5rem;width:2.5rem;-webkit-border-radius:.5rem;-moz-border-radius:.5rem;border-radius:.5rem;border:none;outline:none;background-color:#f8f8f8;vertical-align:baseline !important;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}[theme=dark] .search input{background-color:#252627}.search input::-webkit-input-placeholder{color:rgba(0,0,0,0)}.search input:-moz-placeholder{color:rgba(0,0,0,0)}.search input::-moz-placeholder{color:rgba(0,0,0,0)}.search input:-ms-input-placeholder{color:rgba(0,0,0,0)}.search input::placeholder{color:rgba(0,0,0,0)}.search .search-button{margin:0;position:absolute;left:auto;right:1rem}.search .search-toggle{left:.5rem;right:auto}.search .search-loading{display:none}.search .search-clear{display:none}.open .search input,.search.mobile input{color:#161209;background-color:#e9e9e9;padding:0 2rem 0 2rem}[theme=dark] .open .search input,[theme=dark] .search.mobile input{color:#a9a9b3;background-color:#363636}[theme=dark] .open .search input::-webkit-input-placeholder,[theme=dark] .search.mobile input::-webkit-input-placeholder{color:#5d5d5f}[theme=dark] .open .search input:-moz-placeholder,[theme=dark] .search.mobile input:-moz-placeholder{color:#5d5d5f}[theme=dark] .open .search input::-moz-placeholder,[theme=dark] .search.mobile input::-moz-placeholder{color:#5d5d5f}[theme=dark] .open .search input:-ms-input-placeholder,[theme=dark] .search.mobile input:-ms-input-placeholder{color:#5d5d5f}[theme=dark] .open .search input::placeholder,[theme=dark] .search.mobile input::placeholder{color:#5d5d5f}.open .search input::-webkit-input-placeholder,.search.mobile input::-webkit-input-placeholder{color:#a9a9b3}.open .search input:-moz-placeholder,.search.mobile input:-moz-placeholder{color:#a9a9b3}.open .search input::-moz-placeholder,.search.mobile input::-moz-placeholder{color:#a9a9b3}.open .search input:-ms-input-placeholder,.search.mobile input:-ms-input-placeholder{color:#a9a9b3}.open .search input::placeholder,.search.mobile input::placeholder{color:#a9a9b3}.open .search .search-button,.search.mobile .search-button{color:#a9a9b3}[theme=dark] .open .search .search-button,[theme=dark] .search.mobile .search-button{color:#5d5d5f}.open .search .search-clear:hover,.search.mobile .search-clear:hover{color:#ff6b6b}.open .search .search-toggle:hover,.search.mobile .search-toggle:hover{cursor:default}.theme-switch i{-webkit-transform:rotate(225deg);-moz-transform:rotate(225deg);-ms-transform:rotate(225deg);-o-transform:rotate(225deg);transform:rotate(225deg)}#header-desktop{display:block;position:fixed;height:3.5rem;line-height:3.5rem}[header-desktop=normal] #header-desktop{position:static}#header-desktop .header-wrapper{padding:0 2rem 0 10vh}#header-desktop .header-wrapper .header-title{font-size:1.5rem}#header-desktop .header-wrapper .menu{overflow:hidden;white-space:nowrap}#header-desktop .header-wrapper .menu .menu-inner{float:right}#header-desktop .header-wrapper .menu .menu-item{margin:0 .5rem}#header-desktop .header-wrapper .menu .menu-item.delimiter{border-left:1.5px solid #161209}[theme=dark] #header-desktop .header-wrapper .menu .menu-item.delimiter{border-left-color:#363636}#header-desktop .header-wrapper .menu .menu-item.language{margin-right:0}#header-desktop .header-wrapper .menu .menu-item.search{margin:0 -.5rem 0 0}#header-desktop .header-wrapper .menu a.active{font-weight:900;color:#161209}[theme=dark] #header-desktop .header-wrapper .menu a.active{color:#fff}#header-desktop.open .header-wrapper .menu .menu-item.search{margin:0 .25rem 0 .5rem}#header-desktop.open .header-wrapper .menu .menu-item.search input{width:24rem}#header-mobile{display:none;position:fixed;height:3.5rem;line-height:3.5rem}[header-mobile=normal] #header-mobile{position:static}#header-mobile .header-container{padding:0;margin:0}#header-mobile .header-container .header-wrapper{padding:0 1rem;font-size:1.125rem;-webkit-transition:margin-top 0.3s ease;-moz-transition:margin-top 0.3s ease;-o-transition:margin-top 0.3s ease;transition:margin-top 0.3s ease}#header-mobile .header-container .header-wrapper .header-title{font-size:1.5rem;max-width:80%}#header-mobile .header-container .header-wrapper .menu-toggle{line-height:4rem;cursor:pointer;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}#header-mobile .header-container .header-wrapper .menu-toggle span{display:block;background:#161209;width:1.5rem;height:2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-transition:all 0.3s ease-in-out;-moz-transition:all 0.3s ease-in-out;-o-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out}[theme=dark] #header-mobile .header-container .header-wrapper .menu-toggle span{background:#a9a9b3}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(1){margin-bottom:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(3){margin-top:.5rem}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(1){-webkit-transform:rotate(45deg) translate(0.4rem, 0.5rem);-moz-transform:rotate(45deg) translate(0.4rem, 0.5rem);-ms-transform:rotate(45deg) translate(0.4rem, 0.5rem);-o-transform:rotate(45deg) translate(0.4rem, 0.5rem);transform:rotate(45deg) translate(0.4rem, 0.5rem)}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(2){opacity:0}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(3){-webkit-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-moz-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-ms-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-o-transform:rotate(-45deg) translate(0.4rem, -0.5rem);transform:rotate(-45deg) translate(0.4rem, -0.5rem)}#header-mobile .header-container .menu{text-align:center;background:#f8f8f8;border-top:2px solid #f0f0f0;display:none;padding-top:.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}#header-mobile .header-container .menu .search-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;padding:.5rem 1rem;line-height:2.5rem}#header-mobile .header-container .menu .search{flex-grow:10}#header-mobile .header-container .menu .search .algolia-autocomplete,#header-mobile .header-container .menu .search input{width:100%}#header-mobile .header-container .menu .search-button{top:0}#header-mobile .header-container .menu .search-cancel{display:none;margin-left:.75rem}#header-mobile .header-container .menu .menu-item{display:block;line-height:2.5rem}#header-mobile .header-container .menu.active{display:block}[theme=dark] #header-mobile .header-container .menu{background:#252627;border-top-color:#363636}#header-mobile.open .header-wrapper{margin-top:-3.5rem}#header-mobile.open .menu{padding-top:0;border-top:none}#header-mobile.open .menu .menu-item{display:none}#header-mobile.open .menu .search-cancel{display:inline}.search-dropdown{position:fixed;z-index:200;top:3.5rem;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}.search-dropdown.desktop{right:2rem;width:30rem}.search-dropdown.mobile{right:0;width:100%}.search-dropdown .dropdown-menu{right:0 !important;background-color:#fff}[theme=dark] .search-dropdown .dropdown-menu{background-color:#292a2d}.search-dropdown .dropdown-menu .suggestions{overflow-y:auto;max-height:calc(100vh - 3.5rem)}.search-dropdown .dropdown-menu .suggestions .suggestion{padding:.75rem 1rem}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:bold;max-width:75%}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{font-size:.875rem;float:right;text-align:right;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{line-height:1.25rem;display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#a9a9b3}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{color:#5d5d5f}.search-dropdown .dropdown-menu .suggestions .suggestion em{font-style:normal;background-color:rgba(53,166,247,0.25)}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion em{background-color:rgba(50,112,194,0.4)}.search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#e8e8e8}[theme=dark] .search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#323843}.search-dropdown .dropdown-menu .suggestions .suggestion:hover{cursor:pointer}.search-dropdown .dropdown-menu .search-empty{padding:1rem;text-align:center}.search-dropdown .dropdown-menu .search-empty .search-query{font-weight:bold}[theme=dark] .search-dropdown .dropdown-menu .search-empty .search-query{color:#ddd}.search-dropdown .dropdown-menu .search-footer{padding:.5rem 1rem;float:right;font-size:.8rem;color:#a9a9b3}.search-dropdown .dropdown-menu .search-footer [theme=dark]{color:#5d5d5f}.search-dropdown .dropdown-menu .search-footer a,.search-dropdown .dropdown-menu .search-footer a::before,.search-dropdown .dropdown-menu .search-footer a::after{text-decoration:none;color:#2d96bd}[theme=dark] .search-dropdown .dropdown-menu .search-footer a,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::before,[theme=dark] .search-dropdown .dropdown-menu .search-footer a::after{color:#55bde2}.search-dropdown .dropdown-menu .search-footer a:active,.search-dropdown .dropdown-menu .search-footer a:hover{color:#ef3982}[theme=dark] .search-dropdown .dropdown-menu .search-footer a:active,[theme=dark] .search-dropdown .dropdown-menu .search-footer a:hover{color:#bdebfc}.search-dropdown .dropdown-menu .search-footer a{font-size:1rem}footer{height:2rem;width:100%;text-align:center;line-height:1.25rem;padding:1rem 0}footer .footer-container{font-size:.875rem}footer .footer-container .footer-line{width:100%}footer .footer-container .footer-line .icp-br{display:none}.blur footer{-webkit-filter:blur(1.5px);-moz-filter:blur(1.5px);-ms-filter:blur(1.5px);filter:blur(1.5px)}.pagination{display:flex;flex-direction:row;justify-content:center;list-style:none;white-space:nowrap;width:100%;padding:1rem 0 0}.pagination a{font-size:.8rem;color:#bfbfbf;letter-spacing:.1rem;font-weight:700;padding:5px 5px;text-decoration:none;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s}.pagination li{padding-bottom:3px;margin:0 20px;box-sizing:border-box;position:relative;display:inline}.pagination li.disabled{display:none}.pagination li:hover a{color:#000}[theme=dark] .pagination li:hover a{color:#fff}.pagination li:before,.pagination li:after{position:absolute;content:"";width:0;height:3px;background:#000;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s;bottom:0px}[theme=dark] .pagination li:before,[theme=dark] .pagination li:after{background:#fff}.pagination li:before .active,.pagination li:after .active{width:100%}.pagination li:before{left:50%}.pagination li:after{right:50%}.pagination li:hover:before,.pagination li:hover:after{width:50%}.pagination li.active a{color:#000}[theme=dark] .pagination li.active a{color:#fff}.pagination li.active:before,.pagination li.active:after{width:60%}@media only screen and (max-width: 1440px){.page{width:56%}}@media only screen and (max-width: 1200px){.page{width:52%}#header-desktop .header-wrapper{padding-right:1rem}.search-dropdown.desktop{right:1rem}}@media only screen and (max-width: 960px){#toc-auto{display:none}#toc-static{display:block}.page{width:80%}#header-desktop .header-wrapper{padding-left:1rem}}@media only screen and (max-width: 680px){#header-desktop{display:none}#header-mobile{display:block}body.blur{overflow:hidden}.page{width:100%}[header-mobile] .page{padding-top:3.5rem}[header-mobile=normal] .page{padding-top:0}.page .categories-card .card-item{width:100%}.copyright .copyright-line .icp-splitter{display:none}.copyright .copyright-line .icp-br{display:block}}
+
+/*# sourceMappingURL=style.min.css.map */
\ No newline at end of file
diff --git a/public/css/style.min.css.map b/public/css/style.min.css.map
new file mode 100644
index 00000000..ebbf8f0b
--- /dev/null
+++ b/public/css/style.min.css.map
@@ -0,0 +1,87 @@
+{
+ "version": 3,
+ "file": "style.min.css",
+ "sourceRoot": "/home/pwzxxm/git/PwzXxm.github.io/hugo",
+ "sources": [
+ "themes/LoveIt/assets/css/style.scss",
+ "themes/LoveIt/assets/css/_variables.scss",
+ "assets/css/_override.scss",
+ "themes/LoveIt/assets/css/_mixin/_index.scss",
+ "themes/LoveIt/assets/css/_mixin/_compatibility.scss",
+ "themes/LoveIt/assets/css/_mixin/_link.scss",
+ "themes/LoveIt/assets/css/_mixin/_blur.scss",
+ "themes/LoveIt/assets/css/_mixin/_details.scss",
+ "themes/LoveIt/assets/css/_core/_base.scss",
+ "themes/LoveIt/assets/css/_partial/_mask.scss",
+ "themes/LoveIt/assets/css/_partial/_icon.scss",
+ "themes/LoveIt/assets/css/_partial/_details.scss",
+ "themes/LoveIt/assets/css/_partial/_fixed-button.scss",
+ "themes/LoveIt/assets/css/_partial/_cookieconsent.scss",
+ "themes/LoveIt/assets/css/_core/_layout.scss",
+ "themes/LoveIt/assets/css/_page/_index.scss",
+ "themes/LoveIt/assets/css/_page/_single.scss",
+ "themes/LoveIt/assets/css/_partial/_single/_toc.scss",
+ "themes/LoveIt/assets/css/_partial/_single/_code.scss",
+ "themes/LoveIt/assets/css/_partial/_single/_instagram.scss",
+ "themes/LoveIt/assets/css/_partial/_single/_admonition.scss",
+ "themes/LoveIt/assets/css/_partial/_single/_echarts.scss",
+ "themes/LoveIt/assets/css/_partial/_single/_mapbox.scss",
+ "themes/LoveIt/assets/css/_partial/_single/_music.scss",
+ "themes/LoveIt/assets/css/_partial/_single/_bilibili.scss",
+ "themes/LoveIt/assets/css/_partial/_single/_footer.scss",
+ "themes/LoveIt/assets/css/_partial/_single/_comment.scss",
+ "themes/LoveIt/assets/css/_page/_special.scss",
+ "themes/LoveIt/assets/css/_page/_archive.scss",
+ "themes/LoveIt/assets/css/_partial/_archive/_terms.scss",
+ "themes/LoveIt/assets/css/_partial/_archive/_tags.scss",
+ "themes/LoveIt/assets/css/_page/_home.scss",
+ "themes/LoveIt/assets/css/_page/_404.scss",
+ "themes/LoveIt/assets/css/_partial/_header.scss",
+ "themes/LoveIt/assets/css/_partial/_footer.scss",
+ "themes/LoveIt/assets/css/_partial/_pagination.scss",
+ "themes/LoveIt/assets/css/_core/_media.scss",
+ "themes/LoveIt/assets/css/_custom.scss"
+ ],
+ "sourcesContent": [
+ "@charset \"utf-8\";\n\n@import \"_variables\";\n@import \"_override\";\n\n@import \"_mixin/index\";\n\n@import \"_core/base\";\n@import \"_core/layout\";\n\n@import \"_page/index\";\n\n@import \"_partial/header\";\n@import \"_partial/footer\";\n@import \"_partial/pagination\";\n\n@import \"_core/media\";\n\n@import \"_custom\";\n",
+ "// ==============================\n// Variables\n// ==============================\n\n// ========== Global ========== //\n// Font and Line Height\n$global-font-family: system-ui, -apple-system, BlinkMacSystemFont, PingFang SC, Microsoft YaHei UI, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, Helvetica, Arial, sans-serif !default;\n$global-font-size: 16px;\n$global-font-weight: 400;\n$global-line-height: 1.5rem;\n\n// Color of the background\n$global-background-color: #fff !default;\n$global-background-color-dark: #292a2d !default;\n\n// Color of the text\n$global-font-color: #161209 !default;\n$global-font-color-dark: #a9a9b3 !default;\n\n// Color of the secondary text\n$global-font-secondary-color: #a9a9b3 !default;\n$global-font-secondary-color-dark: #5d5d5f !default;\n\n// Color of the link\n$global-link-color: #161209 !default;\n$global-link-color-dark: #a9a9b3 !default;\n\n// Color of the hover link\n$global-link-hover-color: #2d96bd !default;\n$global-link-hover-color-dark: #fff !default;\n\n// Color of the border\n$global-border-color: #f0f0f0 !default;\n$global-border-color-dark: #363636 !default;\n// ========== Global ========== //\n\n// ========== Scrollbar ========== //\n// Color of the scrollbar\n$scrollbar-color: #87878d !default;\n\n// Color of the hover scrollbar\n$scrollbar-hover-color: #a9a9b3 !default;\n// ========== Scrollbar ========== //\n\n// ========== Selection ========== //\n// Color of the selected text\n$selection-color: rgba(53, 166, 247, 0.25) !default;\n$selection-color-dark: rgba(50, 112, 194, 0.4) !default;\n// ========== Selection ========== //\n\n// ========== Header ========== //\n// Height of the header\n$header-height: 3.5rem !default;\n\n// Color of the header background\n$header-background-color: #f8f8f8 !default;\n$header-background-color-dark: #252627 !default;\n\n// Font style of the header title\n$header-title-font-family: $global-font-family !default;\n$header-title-font-size: 1.5rem !default;\n\n// Color of the hover header item\n$header-hover-color: #161209 !default;\n$header-hover-color-dark: #fff !default;\n\n// Color of the search background\n$search-background-color: #e9e9e9 !default;\n$search-background-color-dark: #363636 !default;\n// ========== Header ========== //\n\n// ========== Single Content ========== //\n// Font size of the TOC\n$toc-title-font-size: 1.2rem !default;\n$toc-content-font-size: 1rem !default;\n\n// Color of the single link\n$single-link-color: #2d96bd !default;\n$single-link-color-dark: #55bde2 !default;\n\n// Color of the hover single link\n$single-link-hover-color: #ef3982 !default;\n$single-link-hover-color-dark: #bdebfc !default;\n\n// Color of the table background\n$table-background-color: #fff !default;\n$table-background-color-dark: #272c34 !default;\n\n// Color of the table thead\n$table-thead-color: #ededed !default;\n$table-thead-color-dark: #20252b !default;\n\n// Color of the blockquote\n$blockquote-color: #6bd6fd !default;\n$blockquote-color-dark: #59c5ec !default;\n// ========== Single Content ========== //\n\n// ========== Pagination ========== //\n// Color of the link in pagination\n$pagination-link-color: #2d96bd !default;\n$pagination-link-color-dark: #a9a9b3 !default;\n\n// Color of the hover link in pagination\n$pagination-link-hover-color: #000 !default;\n$pagination-link-hover-color-dark: #fff !default;\n// ========== Pagination ========== //\n\n// ========== Code ========== //\n// Color of the code\n$code-color: #E74C3C !default;\n$code-color-dark: #E5BF78 !default;\n\n// Color of the code background\n$code-background-color: #f5f5f5 !default;\n$code-background-color-dark: #272C34 !default;\n\n$code-info-color: #9c9c9c !default;\n$code-info-color-dark: #b1b0b0 !default;\n\n// Font size of the code\n$code-font-size: .875rem !default;\n\n// Font family of the code\n$code-font-family: Source Code Pro, Menlo, Consolas, Monaco, monospace, $global-font-family !default;\n\n// Code type map\n$code-type-map: (\n // Custom code type\n language-bash: 'Bash',\n language-c: 'C',\n language-cs: 'C#',\n language-cpp: 'C++',\n language-clojure: 'Clojure',\n language-coffeescript: 'CoffeeScript',\n language-css: 'CSS',\n language-dart: 'Dart',\n language-diff: 'Diff',\n language-erlang: 'Erlang',\n language-go: 'Go',\n language-go-html-template: 'Go HTML Template',\n language-groovy: 'Groovy',\n language-haskell: 'Haskell',\n language-html: 'HTML',\n language-http: 'HTTP',\n language-xml: 'XML',\n language-java: 'Java',\n language-js: 'JavaScript',\n language-javascript: 'JavaScript',\n language-json: 'JSON',\n language-kotlin: 'Kotlin',\n language-latex: 'LaTeX',\n language-less: 'Less',\n language-lisp: 'Lisp',\n language-lua: 'Lua',\n language-makefile: 'Makefile',\n language-markdown: 'Markdown',\n language-matlab: 'Matlab',\n language-objectivec: 'Objective-C',\n language-php: 'PHP',\n language-perl: 'Perl',\n language-python: 'Python',\n language-r: 'R',\n language-ruby: 'Ruby',\n language-rust: 'Rust',\n language-scala: 'Scala',\n language-scss: 'Scss',\n language-shell: 'Shell',\n language-sql: 'SQL',\n language-swift: 'Swift',\n language-tex: 'TeX',\n language-toml: 'TOML',\n language-ts: 'TypeScript',\n language-typescript: 'TypeScript',\n language-vue: 'Vue',\n language-yml: 'YAML',\n language-yaml: 'YAML',\n) !default;\n\n// Color map of the code highlight\n$code-highlight-color-map: (\n /* Parentheses */ 'p': #a9a9b3,\n /* Keyword */ 'k': #b501a9,\n /* KeywordConstant */ 'kc': #b501a9,\n /* KeywordDeclaration */ 'kd': #b501a9,\n /* KeywordNamespace */ 'kn': #b501a9,\n /* KeywordPseudo */ 'kp': #b501a9,\n /* KeywordReserved */ 'kr': #b501a9,\n /* KeywordType */ 'kt': #b501a9,\n /* Name */ 'n': #333333,\n /* NameAttribute */ 'na': #2b77fa,\n /* NameBuiltin */ 'nb': #f74840,\n /* NameBuiltinPseudo */ 'bp': #f74840,\n /* NameClass */ 'nc': #cb8100,\n /* NameConstant */ 'no': #2b77fa,\n /* NameDecorator */ 'nd': #0086c1,\n /* NameEntity */ 'ni': #2b77fa,\n /* NameException */ 'ne': #2b77fa,\n /* NameFunction */ 'nf': #2b77fa,\n /* NameFunctionMagic */ 'fm': #1ccad6,\n /* NameLabel */ 'nl': #2b77fa,\n /* NameNamespace */ 'nn': #2b77fa,\n /* NameOther */ 'nx': #333333,\n /* NameProperty */ 'py': #2b77fa,\n /* NameTag */ 'nt': #2b77fa,\n /* NameVariable */ 'nv': #2b77fa,\n /* NameVariableClass */ 'vc': #2b77fa,\n /* NameVariableGlobal */ 'vg': #2b77fa,\n /* NameVariableInstance */ 'vi': #2b77fa,\n /* NameVariableMagic */ 'vm': #2b77fa,\n /* Literal */ 'l': #2aa198,\n /* LiteralDate */ 'ld': #2aa198,\n /* LiteralString */ 's': #24a443,\n /* LiteralStringAffix */ 'sa': #24a443,\n /* LiteralStringBacktick */ 'sb': #24a443,\n /* LiteralStringChar */ 'sc': #24a443,\n /* LiteralStringDelimiter */ 'dl': #24a443,\n /* LiteralStringDoc */ 'sd': #24a443,\n /* LiteralStringDouble */ 's2': #24a443,\n /* LiteralStringEscape */ 'se': #24a443,\n /* LiteralStringHeredoc */ 'sh': #24a443,\n /* LiteralStringInterpol */ 'si': #24a443,\n /* LiteralStringOther */ 'sx': #24a443,\n /* LiteralStringRegex */ 'sr': #24a443,\n /* LiteralStringSingle */ 's1': #24a443,\n /* LiteralStringSymbol */ 'ss': #24a443,\n /* LiteralNumber */ 'm': #e2893c,\n /* LiteralNumberBin */ 'mb': #e2893c,\n /* LiteralNumberFloat */ 'mf': #e2893c,\n /* LiteralNumberHex */ 'mh': #e2893c,\n /* LiteralNumberInteger */ 'mi': #e2893c,\n /* LiteralNumberIntegerLong */ 'il': #e2893c,\n /* LiteralNumberOct */ 'mo': #e2893c,\n /* Operator */ 'o': #f19b04,\n /* OperatorWord */ 'ow': #b501a9,\n /* Comment */ 'c': #a0a1a8,\n /* CommentHashbang */ 'ch': #a0a1a8,\n /* CommentMultiline */ 'cm': #a0a1a8,\n /* CommentSingle */ 'c1': #a0a1a8,\n /* CommentSpecial */ 'cs': #a0a1a8,\n /* CommentPreproc */ 'cp': #a0a1a8,\n /* CommentPreprocFile */ 'cpf': #a0a1a8,\n /* Generic */ 'g': #e72d40,\n /* GenericDeleted */ 'gd': #e72d40,\n /* GenericEmph */ 'ge': #e72d40,\n /* GenericError */ 'gr': #e72d40,\n /* GenericHeading */ 'gh': #e72d40,\n /* GenericInserted */ 'gi': #e72d40,\n /* GenericOutput */ 'go': #e72d40,\n /* GenericPrompt */ 'gp': #e72d40,\n /* GenericStrong */ 'gs': #e72d40,\n /* GenericSubheading */ 'gu': #e72d40,\n /* GenericTraceback */ 'gt': #e72d40,\n /* TextWhitespace */ 'w': #bbbbbb,\n) !default;\n$code-highlight-color-map-dark: (\n /* Parentheses */ 'p': #a9a9b3,\n /* Keyword */ 'k': #d371e3,\n /* KeywordConstant */ 'kc': #d371e3,\n /* KeywordDeclaration */ 'kd': #d371e3,\n /* KeywordNamespace */ 'kn': #d371e3,\n /* KeywordPseudo */ 'kp': #d371e3,\n /* KeywordReserved */ 'kr': #d371e3,\n /* KeywordType */ 'kt': #d371e3,\n /* Name */ 'n': #a9b2c0,\n /* NameAttribute */ 'na': #41b0f5,\n /* NameBuiltin */ 'nb': #19b9c4,\n /* NameBuiltinPseudo */ 'bp': #ecbf6f,\n /* NameClass */ 'nc': #ecbf6f,\n /* NameConstant */ 'no': #41b0f5,\n /* NameDecorator */ 'nd': #ecbf6f,\n /* NameEntity */ 'ni': #41b0f5,\n /* NameException */ 'ne': #41b0f5,\n /* NameFunction */ 'nf': #41b0f5,\n /* NameFunctionMagic */ 'fm': #19b9c4,\n /* NameLabel */ 'nl': #41b0f5,\n /* NameNamespace */ 'nn': #41b0f5,\n /* NameOther */ 'nx': #a9a9b3,\n /* NameProperty */ 'py': #41b0f5,\n /* NameTag */ 'nt': #41b0f5,\n /* NameVariable */ 'nv': #41b0f5,\n /* NameVariableClass */ 'vc': #41b0f5,\n /* NameVariableGlobal */ 'vg': #41b0f5,\n /* NameVariableInstance */ 'vi': #41b0f5,\n /* NameVariableMagic */ 'vm': #41b0f5,\n /* Literal */ 'l': #2aa198,\n /* LiteralDate */ 'ld': #2aa198,\n /* LiteralString */ 's': #8cc570,\n /* LiteralStringAffix */ 'sa': #8cc570,\n /* LiteralStringBacktick */ 'sb': #8cc570,\n /* LiteralStringChar */ 'sc': #8cc570,\n /* LiteralStringDelimiter */ 'dl': #8cc570,\n /* LiteralStringDoc */ 'sd': #8cc570,\n /* LiteralStringDouble */ 's2': #8cc570,\n /* LiteralStringEscape */ 'se': #8cc570,\n /* LiteralStringHeredoc */ 'sh': #8cc570,\n /* LiteralStringInterpol */ 'si': #8cc570,\n /* LiteralStringOther */ 'sx': #8cc570,\n /* LiteralStringRegex */ 'sr': #8cc570,\n /* LiteralStringSingle */ 's1': #8cc570,\n /* LiteralStringSymbol */ 'ss': #8cc570,\n /* LiteralNumber */ 'm': #db985c,\n /* LiteralNumberBin */ 'mb': #db985c,\n /* LiteralNumberFloat */ 'mf': #db985c,\n /* LiteralNumberHex */ 'mh': #db985c,\n /* LiteralNumberInteger */ 'mi': #db985c,\n /* LiteralNumberIntegerLong */ 'il': #db985c,\n /* LiteralNumberOct */ 'mo': #db985c,\n /* Operator */ 'o': #ecbf6f,\n /* OperatorWord */ 'ow': #d371e3,\n /* Comment */ 'c': #7e848f,\n /* CommentHashbang */ 'ch': #7e848f,\n /* CommentMultiline */ 'cm': #7e848f,\n /* CommentSingle */ 'c1': #7e848f,\n /* CommentSpecial */ 'cs': #7e848f,\n /* CommentPreproc */ 'cp': #7e848f,\n /* CommentPreprocFile */ 'cpf': #7e848f,\n /* Generic */ 'g': #f16372,\n /* GenericDeleted */ 'gd': #f16372,\n /* GenericEmph */ 'ge': #f16372,\n /* GenericError */ 'gr': #f16372,\n /* GenericHeading */ 'gh': #f16372,\n /* GenericInserted */ 'gi': #f16372,\n /* GenericOutput */ 'go': #f16372,\n /* GenericPrompt */ 'gp': #f16372,\n /* GenericStrong */ 'gs': #f16372,\n /* GenericSubheading */ 'gu': #f16372,\n /* GenericTraceback */ 'gt': #f16372,\n /* TextWhitespace */ 'w': #bbbbbb,\n) !default;\n// ========== Code ========== //\n\n// ========== Admonition ========== //\n// Color map of the admonition\n$admonition-color-map: (\n 'note': #448aff,\n 'abstract': #00b0ff,\n 'info': #00b8d4,\n 'tip': #00bfa5,\n 'success': #00c853,\n 'question': #64dd17,\n 'warning': #ff9100,\n 'failure': #ff5252,\n 'danger': #ff1744,\n 'bug': #f50057,\n 'example': #651fff,\n 'quote': #9e9e9e,\n) !default;\n\n// Color map of the admonition background\n$admonition-background-color-map: (\n 'note': rgba(68, 138, 255, 0.1),\n 'abstract': rgba(0, 176, 255, 0.1),\n 'info': rgba(0, 184, 212, 0.1),\n 'tip': rgba(0, 191, 165, 0.1),\n 'success': rgba(0, 200, 83, 0.1),\n 'question': rgba(100, 221, 23, 0.1),\n 'warning': rgba(255, 145, 0, 0.1),\n 'failure': rgba(255, 82, 82, 0.1),\n 'danger': rgba(255, 23, 68, 0.1),\n 'bug': rgba(245, 0, 87, 0.1),\n 'example': rgba(101, 31, 255, 0.1),\n 'quote': rgba(159, 159, 159, 0.1),\n) !default;\n// ========== Admonition ========== //\n\n$MAX_LENGTH: 12000px;\n",
+ "// override default variables in /themes/LoveIt/assets/css/_variables.scss\n\n$global-font-family: system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", Helvetica, Arial, \"Microsoft YaHei UI\", \"Microsoft YaHei\", \"微软雅黑\", \"PingFang SC\", sans-seri;",
+ "@import \"_compatibility\";\n@import \"_link\";\n@import \"_blur\";\n@import \"_details\";\n",
+ "@mixin border-radius($value) {\n -webkit-border-radius: $value;\n -moz-border-radius: $value;\n border-radius: $value;\n}\n\n@mixin box-shadow($values...) {\n -webkit-box-shadow: $values;\n box-shadow: $values;\n}\n\n@mixin transition($values...) {\n -webkit-transition: $values;\n -moz-transition: $values;\n -o-transition: $values;\n transition: $values;\n}\n\n@mixin transform($value) {\n -webkit-transform: $value;\n -moz-transform: $value;\n -ms-transform: $value;\n -o-transform: $value;\n transform: $value;\n}\n\n@mixin filter($value) {\n -webkit-filter: $value;\n -moz-filter: $value;\n -ms-filter: $value;\n filter: $value;\n}\n\n@mixin flex($value) {\n -webkit-flex: $value;\n flex: $value;\n}\n\n@mixin box($orient) {\n display: -moz-box;\n display: -webkit-box;\n display: box;\n\n -webkit-box-orient: $orient;\n -moz-box-orient: $orient;\n box-orient: $orient;\n}\n\n@mixin placeholder($color) {\n input::-webkit-input-placeholder{\n color: $color;\n }\n\n input:-moz-placeholder{\n color: $color;\n }\n\n input::-moz-placeholder{\n color: $color;\n }\n\n input:-ms-input-placeholder{\n color: $color;\n }\n\n input::placeholder {\n color: $color;\n }\n}\n\n@mixin max-content($property) {\n #{$property}: -webkit-max-content;\n #{$property}: -moz-max-content;\n #{$property}: intrinsic;\n #{$property}: max-content;\n}\n\n@mixin tab-size($value) {\n -moz-tab-size: $value;\n -o-tab-size: $value;\n tab-size: $value;\n}\n\n@mixin appearance($value) {\n -moz-appearance: $value;\n -webkit-appearance: $value;\n}\n\n@mixin overflow-wrap($value) {\n word-wrap: $value;\n overflow-wrap: $value;\n}\n\n@mixin line-break($value) {\n -webkit-line-break: $value;\n -ms-line-break: $value;\n line-break: $value;\n}\n\n@mixin ms {\n input::-ms-clear {\n display: none;\n }\n}\n\n@mixin object-fit($value) {\n -o-object-fit: $value;\n object-fit: $value;\n font-family: 'object-fit: #{$value};';\n}\n",
+ "@mixin link($light, $dark) {\n a, a::before, a::after {\n text-decoration: none;\n\n color: if($light, $global-link-color, $single-link-color);\n\n [theme=dark] & {\n color: if($dark, $global-link-color-dark, $single-link-color-dark);\n }\n }\n\n a:active,\n a:hover {\n color: if($light, $global-link-hover-color, $single-link-hover-color);\n\n [theme=dark] & {\n color: if($dark, $global-link-hover-color-dark, $single-link-hover-color-dark);\n }\n }\n}\n",
+ "@mixin blur {\n .blur & {\n @include filter(blur(1.5px));\n }\n}\n",
+ "@mixin details-transition-open {\n @include transition(max-height 0.8s cubic-bezier(0, 1, 0, 1) -0.1s);\n}\n\n@mixin details-transition-close {\n @include transition(max-height 0.8s cubic-bezier(0.5, 0, 1, 0) 0s);\n}\n",
+ "html {\n font-family: $global-font-family;\n font-weight: $global-font-weight;\n font-display: swap;\n font-size: $global-font-size;\n line-height: $global-line-height;\n width:100%;\n}\n\n/* scrollbar, only support webkit */\n::-webkit-scrollbar {\n width: .5rem;\n height: .5rem;\n}\n\n::-webkit-scrollbar-thumb {\n background-color: $scrollbar-color;\n\n &:hover {\n background-color: $scrollbar-hover-color;\n }\n}\n\n::selection {\n background-color: $selection-color;\n\n [theme=dark] & {\n background-color: $selection-color-dark;\n }\n}\n\nbody {\n background-color: $global-background-color;\n color: $global-font-color;\n @include overflow-wrap(break-word);\n scrollbar-color: auto;\n\n &[theme=dark] {\n color: $global-font-color-dark;\n background-color: $global-background-color-dark;\n }\n}\n\n@include ms;\n@include link(true, true);\n\n@import \"../_partial/mask\";\n@import \"../_partial/icon\";\n@import \"../_partial/details\";\n@import \"../_partial/fixed-button\";\n@import \"../_partial/cookieconsent\";\n\nimg {\n @include object-fit(contain);\n}\n",
+ "#mask {\n background-repeat: no-repeat;\n background-position: center;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: -1;\n background-color: rgba(0, 0, 0, 0);\n\n .blur & {\n z-index: 100;\n background-color: rgba(0, 0, 0, .25);\n }\n}\n",
+ "svg.icon {\n display: inline-block;\n width: 1.25em;\n height: 1em;\n text-align: center;\n\n path {\n fill: currentColor;\n }\n}\n\nimg.emoji {\n height: 1em;\n width: 1em;\n margin: 0 .05em 0 .1em;\n vertical-align: -.1em;\n}\n",
+ ".details {\n .details-summary {\n &:hover {\n cursor: pointer;\n }\n }\n\n i.details-icon {\n color: $global-font-secondary-color;\n @include transition(transform 0.2s ease);\n\n [theme=dark] & {\n color: $global-font-secondary-color-dark;\n }\n }\n\n .details-content {\n max-height: 0;\n overflow-y: hidden;\n @include details-transition-open;\n }\n\n &.open {\n i.details-icon {\n @include transform(rotate(90deg));\n }\n\n .details-content {\n max-height: $MAX_LENGTH;\n @include details-transition-close;\n }\n }\n}\n",
+ "#fixed-buttons {\n display: none;\n}\n\n.fixed-button {\n display: none;\n z-index: 100;\n position: fixed;\n right: 1.5rem;\n font-size: 1rem;\n line-height: 1.3rem;\n padding: .6rem .6rem;\n color: $global-font-secondary-color;\n background: $header-background-color;\n @include border-radius(2rem);\n @include transition(color 0.4s ease);\n\n @include blur;\n\n &:hover, &:active {\n color: $global-font-color;\n cursor: pointer;\n }\n\n &:active, &:focus, &:hover {\n outline: none;\n }\n\n [theme=dark] & {\n color: $global-font-secondary-color-dark;\n background: $header-background-color-dark;\n\n &:hover, &:active {\n color: $global-font-color-dark;\n }\n }\n}\n\n#back-to-top {\n display: block;\n bottom: 1.5rem;\n}\n\n#view-comments {\n bottom: 4.5rem;\n}\n",
+ ".cc-window.cc-banner {\n .cc-btn {\n color: $global-font-color;\n\n &:hover, &:focus {\n background-color: #ccc;\n }\n\n [theme=dark] & {\n color: $global-font-color;\n\n &:hover, &:focus {\n background-color: #fff;\n }\n }\n }\n}\n",
+ "/** Layout **/\n.wrapper {\n display: flex;\n flex-direction: column;\n min-height: 100vh;\n width: 100%;\n\n main {\n flex: 1 0 auto;\n\n .container {\n padding: 0 1rem;\n }\n }\n}\n",
+ ".page {\n position: relative;\n max-width: 800px;\n width: 60%;\n margin: 0 auto;\n\n [header-desktop] & {\n padding-top: $header-height;\n }\n\n [header-desktop=normal] & {\n padding-top: 0;\n }\n\n @include blur;\n}\n\n@import \"_single\";\n@import \"_special\";\n@import \"_archive\";\n@import \"_home\";\n@import \"_404\";\n",
+ "@import \"../_partial/_single/toc\";\n\n.single {\n .single-title {\n margin: 1rem 0 .5rem;\n font-size: 1.6rem;\n font-weight: bold;\n line-height: 140%;\n }\n\n .single-subtitle {\n margin: .4rem 0;\n font-size: 1.2rem;\n font-weight: normal;\n font-style: italic;\n line-height: 100%;\n }\n\n .post-meta {\n font-size: .875rem;\n color: $global-font-secondary-color;\n\n span {\n display: inline-block;\n }\n\n [theme=dark] & {\n color: $global-font-secondary-color-dark;\n }\n\n @include link(false, true);\n\n .author {\n font-size: 1.05rem;\n }\n }\n\n .featured-image {\n margin: .5rem 0 1rem 0;\n\n img {\n display: block;\n max-width: 100%;\n height: auto;\n margin: 0 auto;\n overflow: hidden;\n }\n\n img.lazyloaded {\n width: 100%;\n }\n }\n\n .content {\n > h2 {\n font-size: 1.5rem;\n\n & code {\n font-size: 1.25rem;\n }\n }\n\n > h3 {\n font-size: 1.375rem;\n\n & code {\n font-size: 1.125rem;\n }\n }\n\n > h4 {\n font-size: 1.25rem;\n\n & code {\n font-size: 1rem;\n }\n }\n\n > h5 {\n font-size: 1.125rem;\n }\n\n > h6 {\n font-size: 1rem;\n }\n\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-weight: bold;\n margin: 1.2rem 0;\n\n [theme=dark] & {\n font-weight: bolder;\n }\n }\n\n > h2,\n > h3,\n > h4,\n > h5,\n > h6 {\n > .header-mark::before {\n content: \"|\";\n margin-right: .3125rem;\n color: $single-link-color;\n\n [theme=dark] & {\n color: $single-link-color-dark;\n }\n }\n }\n\n > h2 > .header-mark::before {\n content: \"#\";\n }\n\n p {\n margin: .5rem 0;\n }\n\n b, strong {\n font-weight: bold;\n\n [theme=dark] & {\n color: #ddd;\n }\n }\n\n @include link(false, false);\n\n a {\n @include overflow-wrap(break-word);\n\n [theme=dark] & b, [theme=dark] & strong {\n color: $single-link-color-dark;\n }\n }\n\n [theme=dark] a:hover b, [theme=dark] a:hover strong {\n color: $single-link-hover-color-dark;\n }\n\n ul, ol {\n margin: .5rem 0;\n padding-left: 2.5rem;\n }\n\n ul {\n list-style-type: disc;\n }\n\n ruby {\n background: $code-background-color;\n\n rt {\n color: $global-font-secondary-color;\n }\n\n [theme=dark] & {\n background: $code-background-color-dark;\n\n rt {\n color: $global-font-secondary-color-dark;\n }\n }\n }\n\n .table-wrapper {\n overflow-x: auto;\n\n &::-webkit-scrollbar {\n background-color: $table-background-color;\n\n [theme=dark] & {\n background-color: $table-background-color-dark;\n }\n }\n\n > table {\n width: 100%;\n max-width: 100%;\n margin: .625rem 0;\n border-spacing: 0;\n background: $table-background-color;\n border-collapse: collapse;\n\n [theme=dark] & {\n background: $table-background-color-dark;\n }\n\n thead {\n background: $table-thead-color;\n\n [theme=dark] & {\n background-color: $table-thead-color-dark;\n }\n }\n\n th, td {\n padding: .3rem 1rem;\n border: 1px solid darken($table-thead-color, 2%);\n\n [theme=dark] & {\n border-color: darken($table-thead-color-dark, 2%);\n }\n }\n }\n }\n\n img {\n max-width: 100%;\n min-height: 1em;\n }\n\n figure {\n margin: .5rem;\n text-align: center;\n\n .image-caption:not(:empty) {\n min-width: 20%;\n max-width: 80%;\n display: inline-block;\n padding: .5rem;\n margin: 0 auto;\n font-size: .875rem;\n color: #969696;\n }\n\n img {\n display: block;\n height: auto;\n margin: 0 auto;\n overflow: hidden;\n }\n }\n\n .lazyloading {\n @include object-fit(none);\n }\n\n blockquote {\n display: block;\n border-left: .5rem solid $blockquote-color;\n background-color: rgba($blockquote-color, .2);\n padding: .25rem .75rem;\n margin: 1rem 0;\n\n [theme=dark] & {\n border-left-color: $blockquote-color-dark;\n background-color: rgba($blockquote-color-dark, .2);\n }\n }\n\n .footnotes {\n color: $global-font-secondary-color;\n\n [theme=dark] & {\n color: $global-font-secondary-color-dark;\n }\n\n p {\n margin: .25rem 0;\n }\n }\n\n @import \"../_partial/_single/code\";\n @import \"../_partial/_single/instagram\";\n @import \"../_partial/_single/admonition\";\n @import \"../_partial/_single/echarts\";\n @import \"../_partial/_single/mapbox\";\n @import \"../_partial/_single/music\";\n @import \"../_partial/_single/bilibili\";\n\n hr {\n margin: 1rem 0;\n position: relative;\n border-top: 1px dashed $global-border-color;\n border-bottom: none;\n\n [theme=dark] & {\n border-top: 1px dashed $global-border-color-dark;\n }\n }\n\n kbd {\n display: inline-block;\n padding: .25rem;\n background-color: $global-background-color;\n border: 1px solid $global-border-color;\n border-bottom-color: $global-border-color;\n @include border-radius(3px);\n @include box-shadow(inset 0 -1px 0 $global-border-color);\n font-size: .8rem;\n font-family: $code-font-family;\n color: $code-color;\n\n [theme=dark] & {\n background-color: $global-background-color-dark;\n border: 1px solid $global-border-color-dark;\n border-bottom-color: $global-border-color-dark;\n @include box-shadow(inset 0 -1px 0 $global-border-color-dark);\n color: $code-color-dark;\n }\n }\n\n .typeit {\n .code {\n padding: .375rem;\n font-size: .875rem;\n font-family: $code-font-family;\n font-weight: bold;\n word-break: break-all;\n }\n }\n\n .version {\n height: 1.25em;\n vertical-align: text-bottom;\n }\n }\n\n @import \"../_partial/_single/footer\";\n @import \"../_partial/_single/comment\";\n}\n\n.lg-toolbar .lg-icon::after {\n color: #999;\n}\n",
+ ".toc {\n .toc-title {\n font-size: $toc-title-font-size;\n font-weight: bold;\n text-transform: uppercase;\n }\n\n .toc-content {\n font-size: $toc-content-font-size;\n\n ul {\n text-indent: -0.85rem;\n padding-left: .8rem;\n list-style: none;\n\n a:first-child::before {\n content: \"|\";\n font-weight: bolder;\n margin-right: .5rem;\n color: $single-link-color;\n\n [theme=dark] & {\n color: $single-link-color-dark;\n }\n }\n\n ul {\n padding-left: 1.5rem;\n }\n }\n }\n\n ruby {\n background: $code-background-color;\n\n rt {\n color: $global-font-secondary-color;\n }\n\n [theme=dark] & {\n background: $code-background-color-dark;\n\n rt {\n color: $global-font-secondary-color-dark;\n }\n }\n }\n}\n\n#toc-auto {\n display: block;\n position: absolute;\n width: $MAX_LENGTH;\n max-width: 0;\n padding: 0 .8rem;\n border-left: 4px solid $global-border-color;\n @include overflow-wrap(break-word);\n box-sizing: border-box;\n top: 10rem;\n left: 0;\n visibility: hidden;\n\n [header-desktop=normal] & {\n top: 5rem;\n }\n\n @include blur;\n\n [theme=dark] & {\n border-left-color: $global-border-color-dark;\n }\n\n .toc-title {\n margin: .8rem 0;\n }\n\n .toc-content {\n &.always-active ul {\n display: block;\n }\n\n > nav > ul {\n margin: .625rem 0;\n }\n\n ul {\n ul {\n display: none;\n }\n\n .has-active > ul {\n display: block;\n }\n }\n\n a.active {\n font-weight: bold;\n color: $single-link-color;\n\n [theme=dark] & {\n color: $single-link-color-dark;\n }\n\n &::before {\n color: $single-link-hover-color;\n\n [theme=dark] & {\n color: $single-link-hover-color-dark;\n }\n }\n }\n }\n}\n\n#toc-static {\n display: none;\n margin: .8rem 0;\n\n &[kept=true] {\n display: block;\n }\n\n .toc-title {\n display: flex;\n justify-content: space-between;\n line-height: 2em;\n padding: 0 .75rem;\n background: darken($code-background-color, 6%);\n\n [theme=dark] & {\n background: darken($code-background-color-dark, 6%);\n }\n }\n\n .toc-content {\n background-color: $code-background-color;\n\n > nav > ul {\n margin: 0;\n padding: .4rem 1rem .4rem 1.8rem;\n }\n\n [theme=dark] & {\n background-color: $code-background-color-dark;\n }\n }\n\n &.open {\n .toc-title {\n background: darken($code-background-color, 3%);\n\n [theme=dark] & {\n background: darken($code-background-color-dark, 3%);\n }\n }\n }\n}\n",
+ "code {\n display:inline-block;\n max-width: 100%;\n padding: 0 .4rem;\n @include overflow-wrap(break-word);\n @include line-break(anywhere);\n font-size: $code-font-size;\n font-family: $code-font-family;\n color: $code-color;\n\n [theme=dark] & {\n color: $code-color-dark;\n }\n}\n\npre {\n margin: 0;\n padding: .25rem 0 .25rem .5rem;\n @include tab-size(4);\n\n code {\n padding: 0;\n }\n\n img {\n min-height: 1em;\n max-height: 1.2em;\n vertical-align: text-bottom;\n }\n}\n\ncode, pre, .highlight table, .highlight tr, .highlight td {\n background: $code-background-color;\n\n [theme=dark] & {\n background: $code-background-color-dark;\n }\n}\n\n.highlight, .gist {\n font-family: $code-font-family;\n font-size: $code-font-size;\n\n .table-wrapper {\n > table,\n > table thead,\n > table tr,\n > table td {\n margin: 0;\n padding: 0;\n border: none !important;\n white-space: nowrap;\n }\n }\n}\n\n.highlight {\n line-height: 1.4em;\n margin: .5rem 0;\n\n > .chroma {\n position: relative;\n\n .code-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n box-sizing: border-box;\n width: 100%;\n font-family: $global-font-family;\n font-weight: bold;\n color: $code-info-color;\n background: darken($code-background-color, 8%);\n\n [theme=dark] & {\n color: $code-info-color-dark;\n background: darken($code-background-color-dark, 6%);\n }\n\n &:hover {\n cursor: pointer;\n }\n\n .code-title {\n width: 100%;\n padding: .4rem;\n }\n\n .code-title::after {\n padding-left: .2rem;\n content: 'Code';\n }\n\n @each $type, $text in $code-type-map {\n &.#{$type} .code-title::after {\n content: $text;\n }\n }\n }\n\n .lntd:first-child {\n min-width: 1.6rem;\n text-align: right;\n }\n\n .lntd:last-child {\n width: 100%;\n\n pre {\n @include max-content(min-width);\n }\n }\n\n .ln {\n padding-right: .75rem;\n }\n\n .hl {\n display: block;\n background-color: darken($code-background-color, 10%);\n\n [theme=dark] & {\n background-color: darken($code-background-color-dark, 5%);\n }\n }\n\n .ln, .lnt {\n color: $global-font-secondary-color;\n\n [theme=dark] & {\n color: $global-font-secondary-color-dark;\n }\n }\n\n .arrow {\n padding: 0 .2rem;\n @include transition(transform 0.2s ease);\n }\n\n .ellipses {\n padding: .4rem;\n }\n\n .copy {\n display: none;\n padding: .4rem;\n\n &:hover {\n cursor: pointer;\n color: $global-link-hover-color;\n\n [theme=dark] & {\n color: $global-link-hover-color-dark;\n }\n }\n }\n\n .table-wrapper {\n max-height: 0;\n overflow-y: hidden;\n @include details-transition-open;\n }\n\n &.open {\n .code-header {\n background: darken($code-background-color, 3%);\n\n [theme=dark] & {\n background: darken($code-background-color-dark, 3%);\n }\n }\n\n .table-wrapper {\n max-height: $MAX_LENGTH;\n @include details-transition-close;\n }\n\n .arrow {\n @include transform(rotate(90deg));\n }\n\n .ellipses {\n display: none;\n }\n\n .copy {\n display: inline;\n }\n }\n }\n\n /* Comment */ .c,\n /* CommentHashbang */ .ch,\n /* CommentMultiline */ .cm,\n /* CommentSingle */ .c1,\n /* CommentSpecial */ .cs,\n /* CommentPreproc */ .cp,\n /* CommentPreprocFile */ .cpf { font-style: italic }\n /* GenericUnderline */ .gl { text-decoration: underline }\n\n @each $class, $color in $code-highlight-color-map {\n .#{$class} { color: $color; }\n }\n\n [theme=dark] & {\n @each $class, $color in $code-highlight-color-map-dark {\n .#{$class} { color: $color; }\n }\n }\n}\n\n.gist {\n .gist-file, .gist-data, .gist-meta {\n border: none;\n }\n\n .gist-meta {\n padding: .4rem .8rem;\n background-color: darken($code-background-color, 5%);\n\n @include link(false, false);\n\n [theme=dark] & {\n background-color: darken($code-background-color-dark, 5%);\n }\n }\n\n [theme=dark] & {\n // imported from https://github.com/lonekorean/gist-syntax-themes/blob/master/stylesheets/one-dark.css\n .highlight {\n background: #141414;\n }\n .blob-num,\n .blob-code-inner,\n .highlight,\n .pl-enm,\n .pl-ko,\n .pl-mo,\n .pl-mp1 .pl-sf,\n .pl-ms,\n .pl-pdc1,\n .pl-scp,\n .pl-smc,\n .pl-som,\n .pl-va,\n .pl-vpf,\n .pl-vpu,\n .pl-mdr {\n color: #aab1bf;\n }\n .pl-mb,\n .pl-pdb {\n font-weight: 700;\n }\n .pl-c,\n .pl-c span,\n .pl-pdc {\n color: #5b6270;\n font-style: italic;\n }\n .pl-sr .pl-cce {\n color: #56b5c2;\n font-weight: 400;\n }\n .pl-ef,\n .pl-en,\n .pl-enf,\n .pl-eoai,\n .pl-kos,\n .pl-mh .pl-pdh,\n .pl-mr {\n color: #61afef;\n }\n .pl-ens,\n .pl-vi {\n color: #be5046;\n }\n .pl-enti,\n .pl-mai .pl-sf,\n .pl-ml,\n .pl-sf,\n .pl-sr,\n .pl-sr .pl-sra,\n .pl-src,\n .pl-st,\n .pl-vo {\n color: #56b5c2;\n }\n .pl-eoi,\n .pl-mri,\n .pl-pds,\n .pl-pse .pl-s1,\n .pl-s,\n .pl-s1 {\n color: #97c279;\n }\n .pl-k,\n .pl-kolp,\n .pl-mc,\n .pl-pde {\n color: #c578dd;\n }\n .pl-mi,\n .pl-pdi {\n color: #c578dd;\n font-style: italic;\n }\n .pl-mp,\n .pl-stp {\n color: #818896;\n }\n .pl-mdh,\n .pl-mdi,\n .pl-mdr {\n font-weight: 400;\n }\n .pl-mdht,\n .pl-mi1 {\n color: #97c279;\n background: #020;\n }\n .pl-md,\n .pl-mdhf {\n color: #df6b75;\n background: #200;\n }\n .pl-corl {\n color: #df6b75;\n text-decoration: underline;\n }\n .pl-ib {\n background: #df6b75;\n }\n .pl-ii {\n background: #e0c184;\n color: #fff;\n }\n .pl-iu {\n background: #e05151;\n }\n .pl-ms1 {\n color: #aab1bf;\n background: #373b41;\n }\n .pl-c1,\n .pl-cn,\n .pl-e,\n .pl-eoa,\n .pl-eoac,\n .pl-eoac .pl-pde,\n .pl-kou,\n .pl-mm,\n .pl-mp .pl-s3,\n .pl-mq,\n .pl-s3,\n .pl-sok,\n .pl-sv,\n .pl-mb {\n color: #d19965;\n }\n .pl-enc,\n .pl-entc,\n .pl-pse .pl-s2,\n .pl-s2,\n .pl-sc,\n .pl-smp,\n .pl-sr .pl-sre,\n .pl-stj,\n .pl-v,\n .pl-pdb {\n color: #e4bf7a;\n }\n .pl-ent,\n .pl-entl,\n .pl-entm,\n .pl-mh,\n .pl-pdv,\n .pl-smi,\n .pl-sol,\n .pl-mdh,\n .pl-mdi {\n color: #df6b75;\n }\n }\n}\n",
+ "iframe.instagram-media {\n [theme=dark] & {\n border: none !important;\n }\n}\n",
+ ".admonition {\n position: relative;\n margin: 1rem 0;\n padding: 0 .75rem;\n background-color: map-get($admonition-background-color-map, 'note');\n border-left: .25rem solid map-get($admonition-color-map, 'note');\n overflow: auto;\n\n .admonition-title {\n font-weight: bold;\n margin: 0 -0.75rem;\n padding: .25rem 1.8rem;\n border-bottom: 1px solid map-get($admonition-background-color-map, 'note');\n background-color: opacify(map-get($admonition-background-color-map, 'note'), 0.15);\n }\n\n &.open .admonition-title {\n background-color: map-get($admonition-background-color-map, 'note');\n }\n\n .admonition-content {\n padding: .5rem 0;\n }\n\n i.icon {\n font-size: 0.85rem;\n color: map-get($admonition-color-map, 'note');\n position: absolute;\n top: .6rem;\n left: .4rem;\n }\n\n i.details-icon {\n position: absolute;\n top: .6rem;\n right: .3rem;\n }\n\n @each $type, $color in $admonition-color-map {\n &.#{$type} {\n border-left-color: $color;\n\n i.icon {\n color: $color;\n }\n }\n }\n\n @each $type, $color in $admonition-background-color-map {\n &.#{$type} {\n background-color: $color;\n\n .admonition-title {\n border-bottom-color: $color;\n background-color: opacify($color, 0.15);\n }\n\n &.open .admonition-title {\n background-color: $color;\n }\n }\n }\n\n &:last-child {\n margin-bottom: .75rem;\n }\n}\n",
+ ".echarts {\n margin: .5rem 0;\n text-align: center;\n}\n",
+ ".mapbox {\n margin: .5rem 0;\n padding: .5rem 0;\n}\n",
+ "meting-js {\n margin: .5rem 0;\n}\n",
+ ".bilibili {\n position: relative;\n width: 100%;\n height: 0;\n padding-bottom: 75%;\n margin: 3% auto;\n text-align: center;\n\n iframe {\n position: absolute;\n width: 100%;\n height: 100%;\n left: 0;\n top: 0;\n }\n}\n",
+ ".post-footer {\n margin-top: 3rem;\n\n .post-info {\n border-bottom: 1px solid $global-border-color;\n padding: 1rem 0 0.3rem;\n\n [theme=dark] & {\n border-bottom: 1px solid $global-border-color-dark;\n }\n\n .post-info-line {\n display: flex;\n justify-content: space-between;\n\n .post-info-mod {\n font-size: 0.8em;\n color: $global-font-secondary-color;\n\n [theme=dark] & {\n color: $global-font-secondary-color-dark;\n }\n\n @include link(false, false);\n }\n\n .post-info-license {\n font-size: 0.8em;\n color: $global-font-secondary-color;\n\n [theme=dark] & {\n color: $global-font-secondary-color-dark;\n }\n\n @include link(false, false);\n }\n\n .post-info-md {\n font-size: 0.8rem;\n width: 8rem;\n\n @include link(false, false);\n }\n\n .post-info-share {\n a * {\n vertical-align: text-bottom;\n }\n }\n }\n }\n\n .post-info-more {\n padding: 0.3rem 0 1rem;\n display: flex;\n justify-content: space-between;\n font-size: 0.9rem;\n }\n\n .post-tags {\n max-width: 65%;\n\n * {\n display: inline;\n }\n }\n\n .post-nav {\n &::before,\n &::after {\n content: ' ';\n display: table;\n }\n\n & a.prev,\n & a.next {\n font-size: 1rem;\n font-weight: 600;\n @include transition(all 0.3s ease-out);\n }\n\n & a.prev {\n float: left;\n }\n\n & a.prev:hover {\n @include transform(translateX(-4px));\n }\n\n & a.next {\n float: right;\n }\n\n & a.next:hover {\n @include transform(translateX(4px));\n }\n }\n}\n",
+ "#comments {\n padding: 8rem 0 2rem;\n}\n",
+ ".special {\n .single-title, .single-subtitle {\n text-align: right;\n }\n}\n",
+ ".archive {\n .single-title {\n text-align: right;\n }\n\n .group-title {\n margin-top: 1.5rem;\n margin-bottom: 1rem;\n }\n\n @import \"../_partial/_archive/terms\";\n @import \"../_partial/_archive/tags\";\n}\n",
+ ".categories-card {\n margin: 0 auto;\n margin-top: 3rem;\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex-direction: row;\n flex-wrap: wrap;\n line-height: 1.6rem;\n\n .card-item {\n font-size: .875rem;\n text-align: left;\n width: 45%;\n display: flex;\n align-items: flex-start;\n margin-top: 2rem;\n min-height: 10rem;\n padding: 0 2%;\n position: relative;\n\n .card-item-wrapper {\n width: 100%;\n overflow: hidden;\n\n .card-item-title {\n font-size: 1.2rem;\n font-weight: bold;\n display: inline-block;\n margin-top: 1rem;\n margin-bottom: .75rem;\n }\n\n span {\n float: right;\n padding-right: 1rem;\n }\n }\n }\n}\n\n.archive-item {\n display: flex;\n justify-content: space-between;\n align-items: center;\n box-sizing: border-box;\n margin: .25rem 0 .25rem 1.5rem;\n}\n\n.archive-item-link {\n min-width: 10%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n\n &:hover {\n color: $global-link-hover-color;\n background-color: transparent;\n }\n\n [theme=dark] & {\n color: $global-link-color-dark;\n\n &:hover {\n color: $global-link-hover-color-dark;\n }\n }\n}\n\n.archive-item-date {\n width: 4em;\n text-align: right;\n color: $global-font-secondary-color;\n\n [theme=dark] & {\n color: $global-font-secondary-color-dark;\n }\n}\n\n.more-post {\n text-align: right;\n}\n",
+ ".tag-cloud-tags {\n margin: 10px 0;\n\n @include link(true, true);\n\n a {\n display: inline-block;\n position: relative;\n margin: 5px 10px;\n @include overflow-wrap(break-word);\n @include transition(all ease-out 0.3s);\n\n &:active,\n &:focus,\n &:hover {\n @include transform(scale(1.2));\n }\n\n sup {\n color: $global-font-secondary-color;\n\n [theme=dark] & {\n color: $global-font-secondary-color-dark;\n }\n }\n }\n}\n",
+ ".home {\n .home-profile {\n @include transform(translateY( 16vh));\n padding: 0 0 .5rem;\n text-align: center;\n\n .home-avatar {\n padding: .5rem;\n\n img {\n display: inline-block;\n width: 8rem;\n height: auto;\n margin: 0 auto;\n @include border-radius(100%);\n @include box-shadow(0 0 0 .3618em rgba(0, 0, 0, .05));\n @include transition(all 0.4s ease);\n\n &:hover {\n position: relative;\n @include transform(translateY(-.75rem));\n }\n }\n }\n\n .home-title {\n font-size: 1.25rem;\n font-weight: bold;\n margin: 0;\n padding: .5rem;\n }\n\n .home-subtitle {\n font-size: 1rem;\n font-weight: normal;\n margin: 0;\n padding: .5rem;\n }\n\n .links {\n padding: .5rem;\n font-size: 1.5rem;\n\n a * {\n vertical-align: text-bottom;\n }\n\n img {\n height: 1.5rem;\n padding: 0 .25rem;\n }\n }\n\n .home-disclaimer {\n font-size: 1rem;\n line-height: 1.5rem;\n font-weight: normal;\n margin: 0;\n padding: .5rem;\n color: $global-font-secondary-color;\n\n [theme=dark] & {\n color: $global-font-secondary-color-dark;\n }\n }\n }\n}\n\n.home[posts] {\n .home-profile {\n @include transform(translateY(0));\n padding-top: 2rem;\n }\n\n .home-avatar img {\n width: 6rem;\n }\n\n .summary {\n padding-top: 1rem;\n padding-bottom: .8rem;\n color: $global-font-color;\n border-bottom: 1px dashed $global-border-color;\n\n [theme=dark] & {\n color: $global-font-color-dark;\n border-bottom: 1px dashed $global-border-color-dark;\n }\n\n .featured-image-preview {\n width: 100%;\n padding: 30% 0 0;\n position: relative;\n margin: 0.6rem auto;\n @include transition(transform 0.4s ease);\n\n img {\n position: absolute;\n width: 100%;\n height: 100%;\n left: 0;\n top: 0;\n @include object-fit(none);\n }\n\n img.lazyloaded {\n @include object-fit(cover);\n }\n\n &:hover {\n @include transform(scale(1.01));\n }\n }\n\n .single-title {\n font-size: 1.25rem;\n line-height: 140%;\n margin: 0.4rem 0;\n }\n\n .content {\n @include box(vertical);\n -webkit-line-clamp: 3;\n margin-top: .3rem;\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n @include overflow-wrap(break-word);\n color: $global-font-secondary-color;\n\n [theme=dark] & {\n color: $global-font-secondary-color-dark;\n }\n\n h2,\n h3,\n h4,\n h5,\n h6,\n p {\n font-size: 1rem;\n line-height: 1.5;\n display: inline;\n\n &::after {\n content: \"\\A\";\n white-space: pre;\n }\n }\n\n h2 {\n font-size: 1.125rem;\n }\n\n @include link(false, true);\n\n b, strong {\n color: $global-font-secondary-color;\n\n [theme=dark] & {\n color: $global-font-secondary-color-dark;\n }\n }\n }\n\n .post-footer {\n margin-top: .4rem;\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-size: .875rem;\n\n @include link(false, false);\n\n .post-tags {\n padding: 0;\n\n @include link(true, true);\n }\n }\n }\n}\n",
+ "#content-404 {\n font-size: 1.8rem;\n line-height: 3rem;\n @include transform(translateY(30vh));\n text-align: center;\n}\n",
+ "header {\n width: 100%;\n z-index: 150;\n background-color: $header-background-color;\n @include transition(box-shadow 0.3s ease);\n\n [theme=dark] & {\n background-color: $header-background-color-dark;\n }\n\n .logo {\n min-height: 1.5em;\n height: 1.5em;\n vertical-align: text-bottom;\n }\n\n .logo, .header-title-pre {\n padding-right: .25rem;\n }\n\n .header-title-post {\n padding-left: .25rem;\n }\n\n &:hover {\n @include box-shadow(0 0 1.5rem 0 rgba(0, 0, 0, .1));\n }\n}\n\n.header-wrapper {\n display: flex;\n justify-content: space-between;\n align-items: center;\n box-sizing: border-box;\n width: 100%;\n}\n\n.header-title {\n font-family: $header-title-font-family;\n font-weight: bold;\n margin-right: .5rem;\n min-width: 10%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n @include flex(10);\n}\n\n.menu .menu-item {\n position: relative;\n}\n\n.language-select {\n position: absolute;\n opacity: 0;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n\n &:hover {\n cursor: pointer;\n }\n}\n\n.search {\n position: relative;\n\n input {\n color: transparent;\n box-sizing: border-box;\n height: 2.5rem;\n width: 2.5rem;\n @include border-radius(.5rem);\n border: none;\n outline: none;\n background-color: $header-background-color;\n vertical-align: baseline !important;\n @include transition(width 0.3s ease);\n\n [theme=dark] & {\n background-color: $header-background-color-dark;\n }\n }\n\n @include placeholder(transparent);\n\n .search-button {\n margin: 0;\n position: absolute;\n left: auto;\n right: 1rem;\n }\n\n .search-toggle {\n left: .5rem;\n right: auto;\n }\n\n .search-loading {\n display: none;\n }\n\n .search-clear {\n display: none;\n }\n\n .open &, &.mobile {\n input {\n color: $global-font-color;\n background-color: $search-background-color;\n padding: 0 2rem 0 2rem;\n }\n\n [theme=dark] & {\n input {\n color: $global-font-color-dark;\n background-color: $search-background-color-dark;\n }\n\n @include placeholder($global-font-secondary-color-dark);\n }\n\n @include placeholder($global-font-secondary-color);\n\n .search-button {\n color: $global-font-secondary-color;\n\n [theme=dark] & {\n color: $global-font-secondary-color-dark;\n }\n }\n\n .search-clear:hover {\n color: #ff6b6b;\n }\n\n .search-toggle:hover {\n cursor: default;\n }\n }\n}\n\n.theme-switch i {\n @include transform(rotate(225deg));\n}\n\n#header-desktop {\n display: block;\n position: fixed;\n height: $header-height;\n line-height: $header-height;\n\n [header-desktop=normal] & {\n position: static;\n }\n\n .header-wrapper {\n padding: 0 2rem 0 10vh;\n\n .header-title {\n font-size: $header-title-font-size;\n }\n\n .menu {\n overflow: hidden;\n white-space: nowrap;\n\n .menu-inner {\n float: right;\n }\n\n .menu-item {\n margin: 0 .5rem;\n\n &.delimiter {\n border-left: 1.5px solid $global-font-color;\n\n [theme=dark] & {\n border-left-color: $global-border-color-dark;\n }\n }\n\n &.language {\n margin-right: 0;\n }\n\n &.search {\n margin: 0 -.5rem 0 0;\n }\n }\n\n a.active {\n font-weight: 900;\n color: $header-hover-color;\n\n [theme=dark] & {\n color: $header-hover-color-dark;\n }\n }\n }\n }\n\n &.open .header-wrapper .menu .menu-item.search {\n margin: 0 .25rem 0 .5rem;\n\n input {\n width: 24rem;\n }\n }\n}\n\n#header-mobile {\n display: none;\n position: fixed;\n height: $header-height;\n line-height: $header-height;\n\n [header-mobile=normal] & {\n position: static;\n }\n\n .header-container {\n padding: 0;\n margin: 0;\n\n .header-wrapper {\n padding: 0 1rem;\n font-size: 1.125rem;\n @include transition(margin-top 0.3s ease);\n\n .header-title {\n font-size: $header-title-font-size;\n max-width: 80%;\n }\n\n .menu-toggle {\n line-height: 4rem;\n cursor: pointer;\n @include transition(width 0.3s ease);\n\n span {\n display: block;\n background: $global-font-color;\n width: 1.5rem;\n height: 2px;\n @include border-radius(3px);\n @include transition(all 0.3s ease-in-out);\n\n [theme=dark] & {\n background: $global-font-color-dark;\n }\n }\n\n span:nth-child(1) {\n margin-bottom: .5rem;\n }\n\n span:nth-child(3) {\n margin-top: .5rem;\n }\n\n &.active {\n span:nth-child(1) {\n @include transform(rotate(45deg) translate(.4rem, .5rem));\n }\n\n span:nth-child(2) {\n opacity: 0\n }\n\n span:nth-child(3) {\n @include transform(rotate(-45deg) translate(.4rem, -.5rem));\n }\n }\n }\n }\n\n .menu {\n text-align: center;\n background: $header-background-color;\n border-top: 2px solid $global-border-color;\n display: none;\n padding-top: .5rem;\n @include box-shadow(0 .125rem .25rem rgba(0, 0, 0, .1));\n\n .search-wrapper {\n display: flex;\n justify-content: space-between;\n align-items: center;\n box-sizing: border-box;\n padding: ($header-height - 2.5rem) / 2 1rem;\n line-height: 2.5rem;\n }\n\n .search {\n flex-grow: 10;\n\n .algolia-autocomplete, input {\n width: 100%;\n }\n }\n\n .search-button {\n top: 0;\n }\n\n .search-cancel {\n display: none;\n margin-left: .75rem;\n }\n\n .menu-item {\n display: block;\n line-height: 2.5rem;\n }\n\n &.active {\n display: block;\n }\n\n [theme=dark] & {\n background: $header-background-color-dark;\n border-top-color: $global-border-color-dark;\n }\n }\n }\n\n &.open {\n .header-wrapper {\n margin-top: -$header-height;\n }\n\n .menu {\n padding-top: 0;\n border-top: none;\n\n .menu-item {\n display: none;\n }\n\n .search-cancel {\n display: inline;\n }\n }\n }\n}\n\n.search-dropdown {\n position: fixed;\n z-index: 200;\n top: $header-height;\n @include box-shadow(0 .125rem .25rem rgba(0, 0, 0, .1));\n\n &.desktop {\n right: 2rem;\n width: 30rem;\n }\n\n &.mobile {\n right: 0;\n width: 100%;\n }\n\n .dropdown-menu {\n right: 0 !important;\n background-color: $global-background-color;\n\n [theme=dark] & {\n background-color: $global-background-color-dark;\n }\n\n .suggestions {\n overflow-y: auto;\n max-height: calc(100vh - #{$header-height});\n\n .suggestion {\n padding: .75rem 1rem;\n\n .suggestion-title {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 1rem;\n font-weight: bold;\n max-width: 75%;\n }\n\n .suggestion-date {\n font-size: .875rem;\n float: right;\n text-align: right;\n color: $global-font-secondary-color;\n\n [theme=dark] & {\n color: $global-font-secondary-color-dark;\n }\n }\n\n .suggestion-context {\n line-height: 1.25rem;\n @include box(vertical);\n -webkit-line-clamp: 2;\n overflow: hidden;\n text-overflow: ellipsis;\n @include overflow-wrap(break-word);\n color: $global-font-secondary-color;\n\n [theme=dark] & {\n color: $global-font-secondary-color-dark;\n }\n }\n\n em {\n font-style: normal;\n background-color: $selection-color;\n\n [theme=dark] & {\n background-color: $selection-color-dark;\n }\n }\n\n &.cursor {\n background: darken($code-background-color, 5%);\n\n [theme=dark] & {\n background: lighten($code-background-color-dark, 5%);\n }\n }\n\n &:hover {\n cursor: pointer;\n }\n }\n }\n\n .search-empty {\n padding: 1rem;\n text-align: center;\n\n .search-query {\n font-weight: bold;\n\n [theme=dark] & {\n color: #ddd;\n }\n }\n }\n\n .search-footer {\n padding: .5rem 1rem;\n float: right;\n font-size: .8rem;\n color: $global-font-secondary-color;\n\n [theme=dark] {\n color: $global-font-secondary-color-dark;\n }\n\n @include link(false, false);\n\n a {\n font-size: 1rem;\n }\n }\n }\n}\n",
+ "footer {\n height: 2rem;\n width: 100%;\n text-align: center;\n line-height: 1.25rem;\n padding: 1rem 0;\n\n .footer-container {\n font-size: .875rem;\n\n .footer-line {\n width: 100%;\n\n .icp-br {\n display: none;\n }\n }\n }\n\n @include blur;\n}\n",
+ ".pagination {\n display: flex;\n flex-direction: row;\n justify-content: center;\n list-style: none;\n white-space: nowrap;\n width: 100%;\n padding: 1rem 0 0;\n\n a {\n font-size: .8rem;\n color: #bfbfbf;\n letter-spacing: .1rem;\n font-weight: 700;\n padding: 5px 5px;\n text-decoration: none;\n @include transition(0.3s);\n }\n\n li {\n padding-bottom: 3px;\n margin: 0 20px;\n box-sizing: border-box;\n position: relative;\n display: inline;\n\n &.disabled {\n display: none;\n }\n\n &:hover a {\n color: $pagination-link-hover-color;\n }\n\n [theme=dark] &:hover a {\n color: $pagination-link-hover-color-dark;\n }\n\n &:before,\n &:after {\n position: absolute;\n content: \"\";\n width: 0;\n height: 3px;\n background: $pagination-link-hover-color;\n @include transition(0.3s);\n bottom: 0px;\n }\n\n [theme=dark] &:before,\n [theme=dark] &:after {\n background: $pagination-link-hover-color-dark;\n }\n\n &:before .active,\n &:after .active {\n width: 100%;\n }\n\n &:before {\n left: 50%;\n }\n\n &:after {\n right: 50%;\n }\n\n &:hover {\n\n &:before,\n &:after {\n width: 50%;\n }\n }\n\n &.active {\n a {\n color: $pagination-link-hover-color;\n }\n\n [theme=dark] & a {\n color: $pagination-link-hover-color-dark;\n }\n\n &:before,\n &:after {\n width: 60%;\n }\n }\n }\n}\n",
+ "@media only screen and (max-width: 1440px) {\n .page {\n width: 56%;\n }\n}\n\n@media only screen and (max-width: 1200px) {\n .page {\n width: 52%;\n }\n\n #header-desktop .header-wrapper {\n padding-right: 1rem;\n }\n\n .search-dropdown.desktop {\n right: 1rem;\n }\n}\n\n@media only screen and (max-width: 960px) {\n #toc-auto {\n display: none;\n }\n\n #toc-static {\n display: block;\n }\n\n .page {\n width: 80%;\n }\n\n #header-desktop .header-wrapper {\n padding-left: 1rem;\n }\n}\n\n@media only screen and (max-width: 680px) {\n #header-desktop {\n display: none;\n }\n\n #header-mobile {\n display: block;\n }\n\n body.blur {\n overflow: hidden;\n }\n\n .page {\n width: 100%;\n\n [header-mobile] & {\n padding-top: $header-height;\n }\n\n [header-mobile=normal] & {\n padding-top: 0;\n }\n\n .categories-card {\n .card-item {\n width: 100%;\n }\n }\n }\n\n .copyright {\n .copyright-line {\n .icp-splitter {\n display: none;\n }\n .icp-br {\n display: block;\n }\n }\n }\n}\n",
+ "// ==============================\n// Custom style\n// 自定义样式\n// ==============================\n"
+ ],
+ "names": [],
+ "mappings": "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"
+}
\ No newline at end of file
diff --git a/public/en/index.html b/public/en/index.html
new file mode 100644
index 00000000..f65ebc7f
--- /dev/null
+++ b/public/en/index.html
@@ -0,0 +1 @@
+https://www.pwzxxm.com/
\ No newline at end of file
diff --git a/public/en/sitemap.xml b/public/en/sitemap.xml
new file mode 100644
index 00000000..fe664d96
--- /dev/null
+++ b/public/en/sitemap.xml
@@ -0,0 +1,67 @@
+
+ https://www.pwzxxm.com/binary-tree/
+ https://www.pwzxxm.com/categories/
+ https://www.pwzxxm.com/categories/computerscience/
+ https://www.pwzxxm.com/tags/data-structure/
+ https://www.pwzxxm.com/posts/
+ https://www.pwzxxm.com/
+ https://www.pwzxxm.com/tags/
diff --git a/hugo/static/favicon-16x16.png b/public/favicon-16x16.png
similarity index 100%
rename from hugo/static/favicon-16x16.png
rename to public/favicon-16x16.png
diff --git a/hugo/static/favicon-32x32.png b/public/favicon-32x32.png
similarity index 100%
rename from hugo/static/favicon-32x32.png
rename to public/favicon-32x32.png
diff --git a/hugo/static/favicon.ico b/public/favicon.ico
similarity index 100%
rename from hugo/static/favicon.ico
rename to public/favicon.ico
diff --git a/hugo/static/header.jpg b/public/header.jpg
similarity index 100%
rename from hugo/static/header.jpg
rename to public/header.jpg
diff --git a/public/images/avatar.png b/public/images/avatar.png
new file mode 100644
index 00000000..48840637
Binary files /dev/null and b/public/images/avatar.png differ
diff --git a/public/index.html b/public/index.html
new file mode 100644
index 00000000..704044ee
--- /dev/null
+++ b/public/index.html
@@ -0,0 +1,128 @@
+
+
+
+
+
+
+
+
+ PwzXxm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Binary tree is called so because of its shape. It’s like a tree, it have leaves and a root. In computer science, the “tree” is usually upside down, the root at the top and leaves grow below it. It is binary so it every node only can have 0, 1 or 2 leaves.
+**Contents** Terminologies Leaf Node Inner Node Height and Depth Types Full Binary Tree Complete Binary Tree Implementation Array Struct or Class Tree Traversal Depth First Search (DFS) Breadth First Search (BFS) Terminologies Leaf Node The node do NOT have any child nodes.
+
+
+
+
+
diff --git a/public/index.json b/public/index.json
new file mode 100644
index 00000000..f485f06e
--- /dev/null
+++ b/public/index.json
@@ -0,0 +1 @@
+[{"categories":["ComputerScience"],"content":"Binary tree is called so because of its shape. It’s like a tree, it have leaves and a root. In computer science, the “tree” is usually upside down, the root at the top and leaves grow below it. It is binary so it every node only can have 0, 1 or 2 leaves. **Contents** Terminologies Leaf Node Inner Node Height and Depth Types Full Binary Tree Complete Binary Tree Implementation Array Struct or Class Tree Traversal Depth First Search (DFS) Breadth First Search (BFS) ","date":"Jan 1 0001","objectID":"/binary-tree/:0:0","tags":["Data-Structure"],"title":"Binary Tree","uri":"/binary-tree/"},{"categories":["ComputerScience"],"content":"Terminologies ","date":"Jan 1 0001","objectID":"/binary-tree/:1:0","tags":["Data-Structure"],"title":"Binary Tree","uri":"/binary-tree/"},{"categories":["ComputerScience"],"content":"Leaf Node The node do NOT have any child nodes. ","date":"Jan 1 0001","objectID":"/binary-tree/:1:1","tags":["Data-Structure"],"title":"Binary Tree","uri":"/binary-tree/"},{"categories":["ComputerScience"],"content":"Inner Node The Node between the leaf node and the root. ","date":"Jan 1 0001","objectID":"/binary-tree/:1:2","tags":["Data-Structure"],"title":"Binary Tree","uri":"/binary-tree/"},{"categories":["ComputerScience"],"content":"Height and Depth Height and Depth of the tree are basically the same thing which indicates how many levels the tree have, usually starts at 0. However, the height and depth of the node is different. The height and depth of a node is the distance on longest path to the leaf node and root respectively. ","date":"Jan 1 0001","objectID":"/binary-tree/:1:3","tags":["Data-Structure"],"title":"Binary Tree","uri":"/binary-tree/"},{"categories":["ComputerScience"],"content":"Types ","date":"Jan 1 0001","objectID":"/binary-tree/:2:0","tags":["Data-Structure"],"title":"Binary Tree","uri":"/binary-tree/"},{"categories":["ComputerScience"],"content":"Full Binary Tree Every node in the tree has either 0 or 2 children. ","date":"Jan 1 0001","objectID":"/binary-tree/:2:1","tags":["Data-Structure"],"title":"Binary Tree","uri":"/binary-tree/"},{"categories":["ComputerScience"],"content":"Complete Binary Tree Every level except possibly the last level, has maximum number of nodes. All nodes in the last level are all at the left of the tree continuously. Total number of nodes \\(k\\) Height of tree \\(h\\) \\(2^h \\le k \\lt 2^{h+1} - 1\\) \\(h = \\lfloor\\log_2k\\rfloor\\) ","date":"Jan 1 0001","objectID":"/binary-tree/:2:2","tags":["Data-Structure"],"title":"Binary Tree","uri":"/binary-tree/"},{"categories":["ComputerScience"],"content":"Implementation ","date":"Jan 1 0001","objectID":"/binary-tree/:3:0","tags":["Data-Structure"],"title":"Binary Tree","uri":"/binary-tree/"},{"categories":["ComputerScience"],"content":"Array Array can be used to store a tree, usually in breadth-first order. It is quite good at store a complete binary tree as it will not waste spaces. The root is store at the index \\(i = 0\\), and its children are stored in \\(i = 1\\) and \\(i = 2\\). It has property that A node at \\(i\\), its children at \\(2i + 1\\) (left) and \\(2i + 2\\) (right). However, it wastes a lot of spaces when storing other trees other than complete binary trees. ","date":"Jan 1 0001","objectID":"/binary-tree/:3:1","tags":["Data-Structure"],"title":"Binary Tree","uri":"/binary-tree/"},{"categories":["ComputerScience"],"content":"Struct or Class Creating nodes and connect them to their parents. struct node { int data; struct node* left; struct node* right; } ","date":"Jan 1 0001","objectID":"/binary-tree/:3:2","tags":["Data-Structure"],"title":"Binary Tree","uri":"/binary-tree/"},{"categories":["ComputerScience"],"content":"Tree Traversal ### Depth First Search (DFS) Search the tree in the priority of depth. Using recursive calls for tree traversal is usually a good idea. Pre-order Root-Left-Right Starts from the root If left subtree has element in it, go to left. If not, go right. In-order Left-Root-Right Post-order Left-Right-Root Determine a unique tree There are only two ways to determine a unique tree given two types of traverse order. Pre-order and In-order The first element of a pre-order must be the root of the tree. Then find the same element in the In-order, we can divide the tree into two subtrees, left and right. Using the length of the left and right subtrees to find the sequences in pre-order respectively, then we can find the root element for left and right subtrees. Recursive repeat this process. In-order and Post-order Similar as above, except the root element is the last element in post-order traversal. Tips Rather than remembering the sequence, there is another way to remembering the order. Draw a continuous line, starts and ends at the root of the tree, starts from left, around the tree Try following: Pre-order: draw a dot at the left of each node In-order: draw a dot at the bottom of each node Post-order: draw a dot at the right of each node Follow the line we drew, the sequence of touching dots is the sequence of traversal. Pre-order In-order Post-order ### Breadth First Search (BFS) Traverse from the root to bottom, go thought each level first. ","date":"Jan 1 0001","objectID":"/binary-tree/:4:0","tags":["Data-Structure"],"title":"Binary Tree","uri":"/binary-tree/"}]
\ No newline at end of file
diff --git a/public/index.xml b/public/index.xml
new file mode 100644
index 00000000..e1c11f55
--- /dev/null
+++ b/public/index.xml
@@ -0,0 +1,18 @@
+
+
+ PwzXxm
+ https://www.pwzxxm.com/
+ Learning and sharing ideas. Enjoy what you are passionated about.
+ Hugo -- gohugo.io en patrick.weizhixu@hotmail.com (PwzXxm)
+ patrick.weizhixu@hotmail.com (PwzXxm) This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.
+
+ -
+
Binary Tree
+ https://www.pwzxxm.com/binary-tree/
+ Mon, 01 Jan 0001 00:00:00 +0000
+ Author
+ https://www.pwzxxm.com/binary-tree/
+
+
+
diff --git a/public/js/theme.min.f0e4096f68a24e87589ba7942f64874a24befc1ce05399522b0178ac9d3fb20b351b96e095dd6b5bfbe89cb6834a4b3a.js b/public/js/theme.min.f0e4096f68a24e87589ba7942f64874a24befc1ce05399522b0178ac9d3fb20b351b96e095dd6b5bfbe89cb6834a4b3a.js
new file mode 100644
index 00000000..800c9253
--- /dev/null
+++ b/public/js/theme.min.f0e4096f68a24e87589ba7942f64874a24befc1ce05399522b0178ac9d3fb20b351b96e095dd6b5bfbe89cb6834a4b3a.js
@@ -0,0 +1,3 @@
+"use strict";function _objectDestructuringEmpty(a){if(null==a)throw new TypeError("Cannot destructure undefined")}function _createForOfIteratorHelper(a){if("undefined"==typeof Symbol||null==a[Symbol.iterator]){if(Array.isArray(a)||(a=_unsupportedIterableToArray(a))){var b=0,c=function(){};return{s:c,n:function n(){return b>=a.length?{done:!0}:{done:!1,value:a[b++]}},e:function e(a){throw a},f:c}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var d,e,f=!0,g=!1;return{s:function s(){d=a[Symbol.iterator]()},n:function n(){var a=d.next();return f=a.done,a},e:function e(a){g=!0,e=a},f:function f(){try{f||null==d.return||d.return()}finally{if(g)throw e}}}}function _toConsumableArray(a){return _arrayWithoutHoles(a)||_iterableToArray(a)||_unsupportedIterableToArray(a)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(c):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _iterableToArray(a){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(a))return Array.from(a)}function _arrayWithoutHoles(a){if(Array.isArray(a))return _arrayLikeToArray(a)}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c$1").concat(f,">")),k=k.replace(new RegExp("(".concat(a,")"),"gi"),"<".concat(f,">$1").concat(f,">"))}),b[i]={uri:i,title:j,date:h.date,context:k}}}),Object.values(b).slice(0,d)};a._index?h(i()):fetch(b.lunrIndexURL).then(function(a){return a.json()}).then(function(c){var d={};a._index=lunr(function(){var a=this;b.lunrLanguageCode&&this.use(lunr[b.lunrLanguageCode]),this.ref("objectID"),this.field("title",{boost:50}),this.field("tags",{boost:20}),this.field("categories",{boost:20}),this.field("content",{boost:10}),this.metadataWhitelist=["position"],c.forEach(function(b){d[b.objectID]=b,a.add(b)})}),a._indexData=d,h(i())}).catch(function(a){console.error(a),h([])})}else"algolia"===b.type&&(a._algoliaIndex=a._algoliaIndex||algoliasearch(b.algoliaAppID,b.algoliaSearchKey).initIndex(b.algoliaIndex),a._algoliaIndex.search(c,{offset:0,length:8*d,attributesToHighlight:["title"],attributesToSnippet:["content:".concat(e)],highlightPreTag:"<".concat(f,">"),highlightPostTag:"".concat(f,">")}).then(function(a){var b=a.hits,c={};b.forEach(function(a){var b=a.uri,d=a.date,e=a._highlightResult.title,f=a._snippetResult.content;c[b]&&c[b].context.length>f.value||(c[b]={uri:b,title:e.value,date:d,context:f.value})}),h(Object.values(c).slice(0,d))}).catch(function(a){console.error(a),h([])}))},templates:{suggestion:function suggestion(a){var b=a.title,c=a.date,d=a.context;return" ".concat(b," ").concat(c,"
").concat(d,"
")},empty:function empty(a){var c=a.query;return"".concat(b.noResultsFound,": \"").concat(c,"\"
")},footer:function footer(a){_objectDestructuringEmpty(a);var c="algolia"===b.type?{searchType:"algolia",icon:" ",href:"https://www.algolia.com/"}:{searchType:"Lunr.js",icon:"",href:"https://lunrjs.com/"},d=c.searchType,e=c.icon,f=c.href;return"")}}});h.on("autocomplete:selected",function(a,b){window.location.assign(b.uri)}),c?a._searchMobile=h:a._searchDesktop=h};if(b.lunrSegmentitURL&&!document.getElementById("lunr-segmentit")){var n=document.createElement("script");n.id="lunr-segmentit",n.type="text/javascript",n.src=b.lunrSegmentitURL,n.async=!0,n.readyState?n.onreadystatechange=function(){("loaded"==n.readyState||"complete"==n.readyState)&&(n.onreadystatechange=null,m())}:n.onload=function(){m()},document.body.appendChild(n)}else m()}}},{key:"initDetails",value:function initDetails(){this.util.forEach(document.getElementsByClassName("details"),function(a){var b=a.getElementsByClassName("details-summary")[0];b.addEventListener("click",function(){a.classList.toggle("open")},!1)})}},{key:"initLightGallery",value:function initLightGallery(){this.config.lightGallery&&lightGallery(document.getElementById("content"),this.config.lightGallery)}},{key:"initHighlight",value:function initHighlight(){var a=this;this.util.forEach(document.querySelectorAll(".highlight > pre.chroma"),function(a){var b=document.createElement("div");b.className=a.className;var c=document.createElement("table");b.appendChild(c);var d=document.createElement("tbody");c.appendChild(d);var e=document.createElement("tr");d.appendChild(e);var f=document.createElement("td");e.appendChild(f),a.parentElement.replaceChild(b,a),f.appendChild(a)}),this.util.forEach(document.querySelectorAll(".highlight > .chroma"),function(b){var c=b.querySelectorAll("pre.chroma > code");if(c.length){var d=c[c.length-1],e=document.createElement("div");e.className="code-header "+d.className.toLowerCase();var f=document.createElement("span");f.classList.add("code-title"),f.insertAdjacentHTML("afterbegin"," "),f.addEventListener("click",function(){b.classList.toggle("open")},!1),e.appendChild(f);var g=document.createElement("span");g.insertAdjacentHTML("afterbegin"," "),g.classList.add("ellipses"),g.addEventListener("click",function(){b.classList.add("open")},!1),e.appendChild(g);var h=document.createElement("span");h.insertAdjacentHTML("afterbegin"," "),h.classList.add("copy");var i=d.innerText;if((0>a.config.code.maxShownLines||i.split("\n").length=a;a++)this.util.forEach(document.querySelectorAll(".single .content > h"+a),function(a){a.classList.add("headerLink"),a.insertAdjacentHTML("afterbegin",""))})}},{key:"initToc",value:function initToc(){var a=this,b=document.getElementById("TableOfContents");if(null!==b)if(document.getElementById("toc-static").getAttribute("kept")||this.util.isTocStatic()){var o=document.getElementById("toc-content-static");b.parentElement!==o&&(b.parentElement.removeChild(b),o.appendChild(b)),this._tocOnScroll&&this.scrollEventSet.delete(this._tocOnScroll)}else{var p=document.getElementById("toc-content-auto");b.parentElement!==p&&(b.parentElement.removeChild(b),p.appendChild(b));var c=document.getElementById("toc-auto"),d=document.getElementsByClassName("page")[0],e=d.getBoundingClientRect();c.style.left="".concat(e.left+e.width+20,"px"),c.style.maxWidth="".concat(d.getBoundingClientRect().left-20,"px"),c.style.visibility="visible";var f=b.querySelectorAll("a:first-child"),g=b.getElementsByTagName("li"),h=document.getElementsByClassName("headerLink"),j="normal"!==document.body.getAttribute("header-desktop"),k=document.getElementById("header-desktop").offsetHeight,l=20+(j?k:0),m=c.offsetTop,n=m-l+(j?0:k);this._tocOnScroll=this._tocOnScroll||function(){var d=document.getElementById("post-footer").offsetTop,e=d-c.getBoundingClientRect().height,o=e-l+(j?0:k);a.newScrollTopo?(c.style.position="absolute",c.style.top="".concat(e,"px")):(c.style.position="fixed",c.style.top="".concat(l,"px")),a.util.forEach(f,function(a){a.classList.remove("active")}),a.util.forEach(g,function(a){a.classList.remove("has-active")});for(var p=20+(j?k:0),q=h.length-1,r=0;rp||s<=p&&t>p){q=r;break}}if(-1!==q){f[q].classList.add("active");for(var u=f[q].parentElement;u!==b;)u.classList.add("has-active"),u=u.parentElement.parentElement}},this._tocOnScroll(),this.scrollEventSet.add(this._tocOnScroll)}}},{key:"initMath",value:function initMath(){this.config.math&&renderMathInElement(document.body,this.config.math)}},{key:"initMermaid",value:function initMermaid(){var a=this,b=document.getElementsByClassName("mermaid");b.length&&(mermaid.initialize({startOnLoad:!1,theme:"null"}),this.util.forEach(b,function(b){mermaid.mermaidAPI.render("svg-"+b.id,a.data[b.id],function(a){b.insertAdjacentHTML("afterbegin",a)},b)}))}},{key:"initEcharts",value:function initEcharts(){var a=this;this._echartsOnSwitchTheme=this._echartsOnSwitchTheme||function(){a._echartsArr=a._echartsArr||[];for(var b=0;bd?(b.classList.remove("fadeInDown"),a.util.animateCSS(b,["fadeOutUp","faster"],!0)):e<-d&&(b.classList.remove("fadeOutUp"),a.util.animateCSS(b,["fadeInDown","faster"],!0))}),a.newScrollTop>100?f&&e>d?(c.classList.remove("fadeIn"),a.util.animateCSS(c,["fadeOut","faster"],!0)):(!f||e<-d)&&(c.style.display="block",c.classList.remove("fadeOut"),a.util.animateCSS(c,["fadeIn","faster"],!0)):(!f&&(c.classList.remove("fadeIn"),a.util.animateCSS(c,["fadeOut","faster"],!0)),c.style.display="none");var g,h=_createForOfIteratorHelper(a.scrollEventSet);try{for(h.s();!(g=h.n()).done;){var i=g.value;i()}}catch(a){h.e(a)}finally{h.f()}a.oldScrollTop=a.newScrollTop},!1)}},{key:"onResize",value:function onResize(){var a=this;window.addEventListener("resize",function(){a._resizeTimeout||(a._resizeTimeout=window.setTimeout(function(){a._resizeTimeout=null;var b,c=_createForOfIteratorHelper(a.resizeEventSet);try{for(c.s();!(b=c.n()).done;){var d=b.value;d()}}catch(a){c.e(a)}finally{c.f()}a.initToc(),a.initMermaid(),a.initSearch()},100))},!1)}},{key:"onClickMask",value:function onClickMask(){var a=this;document.getElementById("mask").addEventListener("click",function(){var b,c=_createForOfIteratorHelper(a.clickMaskEventSet);try{for(c.s();!(b=c.n()).done;){var d=b.value;d()}}catch(a){c.e(a)}finally{c.f()}document.body.classList.remove("blur")},!1)}},{key:"init",value:function init(){var a=this;try{this.initSVGIcon(),this.initTwemoji(),this.initMenuMobile(),this.initSwitchTheme(),this.initSearch(),this.initDetails(),this.initLightGallery(),this.initHighlight(),this.initTable(),this.initHeaderLink(),this.initSmoothScroll(),this.initMath(),this.initMermaid(),this.initEcharts(),this.initTypeit(),this.initMapbox(),this.initCookieconsent()}catch(a){console.error(a)}window.setTimeout(function(){a.initToc(),a.initComment(),a.onScroll(),a.onResize(),a.onClickMask()},100)}}]),a}(),themeInit=function(){var a=new Theme;a.init()};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",themeInit,!1):themeInit();
+
+//# sourceMappingURL=theme.min.js.map
\ No newline at end of file
diff --git a/public/js/theme.min.js.map b/public/js/theme.min.js.map
new file mode 100644
index 00000000..98d65629
--- /dev/null
+++ b/public/js/theme.min.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../../src/js/theme.js"],"names":[],"mappings":"ilEAAM,CAAA,I,2HACM,C,CAAU,C,CAAS,CACvB,CAAQ,CAAG,CAAQ,EAAI,EADA,CAEvB,IAAK,GAAI,CAAA,CAAC,CAAG,CAAb,CAAgB,CAAC,CAAG,CAAQ,CAAC,MAA7B,CAAqC,CAAC,EAAtC,CAA0C,CAAO,CAAC,CAAQ,CAAC,CAAD,CAAT,CACpD,C,mDAEc,CACX,MAAQ,CAAA,QAAQ,CAAC,eAAT,EAA4B,QAAQ,CAAC,eAAT,CAAyB,SAAtD,EAAoE,QAAQ,CAAC,IAAT,CAAc,SAC5F,C,2CAEU,CACP,MAAO,CAAA,MAAM,CAAC,UAAP,CAAkB,oCAAlB,EAAwD,OAClE,C,iDAEa,CACV,MAAO,CAAA,MAAM,CAAC,UAAP,CAAkB,oCAAlB,EAAwD,OAClE,C,8CAEU,C,CAAS,C,CAAW,C,CAAU,C,CAAU,OAC1C,KAAK,CAAC,OAAN,CAAc,CAAd,CAD0C,GAChB,CAAS,CAAG,CAAC,CAAD,CADI,EAE/C,GAAA,CAAO,CAAC,SAAR,EAAkB,GAAlB,UAAsB,UAAtB,4BAAqC,CAArC,GAF+C,CAG/C,GAAM,CAAA,CAAO,CAAG,UAAM,OAClB,GAAA,CAAO,CAAC,SAAR,EAAkB,MAAlB,UAAyB,UAAzB,4BAAwC,CAAxC,GADkB,CAElB,CAAO,CAAC,mBAAR,CAA4B,cAA5B,CAA4C,CAA5C,CAFkB,CAGM,UAApB,QAAO,CAAA,CAHO,EAGkB,CAAQ,EAC/C,CAJD,CAKK,CAR0C,EAQhC,CAAO,CAAC,gBAAR,CAAyB,cAAzB,CAAyC,CAAzC,IAClB,C,SAGC,K,yBACF,YAAc,yBACV,KAAK,MAAL,CAAc,MAAM,CAAC,MADX,CAEV,KAAK,IAAL,CAAY,KAAK,MAAL,CAAY,IAFd,CAGV,KAAK,MAAL,CAAsD,MAAxC,GAAA,QAAQ,CAAC,IAAT,CAAc,YAAd,CAA2B,OAA3B,CAHJ,CAIV,KAAK,IAAL,CAAY,GAAI,CAAA,IAJN,CAKV,KAAK,YAAL,CAAoB,KAAK,IAAL,CAAU,YAAV,EALV,CAMV,KAAK,YAAL,CAAoB,KAAK,YANf,CAOV,KAAK,cAAL,CAAsB,GAAI,CAAA,GAPhB,CAQV,KAAK,cAAL,CAAsB,GAAI,CAAA,GARhB,CASV,KAAK,mBAAL,CAA2B,GAAI,CAAA,GATrB,CAUV,KAAK,iBAAL,CAAyB,GAAI,CAAA,GAVnB,CAWN,MAAM,CAAC,eAXD,EAWkB,eAAe,EAC9C,C,sEAEa,CACV,KAAK,IAAL,CAAU,OAAV,CAAkB,QAAQ,CAAC,gBAAT,CAA0B,gBAA1B,CAAlB,CAA+D,SAAA,CAAK,CAAI,CACpE,KAAK,CAAC,CAAK,CAAC,YAAN,CAAmB,cAAnB,CAAD,CAAL,CACK,IADL,CACU,SAAA,CAAQ,QAAI,CAAA,CAAQ,CAAC,IAAT,EAAJ,CADlB,EAEK,IAFL,CAEU,SAAA,CAAG,CAAI,CACT,GAAM,CAAA,CAAK,CAAG,QAAQ,CAAC,aAAT,CAAuB,KAAvB,CAAd,CACA,CAAK,CAAC,kBAAN,CAAyB,YAAzB,CAAuC,CAAvC,CAFS,CAGT,GAAM,CAAA,CAAI,CAAG,CAAK,CAAC,UAAnB,CACA,CAAI,CAAC,YAAL,CAAkB,cAAlB,CAAkC,CAAK,CAAC,YAAN,CAAmB,cAAnB,CAAlC,CAJS,CAKT,CAAI,CAAC,SAAL,CAAe,GAAf,CAAmB,MAAnB,CALS,CAMT,GAAM,CAAA,CAAc,CAAG,CAAI,CAAC,oBAAL,CAA0B,OAA1B,CAAvB,CACI,CAAc,CAAC,MAPV,EAOkB,CAAI,CAAC,WAAL,CAAiB,CAAc,CAAC,CAAD,CAA/B,CAPlB,CAQT,CAAK,CAAC,aAAN,CAAoB,YAApB,CAAiC,CAAjC,CAAuC,CAAvC,CACH,CAXL,EAYK,KAZL,CAYW,SAAA,CAAG,CAAI,CAAE,OAAO,CAAC,KAAR,CAAc,CAAd,CAAqB,CAZzC,CAaH,CAdD,CAeH,C,iDAEa,CACN,KAAK,MAAL,CAAY,OADN,EACe,OAAO,CAAC,KAAR,CAAc,QAAQ,CAAC,IAAvB,CAC5B,C,uDAEgB,IACP,CAAA,CAAiB,CAAG,QAAQ,CAAC,cAAT,CAAwB,oBAAxB,CADb,CAEP,CAAW,CAAG,QAAQ,CAAC,cAAT,CAAwB,aAAxB,CAFP,CAGb,CAAiB,CAAC,gBAAlB,CAAmC,OAAnC,CAA4C,UAAM,CAC9C,QAAQ,CAAC,IAAT,CAAc,SAAd,CAAwB,MAAxB,CAA+B,MAA/B,CAD8C,CAE9C,CAAiB,CAAC,SAAlB,CAA4B,MAA5B,CAAmC,QAAnC,CAF8C,CAG9C,CAAW,CAAC,SAAZ,CAAsB,MAAtB,CAA6B,QAA7B,CACH,CAJD,IAHa,CAQb,KAAK,sBAAL,CAA8B,KAAK,sBAAL,EAAgC,UAAM,CAChE,CAAiB,CAAC,SAAlB,CAA4B,MAA5B,CAAmC,QAAnC,CADgE,CAEhE,CAAW,CAAC,SAAZ,CAAsB,MAAtB,CAA6B,QAA7B,CACH,CAXY,CAYb,KAAK,iBAAL,CAAuB,GAAvB,CAA2B,KAAK,sBAAhC,CACH,C,yDAEiB,YACd,KAAK,IAAL,CAAU,OAAV,CAAkB,QAAQ,CAAC,sBAAT,CAAgC,cAAhC,CAAlB,CAAmE,SAAA,CAAY,CAAI,CAC/E,CAAY,CAAC,gBAAb,CAA8B,OAA9B,CAAuC,UAAM,CACG,MAAxC,GAAA,QAAQ,CAAC,IAAT,CAAc,YAAd,CAA2B,OAA3B,CADqC,CACW,QAAQ,CAAC,IAAT,CAAc,YAAd,CAA2B,OAA3B,CAAoC,OAApC,CADX,CAEpC,QAAQ,CAAC,IAAT,CAAc,YAAd,CAA2B,OAA3B,CAAoC,MAApC,CAFoC,CAGzC,CAAI,CAAC,MAAL,CAAc,CAAC,CAAI,CAAC,MAHqB,CAIzC,MAAM,CAAC,YAAP,EAAuB,YAAY,CAAC,OAAb,CAAqB,OAArB,CAA8B,CAAI,CAAC,MAAL,CAAc,MAAd,CAAuB,OAArD,CAJkB,oCAKvB,CAAI,CAAC,mBALkB,MAKzC,+BAAS,CAAA,CAAT,SAA4C,CAAK,EAAjD,CALyC,+BAM5C,CAND,IAOH,CARD,CASH,C,+CAEY,YACH,CAAY,CAAG,KAAK,MAAL,CAAY,MADxB,CAEH,CAAQ,CAAG,KAAK,IAAL,CAAU,QAAV,EAFR,CAGT,KAAI,CAAC,CAAD,EAAiB,CAAQ,EAAI,KAAK,iBAAlC,EAAuD,CAAC,CAAD,EAAa,KAAK,kBAA7E,MAEM,CAAA,CAAe,CAAG,CAAY,CAAC,eAAb,CAA+B,CAAY,CAAC,eAA5C,CAA8D,EAFtF,CAGM,CAAa,CAAG,CAAY,CAAC,aAAb,CAA6B,CAAY,CAAC,aAA1C,CAA0D,EAHhF,CAIM,CAAY,CAAG,CAAY,CAAC,YAAb,CAA4B,CAAY,CAAC,YAAzC,CAAwD,IAJ7E,CAMM,CAAM,CAAG,CAAQ,CAAG,QAAH,CAAc,SANrC,CAOM,CAAO,CAAG,QAAQ,CAAC,cAAT,kBAAkC,CAAlC,EAPhB,CAQM,CAAY,CAAG,QAAQ,CAAC,cAAT,wBAAwC,CAAxC,EARrB,CASM,CAAa,CAAG,QAAQ,CAAC,cAAT,yBAAyC,CAAzC,EATtB,CAUM,CAAc,CAAG,QAAQ,CAAC,cAAT,0BAA0C,CAA1C,EAVvB,CAWM,CAAY,CAAG,QAAQ,CAAC,cAAT,wBAAwC,CAAxC,EAXrB,CAYI,CAZJ,EAaI,KAAK,iBAAL,GAbJ,CAcI,CAAY,CAAC,gBAAb,CAA8B,OAA9B,CAAuC,UAAM,CACzC,QAAQ,CAAC,IAAT,CAAc,SAAd,CAAwB,GAAxB,CAA4B,MAA5B,CADyC,CAEzC,CAAO,CAAC,SAAR,CAAkB,GAAlB,CAAsB,MAAtB,CACH,CAHD,IAdJ,CAkBI,QAAQ,CAAC,cAAT,CAAwB,sBAAxB,EAAgD,gBAAhD,CAAiE,OAAjE,CAA0E,UAAM,CAC5E,CAAO,CAAC,SAAR,CAAkB,MAAlB,CAAyB,MAAzB,CAD4E,CAE5E,QAAQ,CAAC,IAAT,CAAc,SAAd,CAAwB,MAAxB,CAA+B,MAA/B,CAF4E,CAG5E,QAAQ,CAAC,cAAT,CAAwB,oBAAxB,EAA8C,SAA9C,CAAwD,MAAxD,CAA+D,QAA/D,CAH4E,CAI5E,QAAQ,CAAC,cAAT,CAAwB,aAAxB,EAAuC,SAAvC,CAAiD,MAAjD,CAAwD,QAAxD,CAJ4E,CAK5E,CAAc,CAAC,KAAf,CAAqB,OAArB,CAA+B,MAL6C,CAM5E,CAAY,CAAC,KAAb,CAAmB,OAAnB,CAA6B,MAN+C,CAO5E,CAAI,CAAC,aAAL,EAAsB,CAAI,CAAC,aAAL,CAAmB,YAAnB,CAAgC,MAAhC,CAAuC,EAAvC,CACzB,CARD,IAlBJ,CA2BI,CAAY,CAAC,gBAAb,CAA8B,OAA9B,CAAuC,UAAM,CACzC,CAAY,CAAC,KAAb,CAAmB,OAAnB,CAA6B,MADY,CAEzC,CAAI,CAAC,aAAL,EAAsB,CAAI,CAAC,aAAL,CAAmB,YAAnB,CAAgC,MAAhC,CAAuC,EAAvC,CACzB,CAHD,IA3BJ,CA+BI,KAAK,wBAAL,CAAgC,KAAK,wBAAL,EAAkC,UAAM,CACpE,CAAO,CAAC,SAAR,CAAkB,MAAlB,CAAyB,MAAzB,CADoE,CAEpE,CAAc,CAAC,KAAf,CAAqB,OAArB,CAA+B,MAFqC,CAGpE,CAAY,CAAC,KAAb,CAAmB,OAAnB,CAA6B,MAHuC,CAIpE,CAAI,CAAC,aAAL,EAAsB,CAAI,CAAC,aAAL,CAAmB,YAAnB,CAAgC,MAAhC,CAAuC,EAAvC,CACzB,CApCL,CAqCI,KAAK,iBAAL,CAAuB,GAAvB,CAA2B,KAAK,wBAAhC,CArCJ,GAuCI,KAAK,kBAAL,GAvCJ,CAwCI,CAAa,CAAC,gBAAd,CAA+B,OAA/B,CAAwC,UAAM,CAC1C,QAAQ,CAAC,IAAT,CAAc,SAAd,CAAwB,GAAxB,CAA4B,MAA5B,CAD0C,CAE1C,CAAO,CAAC,SAAR,CAAkB,GAAlB,CAAsB,MAAtB,CAF0C,CAG1C,CAAY,CAAC,KAAb,EACH,CAJD,IAxCJ,CA6CI,CAAY,CAAC,gBAAb,CAA8B,OAA9B,CAAuC,UAAM,CACzC,CAAY,CAAC,KAAb,CAAmB,OAAnB,CAA6B,MADY,CAEzC,CAAI,CAAC,cAAL,EAAuB,CAAI,CAAC,cAAL,CAAoB,YAApB,CAAiC,MAAjC,CAAwC,EAAxC,CAC1B,CAHD,IA7CJ,CAiDI,KAAK,yBAAL,CAAiC,KAAK,yBAAL,EAAmC,UAAM,CACtE,CAAO,CAAC,SAAR,CAAkB,MAAlB,CAAyB,MAAzB,CADsE,CAEtE,CAAc,CAAC,KAAf,CAAqB,OAArB,CAA+B,MAFuC,CAGtE,CAAY,CAAC,KAAb,CAAmB,OAAnB,CAA6B,MAHyC,CAItE,CAAI,CAAC,cAAL,EAAuB,CAAI,CAAC,cAAL,CAAoB,YAApB,CAAiC,MAAjC,CAAwC,EAAxC,CAC1B,CAtDL,CAuDI,KAAK,iBAAL,CAAuB,GAAvB,CAA2B,KAAK,yBAAhC,CAvDJ,EAyDA,CAAY,CAAC,gBAAb,CAA8B,OAA9B,CAAuC,UAAM,CACV,CAAY,CAAC,KAAb,CAAmB,OADT,CACd,EAAvB,GAAA,CAAY,CAAC,KADwB,CACmB,MADnB,CAEP,QACrC,CAHD,IAzDA,CA8DA,GAAM,CAAA,CAAc,CAAG,UAAM,CACzB,GAAM,CAAA,CAAU,CAAG,YAAY,yBAAkB,CAAlB,EAA4B,CACvD,IAAI,GADmD,CAEvD,UAAU,GAF6C,CAGvD,qBAAqB,4BAAsB,CAAtB,CAHkC,CAIvD,eAAe,GAJwC,CAKvD,UAAU,CAAE,CAAE,QAAQ,GAAV,CAL2C,CAMvD,KAAK,GANkD,CAA5B,CAO5B,CACC,IAAI,CAAE,QADP,CAEC,MAAM,CAAE,gBAAC,CAAD,CAAQ,CAAR,CAAqB,CACzB,CAAc,CAAC,KAAf,CAAqB,OAArB,CAA+B,QADN,CAEzB,CAAY,CAAC,KAAb,CAAmB,OAAnB,CAA6B,MAFJ,CAGzB,GAAM,CAAA,CAAM,CAAG,SAAC,CAAD,CAAa,CACxB,CAAc,CAAC,KAAf,CAAqB,OAArB,CAA+B,MADP,CAExB,CAAY,CAAC,KAAb,CAAmB,OAAnB,CAA6B,QAFL,CAGxB,CAAQ,CAAC,CAAD,CACX,CAJD,CAKA,GAA0B,MAAtB,GAAA,CAAY,CAAC,IAAjB,CAAkC,CAC9B,GAAM,CAAA,CAAM,CAAG,UAAM,CACb,IAAI,CAAC,YADQ,GACM,CAAK,CAAG,IAAI,CAAC,YAAL,CAAkB,CAAlB,CADd,EAEjB,GAAM,CAAA,CAAO,CAAG,EAAhB,CA8BA,MA7BA,CAAA,CAAI,CAAC,MAAL,CAAY,MAAZ,CAAmB,CAAnB,EAA0B,OAA1B,CAAkC,WAAsC,IAAnC,CAAA,CAAmC,GAAnC,GAAmC,CAAjB,CAAiB,GAA9B,SAA8B,CAAjB,QAAiB,CAC9D,CAAS,CAAG,CAAI,CAAC,UAAL,CAAgB,CAAhB,CADkD,CAE9D,CAF8D,CAE7B,CAF6B,CAE9D,GAF8D,CAEzD,CAFyD,CAE7B,CAF6B,CAEzD,KAFyD,CAEzC,CAFyC,CAE7B,CAF6B,CAElD,OAFkD,CAGpE,IAAI,CAAO,CAAC,CAAD,CAAX,EACA,GAAI,CAAA,CAAQ,CAAG,CAAf,CACA,MAAM,CAAC,MAAP,CAAc,CAAd,EAAwB,OAAxB,CAAgC,WAAiB,IAAd,CAAA,CAAc,GAAd,OAAc,CAC7C,GAAI,CAAJ,CAAa,CACT,GAAM,CAAA,CAAa,CAAG,CAAO,CAAC,QAAR,CAAiB,CAAjB,EAAoB,CAApB,CAAtB,CADS,CAEL,CAAa,CAAG,CAAhB,EAAyC,CAAb,GAAA,CAFvB,IAEuC,CAAQ,CAAG,CAFlD,CAGZ,CACJ,CALD,CAFA,CAQA,CAAQ,EAAI,CAAa,CAAG,CAR5B,CASe,CAAX,CAAA,CATJ,EAUI,CAAQ,EAAI,CAAO,CAAC,MAAR,CAAe,CAAf,CAAyB,EAAzB,EAA6B,WAA7B,CAAyC,GAAzC,EAAgD,CAVhE,CAWI,CAAO,CAAG,MAAQ,CAAO,CAAC,MAAR,CAAe,CAAf,CAAyB,CAAzB,CAXtB,EAaI,CAAO,CAAG,CAAO,CAAC,MAAR,CAAe,CAAf,CAAkB,CAAlB,CAbd,CAeA,MAAM,CAAC,IAAP,CAAY,CAAZ,EAAsB,OAAtB,CAA8B,SAAA,CAAG,CAAI,CACjC,CAAK,CAAG,CAAK,CAAC,OAAN,CAAc,GAAI,CAAA,MAAJ,YAAe,CAAf,MAAuB,IAAvB,CAAd,YAAgD,CAAhD,iBAAoE,CAApE,MADyB,CAEjC,CAAO,CAAG,CAAO,CAAC,OAAR,CAAgB,GAAI,CAAA,MAAJ,YAAe,CAAf,MAAuB,IAAvB,CAAhB,YAAkD,CAAlD,iBAAsE,CAAtE,MACb,CAHD,CAfA,CAmBA,CAAO,CAAC,CAAD,CAAP,CAAe,CACX,IAAO,CADI,CAEX,MAAU,CAFC,CAGX,KAAS,CAAS,CAAC,IAHR,CAIX,QAAY,CAJD,CAnBf,CAyBH,CA5BD,CA6BA,CAAO,MAAM,CAAC,MAAP,CAAc,CAAd,EAAuB,KAAvB,CAA6B,CAA7B,CAAgC,CAAhC,CACV,CAjCD,CAkCK,CAAI,CAAC,MAnCoB,CA2DvB,CAAM,CAAC,CAAM,EAAP,CA3DiB,CAoC1B,KAAK,CAAC,CAAY,CAAC,YAAd,CAAL,CACK,IADL,CACU,SAAA,CAAQ,QAAI,CAAA,CAAQ,CAAC,IAAT,EAAJ,CADlB,EAEK,IAFL,CAEU,SAAA,CAAI,CAAI,CACV,GAAM,CAAA,CAAS,CAAG,EAAlB,CACA,CAAI,CAAC,MAAL,CAAc,IAAI,CAAC,UAAY,YACvB,CAAY,CAAC,gBADU,EACQ,KAAK,GAAL,CAAS,IAAI,CAAC,CAAY,CAAC,gBAAd,CAAb,CADR,CAE3B,KAAK,GAAL,CAAS,UAAT,CAF2B,CAG3B,KAAK,KAAL,CAAW,OAAX,CAAoB,CAAE,KAAK,CAAE,EAAT,CAApB,CAH2B,CAI3B,KAAK,KAAL,CAAW,MAAX,CAAmB,CAAE,KAAK,CAAE,EAAT,CAAnB,CAJ2B,CAK3B,KAAK,KAAL,CAAW,YAAX,CAAyB,CAAE,KAAK,CAAE,EAAT,CAAzB,CAL2B,CAM3B,KAAK,KAAL,CAAW,SAAX,CAAsB,CAAE,KAAK,CAAE,EAAT,CAAtB,CAN2B,CAO3B,KAAK,iBAAL,CAAyB,CAAC,UAAD,CAPE,CAQ3B,CAAI,CAAC,OAAL,CAAa,SAAC,CAAD,CAAY,CACrB,CAAS,CAAC,CAAM,CAAC,QAAR,CAAT,CAA6B,CADR,CAErB,CAAI,CAAC,GAAL,CAAS,CAAT,CACH,CAHD,CAIH,CAZiB,CAFR,CAeV,CAAI,CAAC,UAAL,CAAkB,CAfR,CAgBV,CAAM,CAAC,CAAM,EAAP,CACT,CAnBL,EAmBO,KAnBP,CAmBa,SAAA,CAAG,CAAI,CACZ,OAAO,CAAC,KAAR,CAAc,CAAd,CADY,CAEZ,CAAM,CAAC,EAAD,CACT,CAtBL,CAwBP,CA5DD,IA4DiC,SAAtB,GAAA,CAAY,CAAC,IA5DxB,GA6DI,CAAI,CAAC,aAAL,CAAqB,CAAI,CAAC,aAAL,EAAsB,aAAa,CAAC,CAAY,CAAC,YAAd,CAA4B,CAAY,CAAC,gBAAzC,CAAb,CAAwE,SAAxE,CAAkF,CAAY,CAAC,YAA/F,CA7D/C,CA8DI,CAAI,CAAC,aAAL,CACK,MADL,CACY,CADZ,CACmB,CACX,MAAM,CAAE,CADG,CAEX,MAAM,CAAoB,CAAlB,CAAA,CAFG,CAGX,qBAAqB,CAAE,CAAC,OAAD,CAHZ,CAIX,mBAAmB,CAAE,mBAAY,CAAZ,EAJV,CAKX,eAAe,YAAM,CAAN,KALJ,CAMX,gBAAgB,aAAO,CAAP,KANL,CADnB,EASK,IATL,CASU,WAAc,IAAX,CAAA,CAAW,GAAX,IAAW,CACV,CAAO,CAAG,EADA,CAEhB,CAAI,CAAC,OAAL,CAAa,WAA6E,IAA1E,CAAA,CAA0E,GAA1E,GAA0E,CAArE,CAAqE,GAArE,IAAqE,CAA3C,CAA2C,GAA/D,gBAA+D,CAA3C,KAA2C,CAAhB,CAAgB,GAAlC,cAAkC,CAAhB,OAAgB,CAClF,CAAO,CAAC,CAAD,CAAP,EAAgB,CAAO,CAAC,CAAD,CAAP,CAAa,OAAb,CAAqB,MAArB,CAA8B,CAAO,CAAC,KAD4B,GAEtF,CAAO,CAAC,CAAD,CAAP,CAAe,CACX,GAAG,CAAE,CADM,CAEX,KAAK,CAAE,CAAK,CAAC,KAFF,CAGX,IAAI,CAAE,CAHK,CAIX,OAAO,CAAE,CAAO,CAAC,KAJN,CAFuE,CAQzF,CARD,CAFgB,CAWhB,CAAM,CAAC,MAAM,CAAC,MAAP,CAAc,CAAd,EAAuB,KAAvB,CAA6B,CAA7B,CAAgC,CAAhC,CAAD,CACT,CArBL,EAsBK,KAtBL,CAsBW,SAAA,CAAG,CAAI,CACV,OAAO,CAAC,KAAR,CAAc,CAAd,CADU,CAEV,CAAM,CAAC,EAAD,CACT,CAzBL,CA9DJ,CAyFH,CAnGF,CAoGC,SAAS,CAAE,CACP,UAAU,CAAE,0BAAG,CAAA,CAAH,GAAG,KAAH,CAAU,CAAV,GAAU,IAAV,CAAgB,CAAhB,GAAgB,OAAhB,uDAAqE,CAArE,mDAAkH,CAAlH,2DAAsK,CAAtK,WADL,CAEP,KAAK,CAAE,qBAAG,CAAA,CAAH,GAAG,KAAH,6CAA4C,CAAY,CAAC,cAAzD,6CAAwG,CAAxG,oBAFA,CAGP,MAAM,CAAE,kBAAQ,oCAC6C,SAAtB,GAAA,CAAY,CAAC,IAAb,CAAkC,CACjE,UAAU,CAAE,SADqD,CAEjE,IAAI,CAAE,wCAF2D,CAGjE,IAAI,CAAE,0BAH2D,CAAlC,CAI/B,CACA,UAAU,CAAE,SADZ,CAEA,IAAI,CAAE,EAFN,CAGA,IAAI,CAAE,qBAHN,CALQ,CACJ,CADI,GACJ,UADI,CACQ,CADR,GACQ,IADR,CACc,CADd,GACc,IADd,CAUZ,iEAAwD,CAAxD,2DAAyG,CAAzG,aAAiH,CAAjH,cAAyI,CAbtI,CApGZ,CAP4B,CAA/B,CA2HA,CAAU,CAAC,EAAX,CAAc,uBAAd,CAAuC,SAAC,CAAD,CAAS,CAAT,CAA4C,CAC/E,MAAM,CAAC,QAAP,CAAgB,MAAhB,CAAuB,CAAU,CAAC,GAAlC,CACH,CAFD,CA5HyB,CA+HrB,CA/HqB,CA+HX,CAAI,CAAC,aAAL,CAAqB,CA/HV,CAgIpB,CAAI,CAAC,cAAL,CAAsB,CAC9B,CAjID,CAkIA,GAAI,CAAY,CAAC,gBAAb,EAAiC,CAAC,QAAQ,CAAC,cAAT,CAAwB,gBAAxB,CAAtC,CAAiF,CAC7E,GAAM,CAAA,CAAM,CAAG,QAAQ,CAAC,aAAT,CAAuB,QAAvB,CAAf,CACA,CAAM,CAAC,EAAP,CAAY,gBAFiE,CAG7E,CAAM,CAAC,IAAP,CAAc,iBAH+D,CAI7E,CAAM,CAAC,GAAP,CAAa,CAAY,CAAC,gBAJmD,CAK7E,CAAM,CAAC,KAAP,GAL6E,CAMzE,CAAM,CAAC,UANkE,CAOzE,CAAM,CAAC,kBAAP,CAA4B,UAAM,EACL,QAArB,EAAA,CAAM,CAAC,UAAP,EAAsD,UAArB,EAAA,CAAM,CAAC,UADd,IAE1B,CAAM,CAAC,kBAAP,CAA4B,IAFF,CAG1B,CAAc,EAHY,CAKjC,CAZwE,CAczE,CAAM,CAAC,MAAP,CAAgB,UAAM,CAClB,CAAc,EACjB,CAhBwE,CAkB7E,QAAQ,CAAC,IAAT,CAAc,WAAd,CAA0B,CAA1B,CACH,CAnBD,IAmBO,CAAA,CAAc,EAnNrB,CAoNH,C,iDAEa,CACV,KAAK,IAAL,CAAU,OAAV,CAAkB,QAAQ,CAAC,sBAAT,CAAgC,SAAhC,CAAlB,CAA8D,SAAA,CAAQ,CAAI,CACtE,GAAM,CAAA,CAAQ,CAAG,CAAQ,CAAC,sBAAT,CAAgC,iBAAhC,EAAmD,CAAnD,CAAjB,CACA,CAAQ,CAAC,gBAAT,CAA0B,OAA1B,CAAmC,UAAM,CACrC,CAAQ,CAAC,SAAT,CAAmB,MAAnB,CAA0B,MAA1B,CACH,CAFD,IAGH,CALD,CAMH,C,2DAEkB,CACX,KAAK,MAAL,CAAY,YADD,EACe,YAAY,CAAC,QAAQ,CAAC,cAAT,CAAwB,SAAxB,CAAD,CAAqC,KAAK,MAAL,CAAY,YAAjD,CAC7C,C,qDAEe,YACZ,KAAK,IAAL,CAAU,OAAV,CAAkB,QAAQ,CAAC,gBAAT,CAA0B,yBAA1B,CAAlB,CAAwE,SAAA,CAAU,CAAI,CAClF,GAAM,CAAA,CAAO,CAAG,QAAQ,CAAC,aAAT,CAAuB,KAAvB,CAAhB,CACA,CAAO,CAAC,SAAR,CAAoB,CAAU,CAAC,SAFmD,CAGlF,GAAM,CAAA,CAAM,CAAG,QAAQ,CAAC,aAAT,CAAuB,OAAvB,CAAf,CACA,CAAO,CAAC,WAAR,CAAoB,CAApB,CAJkF,CAKlF,GAAM,CAAA,CAAM,CAAG,QAAQ,CAAC,aAAT,CAAuB,OAAvB,CAAf,CACA,CAAM,CAAC,WAAP,CAAmB,CAAnB,CANkF,CAOlF,GAAM,CAAA,CAAG,CAAG,QAAQ,CAAC,aAAT,CAAuB,IAAvB,CAAZ,CACA,CAAM,CAAC,WAAP,CAAmB,CAAnB,CARkF,CASlF,GAAM,CAAA,CAAG,CAAG,QAAQ,CAAC,aAAT,CAAuB,IAAvB,CAAZ,CACA,CAAG,CAAC,WAAJ,CAAgB,CAAhB,CAVkF,CAWlF,CAAU,CAAC,aAAX,CAAyB,YAAzB,CAAsC,CAAtC,CAA+C,CAA/C,CAXkF,CAYlF,CAAG,CAAC,WAAJ,CAAgB,CAAhB,CACH,CAbD,CADY,CAeZ,KAAK,IAAL,CAAU,OAAV,CAAkB,QAAQ,CAAC,gBAAT,CAA0B,sBAA1B,CAAlB,CAAqE,SAAA,CAAO,CAAI,CAC5E,GAAM,CAAA,CAAa,CAAG,CAAO,CAAC,gBAAR,CAAyB,mBAAzB,CAAtB,CACA,GAAI,CAAa,CAAC,MAAlB,CAA0B,IAChB,CAAA,CAAK,CAAG,CAAa,CAAC,CAAa,CAAC,MAAd,CAAuB,CAAxB,CADL,CAEhB,CAAO,CAAG,QAAQ,CAAC,aAAT,CAAuB,KAAvB,CAFM,CAGtB,CAAO,CAAC,SAAR,CAAoB,eAAiB,CAAK,CAAC,SAAN,CAAgB,WAAhB,EAHf,CAItB,GAAM,CAAA,CAAM,CAAG,QAAQ,CAAC,aAAT,CAAuB,MAAvB,CAAf,CACA,CAAM,CAAC,SAAP,CAAiB,GAAjB,CAAqB,YAArB,CALsB,CAMtB,CAAM,CAAC,kBAAP,CAA0B,YAA1B,CAAwC,oDAAxC,CANsB,CAOtB,CAAM,CAAC,gBAAP,CAAwB,OAAxB,CAAiC,UAAM,CACnC,CAAO,CAAC,SAAR,CAAkB,MAAlB,CAAyB,MAAzB,CACH,CAFD,IAPsB,CAUtB,CAAO,CAAC,WAAR,CAAoB,CAApB,CAVsB,CAWtB,GAAM,CAAA,CAAS,CAAG,QAAQ,CAAC,aAAT,CAAuB,MAAvB,CAAlB,CACA,CAAS,CAAC,kBAAV,CAA6B,YAA7B,CAA2C,2CAA3C,CAZsB,CAatB,CAAS,CAAC,SAAV,CAAoB,GAApB,CAAwB,UAAxB,CAbsB,CActB,CAAS,CAAC,gBAAV,CAA2B,OAA3B,CAAoC,UAAM,CACtC,CAAO,CAAC,SAAR,CAAkB,GAAlB,CAAsB,MAAtB,CACH,CAFD,IAdsB,CAiBtB,CAAO,CAAC,WAAR,CAAoB,CAApB,CAjBsB,CAkBtB,GAAM,CAAA,CAAK,CAAG,QAAQ,CAAC,aAAT,CAAuB,MAAvB,CAAd,CACA,CAAK,CAAC,kBAAN,CAAyB,YAAzB,CAAuC,qCAAvC,CAnBsB,CAoBtB,CAAK,CAAC,SAAN,CAAgB,GAAhB,CAAoB,MAApB,CApBsB,CAqBtB,GAAM,CAAA,CAAI,CAAG,CAAK,CAAC,SAAnB,CAEA,IADqC,CAAjC,CAAA,CAAI,CAAC,MAAL,CAAY,IAAZ,CAAiB,aAAjB,EAAsC,CAAI,CAAC,KAAL,CAAW,IAAX,EAAiB,MAAjB,CAA0B,CAAI,CAAC,MAAL,CAAY,IAAZ,CAAiB,aAAjB,CAAiC,CACrG,GADwG,CAAO,CAAC,SAAR,CAAkB,GAAlB,CAAsB,MAAtB,CACxG,CAAI,CAAI,CAAC,MAAL,CAAY,IAAZ,CAAiB,SAArB,CAAgC,CAC5B,CAAK,CAAC,YAAN,CAAmB,qBAAnB,CAA0C,CAA1C,CAD4B,CAE5B,CAAK,CAAC,KAAN,CAAc,CAAI,CAAC,MAAL,CAAY,IAAZ,CAAiB,SAFH,CAG5B,GAAM,CAAA,CAAS,CAAG,GAAI,CAAA,WAAJ,CAAgB,CAAhB,CAAlB,CACA,CAAS,CAAC,EAAV,CAAa,SAAb,CAAwB,UAAM,CAC1B,CAAI,CAAC,IAAL,CAAU,UAAV,CAAqB,CAArB,CAA4B,OAA5B,CACH,CAFD,CAJ4B,CAO5B,CAAO,CAAC,WAAR,CAAoB,CAApB,CACH,CACD,CAAO,CAAC,YAAR,CAAqB,CAArB,CAA8B,CAAO,CAAC,UAAtC,CACH,CACJ,CApCD,CAqCH,C,6CAEW,CACR,KAAK,IAAL,CAAU,OAAV,CAAkB,QAAQ,CAAC,gBAAT,CAA0B,gBAA1B,CAAlB,CAA+D,SAAA,CAAM,CAAI,CACrE,GAAM,CAAA,CAAQ,CAAG,QAAQ,CAAC,aAAT,CAAuB,KAAvB,CAAjB,CACA,CAAQ,CAAC,SAAT,CAAqB,eAFgD,CAGrE,CAAM,CAAC,aAAP,CAAqB,YAArB,CAAkC,CAAlC,CAA4C,CAA5C,CAHqE,CAIrE,CAAQ,CAAC,WAAT,CAAqB,CAArB,CACH,CALD,CAMH,C,uDAEgB,CACb,IAAK,GAAI,CAAA,CAAG,CAAG,CAAf,CAAyB,CAAP,EAAA,CAAlB,CAA4B,CAAG,EAA/B,CACI,KAAK,IAAL,CAAU,OAAV,CAAkB,QAAQ,CAAC,gBAAT,CAA0B,uBAAyB,CAAnD,CAAlB,CAA2E,SAAA,CAAO,CAAI,CAClF,CAAO,CAAC,SAAR,CAAkB,GAAlB,CAAsB,YAAtB,CADkF,CAElF,CAAO,CAAC,kBAAR,CAA2B,YAA3B,sBAAsD,CAAO,CAAC,EAA9D,kCACH,CAHD,CAKP,C,yCAES,YACA,CAAQ,CAAG,QAAQ,CAAC,cAAT,CAAwB,iBAAxB,CADX,CAEN,GAAiB,IAAb,GAAA,CAAJ,CACA,GAAI,QAAQ,CAAC,cAAT,CAAwB,YAAxB,EAAsC,YAAtC,CAAmD,MAAnD,GAA8D,KAAK,IAAL,CAAU,WAAV,EAAlE,CAA2F,CACvF,GAAM,CAAA,CAAiB,CAAG,QAAQ,CAAC,cAAT,CAAwB,oBAAxB,CAA1B,CACI,CAAQ,CAAC,aAAT,GAA2B,CAFwD,GAGnF,CAAQ,CAAC,aAAT,CAAuB,WAAvB,CAAmC,CAAnC,CAHmF,CAInF,CAAiB,CAAC,WAAlB,CAA8B,CAA9B,CAJmF,EAMnF,KAAK,YAN8E,EAMhE,KAAK,cAAL,CAAoB,MAApB,CAA2B,KAAK,YAAhC,CAC1B,CAPD,IAOO,CACH,GAAM,CAAA,CAAe,CAAG,QAAQ,CAAC,cAAT,CAAwB,kBAAxB,CAAxB,CACI,CAAQ,CAAC,aAAT,GAA2B,CAF5B,GAGC,CAAQ,CAAC,aAAT,CAAuB,WAAvB,CAAmC,CAAnC,CAHD,CAIC,CAAe,CAAC,WAAhB,CAA4B,CAA5B,CAJD,KAMG,CAAA,CAAI,CAAG,QAAQ,CAAC,cAAT,CAAwB,UAAxB,CANV,CAOG,CAAK,CAAG,QAAQ,CAAC,sBAAT,CAAgC,MAAhC,EAAwC,CAAxC,CAPX,CAQG,CAAI,CAAG,CAAK,CAAC,qBAAN,EARV,CASH,CAAI,CAAC,KAAL,CAAW,IAAX,WAAqB,CAAI,CAAC,IAAL,CAAY,CAAI,CAAC,KAAjB,CAAyB,EAA9C,MATG,CAUH,CAAI,CAAC,KAAL,CAAW,QAAX,WAAyB,CAAK,CAAC,qBAAN,GAA8B,IAA9B,CAAqC,EAA9D,MAVG,CAWH,CAAI,CAAC,KAAL,CAAW,UAAX,CAAwB,SAXrB,IAYG,CAAA,CAAgB,CAAG,CAAQ,CAAC,gBAAT,CAA0B,eAA1B,CAZtB,CAaG,CAAc,CAAG,CAAQ,CAAC,oBAAT,CAA8B,IAA9B,CAbpB,CAcG,CAAmB,CAAG,QAAQ,CAAC,sBAAT,CAAgC,YAAhC,CAdzB,CAeG,CAAa,CAAoD,QAAjD,GAAA,QAAQ,CAAC,IAAT,CAAc,YAAd,CAA2B,gBAA3B,CAfnB,CAgBG,CAAY,CAAG,QAAQ,CAAC,cAAT,CAAwB,gBAAxB,EAA0C,YAhB5D,CAiBG,CAAW,CAAG,IAAM,CAAa,CAAG,CAAH,CAAkB,CAArC,CAjBjB,CAkBG,CAAS,CAAG,CAAI,CAAC,SAlBpB,CAmBG,CAAY,CAAG,CAAS,CAAG,CAAZ,EAA2B,CAAa,CAAG,CAAH,CAAO,CAA/C,CAnBlB,CAoBH,KAAK,YAAL,CAAoB,KAAK,YAAL,EAAsB,UAAM,IACtC,CAAA,CAAS,CAAG,QAAQ,CAAC,cAAT,CAAwB,aAAxB,EAAuC,SADb,CAEtC,CAAS,CAAG,CAAS,CAAG,CAAI,CAAC,qBAAL,GAA6B,MAFf,CAGtC,CAAY,CAAG,CAAS,CAAG,CAAZ,EAA2B,CAAa,CAAG,CAAH,CAAO,CAA/C,CAHuB,CAIxC,CAAI,CAAC,YAAL,CAAoB,CAJoB,EAKxC,CAAI,CAAC,KAAL,CAAW,QAAX,CAAsB,UALkB,CAMxC,CAAI,CAAC,KAAL,CAAW,GAAX,WAAoB,CAApB,MANwC,EAOjC,CAAI,CAAC,YAAL,CAAoB,CAPa,EAQxC,CAAI,CAAC,KAAL,CAAW,QAAX,CAAsB,UARkB,CASxC,CAAI,CAAC,KAAL,CAAW,GAAX,WAAoB,CAApB,MATwC,GAWxC,CAAI,CAAC,KAAL,CAAW,QAAX,CAAsB,OAXkB,CAYxC,CAAI,CAAC,KAAL,CAAW,GAAX,WAAoB,CAApB,MAZwC,EAe5C,CAAI,CAAC,IAAL,CAAU,OAAV,CAAkB,CAAlB,CAAoC,SAAA,CAAQ,CAAI,CAAE,CAAQ,CAAC,SAAT,CAAmB,MAAnB,CAA0B,QAA1B,CAAsC,CAAxF,CAf4C,CAgB5C,CAAI,CAAC,IAAL,CAAU,OAAV,CAAkB,CAAlB,CAAkC,SAAA,CAAM,CAAI,CAAE,CAAM,CAAC,SAAP,CAAiB,MAAjB,CAAwB,YAAxB,CAAwC,CAAtF,CAhB4C,CAmB5C,OAFM,CAAA,CAAa,CAAG,IAAM,CAAa,CAAG,CAAH,CAAkB,CAArC,CAEtB,CADI,CAAc,CAAG,CAAmB,CAAC,MAApB,CAA6B,CAClD,CAAS,CAAC,CAAG,CAAb,CAAgB,CAAC,CAAG,CAAmB,CAAC,MAApB,CAA6B,CAAjD,CAAoD,CAAC,EAArD,CAAyD,IAC/C,CAAA,CAAO,CAAG,CAAmB,CAAC,CAAD,CAAnB,CAAuB,qBAAvB,GAA+C,GADV,CAE/C,CAAO,CAAG,CAAmB,CAAC,CAAC,CAAG,CAAL,CAAnB,CAA2B,qBAA3B,GAAmD,GAFd,CAGrD,GAAU,CAAL,EAAA,CAAC,EAAS,CAAO,CAAG,CAArB,EACC,CAAO,EAAI,CAAX,EAA4B,CAAO,CAAG,CAD3C,CAC2D,CACvD,CAAc,CAAG,CADsC,CAEvD,KACH,CACJ,CACD,GAAuB,CAAC,CAApB,GAAA,CAAJ,CAA2B,CACvB,CAAgB,CAAC,CAAD,CAAhB,CAAiC,SAAjC,CAA2C,GAA3C,CAA+C,QAA/C,CADuB,KAEvB,GAAI,CAAA,CAAO,CAAG,CAAgB,CAAC,CAAD,CAAhB,CAAiC,aAFxB,CAGhB,CAAO,GAAK,CAHI,EAInB,CAAO,CAAC,SAAR,CAAkB,GAAlB,CAAsB,YAAtB,CAJmB,CAKnB,CAAO,CAAG,CAAO,CAAC,aAAR,CAAsB,aAEvC,CACJ,CAxDE,CAyDH,KAAK,YAAL,EAzDG,CA0DH,KAAK,cAAL,CAAoB,GAApB,CAAwB,KAAK,YAA7B,CACH,CACJ,C,2CAEU,CACH,KAAK,MAAL,CAAY,IADT,EACe,mBAAmB,CAAC,QAAQ,CAAC,IAAV,CAAgB,KAAK,MAAL,CAAY,IAA5B,CAC5C,C,iDAEa,YACJ,CAAgB,CAAG,QAAQ,CAAC,sBAAT,CAAgC,SAAhC,CADf,CAEN,CAAgB,CAAC,MAFX,GAGN,OAAO,CAAC,UAAR,CAAmB,CAAC,WAAW,GAAZ,CAAqB,KAAK,CAAE,MAA5B,CAAnB,CAHM,CAIN,KAAK,IAAL,CAAU,OAAV,CAAkB,CAAlB,CAAoC,SAAA,CAAQ,CAAI,CAC5C,OAAO,CAAC,UAAR,CAAmB,MAAnB,CAA0B,OAAS,CAAQ,CAAC,EAA5C,CAAgD,CAAI,CAAC,IAAL,CAAU,CAAQ,CAAC,EAAnB,CAAhD,CAAwE,SAAA,CAAO,CAAI,CAC/E,CAAQ,CAAC,kBAAT,CAA4B,YAA5B,CAA0C,CAA1C,CACH,CAFD,CAEG,CAFH,CAGH,CAJD,CAJM,CAUb,C,iDAEa,YACV,KAAK,qBAAL,CAA6B,KAAK,qBAAL,EAA+B,UAAM,CAC9D,CAAI,CAAC,WAAL,CAAmB,CAAI,CAAC,WAAL,EAAoB,EADuB,CAE9D,IAAK,GAAI,CAAA,CAAC,CAAG,CAAb,CAAgB,CAAC,CAAG,CAAI,CAAC,WAAL,CAAiB,MAArC,CAA6C,CAAC,EAA9C,CACI,CAAI,CAAC,WAAL,CAAiB,CAAjB,EAAoB,OAApB,GAEJ,CAAI,CAAC,WAAL,CAAmB,EAL2C,CAM9D,CAAI,CAAC,IAAL,CAAU,OAAV,CAAkB,QAAQ,CAAC,sBAAT,CAAgC,SAAhC,CAAlB,CAA8D,SAAA,CAAQ,CAAI,CACtE,GAAM,CAAA,CAAK,CAAG,OAAO,CAAC,IAAR,CAAa,CAAb,CAAuB,CAAI,CAAC,MAAL,CAAc,MAAd,CAAuB,UAA9C,CAA0D,CAAC,QAAQ,CAAE,KAAX,CAA1D,CAAd,CACA,CAAK,CAAC,SAAN,CAAgB,IAAI,CAAC,KAAL,CAAW,CAAI,CAAC,IAAL,CAAU,CAAQ,CAAC,EAAnB,CAAX,CAAhB,CAFsE,CAGtE,CAAI,CAAC,WAAL,CAAiB,IAAjB,CAAsB,CAAtB,CACH,CAJD,CAKH,CAZS,CAaV,KAAK,mBAAL,CAAyB,GAAzB,CAA6B,KAAK,qBAAlC,CAbU,CAcV,KAAK,qBAAL,EAdU,CAeV,KAAK,gBAAL,CAAwB,KAAK,gBAAL,EAA0B,UAAM,CACpD,IAAK,GAAI,CAAA,CAAC,CAAG,CAAb,CAAgB,CAAC,CAAG,CAAI,CAAC,WAAL,CAAiB,MAArC,CAA6C,CAAC,EAA9C,CACI,CAAI,CAAC,WAAL,CAAiB,CAAjB,EAAoB,MAApB,EAEP,CAnBS,CAoBV,KAAK,cAAL,CAAoB,GAApB,CAAwB,KAAK,gBAA7B,CACH,C,+CAEY,YACL,KAAK,MAAL,CAAY,MADP,GAEL,QAAQ,CAAC,WAAT,CAAuB,KAAK,MAAL,CAAY,MAAZ,CAAmB,WAFrC,CAGL,QAAQ,CAAC,gBAAT,CAA0B,KAAK,MAAL,CAAY,MAAZ,CAAmB,aAA7C,CAHK,CAIL,KAAK,UAAL,CAAkB,KAAK,UAAL,EAAmB,EAJhC,CAKL,KAAK,IAAL,CAAU,OAAV,CAAkB,QAAQ,CAAC,sBAAT,CAAgC,QAAhC,CAAlB,CAA6D,SAAA,CAAO,CAAI,OACgC,CAAI,CAAC,IAAL,CAAU,CAAO,CAAC,EAAlB,CADhC,CAC5D,CAD4D,GAC5D,GAD4D,CACvD,CADuD,GACvD,GADuD,CAClD,CADkD,GAClD,IADkD,CAC5C,CAD4C,GAC5C,UAD4C,CAChC,CADgC,GAChC,SADgC,CACrB,CADqB,GACrB,MADqB,CACb,CADa,GACb,UADa,CACD,CADC,GACD,SADC,CACU,CADV,GACU,KADV,CACiB,CADjB,GACiB,UADjB,CAE9D,CAAM,CAAG,GAAI,CAAA,QAAQ,CAAC,GAAb,CAAiB,CAC5B,SAAS,CAAE,CADiB,CAE5B,MAAM,CAAE,CAAC,CAAD,CAAM,CAAN,CAFoB,CAG5B,IAAI,CAAE,CAHsB,CAI5B,OAAO,CAAE,EAJmB,CAK5B,KAAK,CAAE,CAAI,CAAC,MAAL,CAAc,CAAd,CAA0B,CALL,CAM5B,kBAAkB,GANU,CAAjB,CAFqD,CAUhE,CAVgE,EAWhE,GAAI,CAAA,QAAQ,CAAC,MAAb,GAAsB,SAAtB,CAAgC,CAAC,CAAD,CAAM,CAAN,CAAhC,EAA4C,KAA5C,CAAkD,CAAlD,CAXgE,CAahE,CAbgE,EAchE,CAAM,CAAC,UAAP,CAAkB,GAAI,CAAA,QAAQ,CAAC,iBAA/B,CAAoD,cAApD,CAdgE,CAgBhE,CAhBgE,EAiBhE,CAAM,CAAC,UAAP,CAAkB,GAAI,CAAA,QAAQ,CAAC,gBAAb,CAA8B,CAC5C,eAAe,CAAE,CACb,kBAAkB,GADL,CAD2B,CAI5C,gBAAgB,GAJ4B,CAK5C,iBAAiB,GAL2B,CAA9B,CAAlB,CAMI,cANJ,CAjBgE,CAyBhE,CAzBgE,EA0BhE,CAAM,CAAC,UAAP,CAAkB,GAAI,CAAA,QAAQ,CAAC,YAA/B,CA1BgE,CA4BhE,CA5BgE,EA6BhE,CAAM,CAAC,UAAP,CAAkB,GAAI,CAAA,QAAQ,CAAC,iBAA/B,CA7BgE,CA+BpE,CAAM,CAAC,UAAP,CAAkB,GAAI,CAAA,cAAtB,CA/BoE,CAgCpE,CAAI,CAAC,UAAL,CAAgB,IAAhB,CAAqB,CAArB,CACH,CAjCD,CALK,CAuCL,KAAK,oBAAL,CAA4B,KAAK,oBAAL,EAA8B,UAAM,CAC5D,CAAI,CAAC,IAAL,CAAU,OAAV,CAAkB,CAAI,CAAC,UAAvB,CAAmC,SAAA,CAAM,CAAI,IACnC,CAAA,CAAO,CAAG,CAAM,CAAC,YAAP,EADyB,GAEP,CAAI,CAAC,IAAL,CAAU,CAAO,CAAC,EAAlB,CAFO,CAEjC,CAFiC,GAEjC,UAFiC,CAErB,CAFqB,GAErB,SAFqB,CAGzC,CAAM,CAAC,QAAP,CAAgB,CAAI,CAAC,MAAL,CAAc,CAAd,CAA0B,CAA1C,CAHyC,CAIzC,CAAM,CAAC,UAAP,CAAkB,GAAI,CAAA,cAAtB,CACH,CALD,CAMH,CA9CI,CA+CL,KAAK,mBAAL,CAAyB,GAAzB,CAA6B,KAAK,oBAAlC,CA/CK,CAiDZ,C,+CAEY,YACT,GAAI,KAAK,MAAL,CAAY,MAAhB,CAAwB,IACd,CAAA,CAAY,CAAG,KAAK,MAAL,CAAY,MADb,CAEd,CAAK,CAAG,CAAY,CAAC,KAAb,CAAqB,CAAY,CAAC,KAAlC,CAA0C,GAFpC,CAGd,CAAW,CAAG,CAAY,CAAC,WAAb,CAA2B,CAAY,CAAC,WAAxC,CAAsD,GAHtD,CAId,CAAU,CAAG,CAAY,CAAC,UAAb,CAA0B,CAAY,CAAC,UAAvC,CAAoD,GAJnD,CAKpB,MAAM,CAAC,MAAP,CAAc,CAAY,CAAC,IAA3B,EAAiC,OAAjC,CAAyC,SAAA,CAAK,CAAI,CAC9C,GAAM,CAAA,CAAO,CAAG,SAAC,CAAD,CAAO,IACb,CAAA,CAAE,CAAG,CAAK,CAAC,CAAD,CADG,CAEb,CAAQ,CAAG,GAAI,CAAA,MAAJ,YAAe,CAAf,EAAqB,CAClC,OAAO,CAAE,CAAI,CAAC,IAAL,CAAU,CAAV,CADyB,CAElC,KAAK,CAAE,CAF2B,CAGlC,QAAQ,GAH0B,CAIlC,WAAW,CAAE,CAJqB,CAKlC,UAAU,CAAE,CALsB,CAMlC,gBAAgB,GANkB,CAOlC,aAAa,CAAE,wBAAM,OACb,CAAA,CAAC,GAAK,CAAK,CAAC,MAAN,CAAe,CADR,MAEgB,CAAzB,EAAA,CAAY,CAAC,QAFJ,EAEmB,MAAM,CAAC,UAAP,CAAkB,UAAM,CACpD,CAAQ,CAAC,OAAT,EACH,CAF+B,CAE7B,CAAY,CAAC,QAFgB,CAFnB,OAOjB,CAAQ,CAAC,OAAT,EAPiB,CAQjB,CAAO,CAAC,CAAC,CAAG,CAAL,CARU,CASpB,CAhBiC,CAArB,EAiBd,EAjBc,EAkBpB,CApBD,CAqBA,CAAO,CAAC,CAAD,CACV,CAvBD,CAwBH,CACJ,C,iDAEa,YACV,GAAI,KAAK,MAAL,CAAY,OAAhB,CAAyB,CACrB,GAAI,KAAK,MAAL,CAAY,OAAZ,CAAoB,MAAxB,CAAgC,CAC5B,KAAK,MAAL,CAAY,OAAZ,CAAoB,MAApB,CAA2B,IAA3B,CAAkC,SAAS,CAAC,MAAM,CAAC,QAAP,CAAgB,IAAjB,CADf,CAE5B,GAAM,CAAA,CAAM,CAAG,GAAI,CAAA,MAAJ,CAAW,KAAK,MAAL,CAAY,OAAZ,CAAoB,MAA/B,CAAf,CACA,CAAM,CAAC,MAAP,CAAc,QAAd,CACH,CAED,GADI,KAAK,MAAL,CAAY,OAAZ,CAAoB,MACxB,EADgC,GAAI,CAAA,MAAJ,CAAW,KAAK,MAAL,CAAY,OAAZ,CAAoB,MAA/B,CAChC,CAAI,KAAK,MAAL,CAAY,OAAZ,CAAoB,UAAxB,CAAoC,IAC1B,CAAA,CAAgB,CAAG,KAAK,MAAL,CAAY,OAAZ,CAAoB,UADb,CAE1B,CAAM,CAAG,QAAQ,CAAC,aAAT,CAAuB,QAAvB,CAFiB,CAGhC,CAAM,CAAC,GAAP,CAAa,+BAHmB,CAIhC,CAAM,CAAC,IAAP,CAAc,iBAJkB,CAKhC,CAAM,CAAC,YAAP,CAAoB,MAApB,CAA4B,CAAgB,CAAC,IAA7C,CALgC,CAMhC,CAAM,CAAC,YAAP,CAAoB,YAApB,CAAkC,CAAgB,CAAC,SAAnD,CANgC,CAO5B,CAAgB,CAAC,KAPW,EAOJ,CAAM,CAAC,YAAP,CAAoB,OAApB,CAA6B,CAAgB,CAAC,KAA9C,CAPI,CAQhC,CAAM,CAAC,YAAP,CAAoB,OAApB,CAA6B,KAAK,MAAL,CAAc,CAAgB,CAAC,SAA/B,CAA2C,CAAgB,CAAC,UAAzF,CARgC,CAShC,CAAM,CAAC,WAAP,CAAqB,WATW,CAUhC,CAAM,CAAC,KAAP,GAVgC,CAWhC,QAAQ,CAAC,cAAT,CAAwB,YAAxB,EAAsC,WAAtC,CAAkD,CAAlD,CAXgC,CAYhC,KAAK,wBAAL,CAAgC,KAAK,wBAAL,EAAkC,UAAM,IAC9D,CAAA,CAAO,CAAG,CACZ,IAAI,CAAE,WADM,CAEZ,KAAK,CAAE,CAAI,CAAC,MAAL,CAAc,CAAgB,CAAC,SAA/B,CAA2C,CAAgB,CAAC,UAFvD,CADoD,CAK9D,CAAM,CAAG,QAAQ,CAAC,aAAT,CAAuB,mBAAvB,CALqD,CAMpE,CAAM,CAAC,aAAP,CAAqB,WAArB,CAAiC,CAAjC,CAA0C,qBAA1C,CACH,CAnB+B,CAoBhC,KAAK,mBAAL,CAAyB,GAAzB,CAA6B,KAAK,wBAAlC,CACH,CACJ,CACJ,C,2DAEkB,CACX,YADW,EACG,GAAI,CAAA,YAAJ,CAAiB,eAAjB,CAAgC,CAAE,KAAK,CAAE,GAAT,CAAc,eAAe,GAA7B,CAAqC,MAAM,CAAE,iBAA7C,CAAhC,CACrB,C,6DAEmB,CACZ,KAAK,MAAL,CAAY,aADA,EACe,aAAa,CAAC,UAAd,CAAyB,KAAK,MAAL,CAAY,aAArC,CAClC,C,2CAEU,YACD,CAAQ,CAAG,EADV,CAIP,GAFqD,MAAjD,GAAA,QAAQ,CAAC,IAAT,CAAc,YAAd,CAA2B,gBAA3B,CAEJ,EAF6D,CAAQ,CAAC,IAAT,CAAc,QAAQ,CAAC,cAAT,CAAwB,gBAAxB,CAAd,CAE7D,CADoD,MAAhD,GAAA,QAAQ,CAAC,IAAT,CAAc,YAAd,CAA2B,eAA3B,CACJ,EAD4D,CAAQ,CAAC,IAAT,CAAc,QAAQ,CAAC,cAAT,CAAwB,eAAxB,CAAd,CAC5D,CAAI,QAAQ,CAAC,cAAT,CAAwB,UAAxB,CAAJ,CAAyC,CACrC,GAAM,CAAA,CAAa,CAAG,QAAQ,CAAC,cAAT,CAAwB,eAAxB,CAAtB,CACA,CAAa,CAAC,IAAd,YAFqC,CAGrC,CAAa,CAAC,KAAd,CAAoB,OAApB,CAA8B,OACjC,CARM,GASD,CAAA,CAAa,CAAG,QAAQ,CAAC,cAAT,CAAwB,eAAxB,CATf,CAUD,CAAQ,CAAG,EAVV,CAWP,MAAM,CAAC,gBAAP,CAAwB,QAAxB,CAAkC,UAAM,CACpC,CAAI,CAAC,YAAL,CAAoB,CAAI,CAAC,IAAL,CAAU,YAAV,EADgB,IAE9B,CAAA,CAAM,CAAG,CAAI,CAAC,YAAL,CAAoB,CAAI,CAAC,YAFJ,CAG9B,CAAQ,CAAG,CAAI,CAAC,IAAL,CAAU,QAAV,EAHmB,CAIpC,CAAI,CAAC,IAAL,CAAU,OAAV,CAAkB,CAAlB,CAA4B,SAAA,CAAO,CAAI,CAC/B,CAAM,CAAG,CADsB,EAE/B,CAAO,CAAC,SAAR,CAAkB,MAAlB,CAAyB,YAAzB,CAF+B,CAG/B,CAAI,CAAC,IAAL,CAAU,UAAV,CAAqB,CAArB,CAA8B,CAAC,WAAD,CAAc,QAAd,CAA9B,IAH+B,EAIxB,CAAM,CAAG,CAAE,CAJa,GAK/B,CAAO,CAAC,SAAR,CAAkB,MAAlB,CAAyB,WAAzB,CAL+B,CAM/B,CAAI,CAAC,IAAL,CAAU,UAAV,CAAqB,CAArB,CAA8B,CAAC,YAAD,CAAe,QAAf,CAA9B,IAN+B,CAQtC,CARD,CAJoC,CAahC,CAAI,CAAC,YAAL,CAduB,GACS,CAc5B,CAAQ,EAAI,CAAM,CAAG,CAdO,EAe5B,CAAa,CAAC,SAAd,CAAwB,MAAxB,CAA+B,QAA/B,CAf4B,CAgB5B,CAAI,CAAC,IAAL,CAAU,UAAV,CAAqB,CAArB,CAAoC,CAAC,SAAD,CAAY,QAAZ,CAApC,IAhB4B,GAiBrB,CAAC,CAAD,EAAa,CAAM,CAAG,CAAE,CAjBH,IAkB5B,CAAa,CAAC,KAAd,CAAoB,OAApB,CAA8B,OAlBF,CAmB5B,CAAa,CAAC,SAAd,CAAwB,MAAxB,CAA+B,SAA/B,CAnB4B,CAoB5B,CAAI,CAAC,IAAL,CAAU,UAAV,CAAqB,CAArB,CAAoC,CAAC,QAAD,CAAW,QAAX,CAApC,IApB4B,GAuB5B,CAAC,CAvB2B,GAwB5B,CAAa,CAAC,SAAd,CAAwB,MAAxB,CAA+B,QAA/B,CAxB4B,CAyB5B,CAAI,CAAC,IAAL,CAAU,UAAV,CAAqB,CAArB,CAAoC,CAAC,SAAD,CAAY,QAAZ,CAApC,IAzB4B,EA2BhC,CAAa,CAAC,KAAd,CAAoB,OAApB,CAA8B,MA3BE,qCA6BlB,CAAI,CAAC,cA7Ba,MA6BpC,+BAAS,CAAA,CAAT,SAAuC,CAAK,EAA5C,CA7BoC,+BA8BpC,CAAI,CAAC,YAAL,CAAoB,CAAI,CAAC,YAC5B,CA/BD,IAgCH,C,2CAEU,YACP,MAAM,CAAC,gBAAP,CAAwB,QAAxB,CAAkC,UAAM,CAC/B,CAAI,CAAC,cAD0B,GAEhC,CAAI,CAAC,cAAL,CAAsB,MAAM,CAAC,UAAP,CAAkB,UAAM,CAC1C,CAAI,CAAC,cAAL,CAAsB,IADoB,oCAExB,CAAI,CAAC,cAFmB,MAE1C,+BAAS,CAAA,CAAT,SAAuC,CAAK,EAA5C,CAF0C,+BAG1C,CAAI,CAAC,OAAL,EAH0C,CAI1C,CAAI,CAAC,WAAL,EAJ0C,CAK1C,CAAI,CAAC,UAAL,EACH,CANqB,CAMnB,GANmB,CAFU,CAUvC,CAVD,IAWH,C,iDAEa,YACV,QAAQ,CAAC,cAAT,CAAwB,MAAxB,EAAgC,gBAAhC,CAAiD,OAAjD,CAA0D,UAAM,oCAC1C,CAAI,CAAC,iBADqC,MAC5D,+BAAS,CAAA,CAAT,SAA0C,CAAK,EAA/C,CAD4D,+BAE5D,QAAQ,CAAC,IAAT,CAAc,SAAd,CAAwB,MAAxB,CAA+B,MAA/B,CACH,CAHD,IAIH,C,mCAEM,YACH,GAAI,CACA,KAAK,WAAL,EADA,CAEA,KAAK,WAAL,EAFA,CAGA,KAAK,cAAL,EAHA,CAIA,KAAK,eAAL,EAJA,CAKA,KAAK,UAAL,EALA,CAMA,KAAK,WAAL,EANA,CAOA,KAAK,gBAAL,EAPA,CAQA,KAAK,aAAL,EARA,CASA,KAAK,SAAL,EATA,CAUA,KAAK,cAAL,EAVA,CAWA,KAAK,gBAAL,EAXA,CAYA,KAAK,QAAL,EAZA,CAaA,KAAK,WAAL,EAbA,CAcA,KAAK,WAAL,EAdA,CAeA,KAAK,UAAL,EAfA,CAgBA,KAAK,UAAL,EAhBA,CAiBA,KAAK,iBAAL,EACH,CAAC,MAAO,CAAP,CAAY,CACV,OAAO,CAAC,KAAR,CAAc,CAAd,CACH,CAED,MAAM,CAAC,UAAP,CAAkB,UAAM,CACpB,CAAI,CAAC,OAAL,EADoB,CAEpB,CAAI,CAAC,WAAL,EAFoB,CAIpB,CAAI,CAAC,QAAL,EAJoB,CAKpB,CAAI,CAAC,QAAL,EALoB,CAMpB,CAAI,CAAC,WAAL,EACH,CAPD,CAOG,GAPH,CAQH,C,SAGC,SAAS,CAAG,UAAM,CACpB,GAAM,CAAA,CAAK,CAAG,GAAI,CAAA,KAAlB,CACA,CAAK,CAAC,IAAN,EACH,C,CAE2B,SAAxB,GAAA,QAAQ,CAAC,U,CAGT,QAAQ,CAAC,gBAAT,CAA0B,kBAA1B,CAA8C,SAA9C,I,CAFA,SAAS,E","file":"theme.min.js","sourcesContent":["class Util {\n forEach(elements, handler) {\n elements = elements || [];\n for (let i = 0; i < elements.length; i++) handler(elements[i]);\n }\n\n getScrollTop() {\n return (document.documentElement && document.documentElement.scrollTop) || document.body.scrollTop;\n }\n\n isMobile() {\n return window.matchMedia('only screen and (max-width: 680px)').matches;\n }\n\n isTocStatic() {\n return window.matchMedia('only screen and (max-width: 960px)').matches;\n }\n\n animateCSS(element, animation, reserved, callback) {\n if (!Array.isArray(animation)) animation = [animation];\n element.classList.add('animated', ...animation);\n const handler = () => {\n element.classList.remove('animated', ...animation);\n element.removeEventListener('animationend', handler);\n if (typeof callback === 'function') callback();\n };\n if (!reserved) element.addEventListener('animationend', handler, false);\n }\n}\n\nclass Theme {\n constructor() {\n this.config = window.config;\n this.data = this.config.data;\n this.isDark = document.body.getAttribute('theme') === 'dark';\n this.util = new Util();\n this.newScrollTop = this.util.getScrollTop();\n this.oldScrollTop = this.newScrollTop;\n this.scrollEventSet = new Set();\n this.resizeEventSet = new Set();\n this.switchThemeEventSet = new Set();\n this.clickMaskEventSet = new Set();\n if (window.objectFitImages) objectFitImages();\n }\n\n initSVGIcon() {\n this.util.forEach(document.querySelectorAll('[data-svg-src]'), $icon => {\n fetch($icon.getAttribute('data-svg-src'))\n .then(response => response.text())\n .then(svg => {\n const $temp = document.createElement('div');\n $temp.insertAdjacentHTML('afterbegin', svg);\n const $svg = $temp.firstChild;\n $svg.setAttribute('data-svg-src', $icon.getAttribute('data-svg-src'));\n $svg.classList.add('icon');\n const $titleElements = $svg.getElementsByTagName('title');\n if ($titleElements.length) $svg.removeChild($titleElements[0]);\n $icon.parentElement.replaceChild($svg, $icon);\n })\n .catch(err => { console.error(err); });\n });\n }\n\n initTwemoji() {\n if (this.config.twemoji) twemoji.parse(document.body);\n }\n\n initMenuMobile() {\n const $menuToggleMobile = document.getElementById('menu-toggle-mobile');\n const $menuMobile = document.getElementById('menu-mobile');\n $menuToggleMobile.addEventListener('click', () => {\n document.body.classList.toggle('blur');\n $menuToggleMobile.classList.toggle('active');\n $menuMobile.classList.toggle('active');\n }, false);\n this._menuMobileOnClickMask = this._menuMobileOnClickMask || (() => {\n $menuToggleMobile.classList.remove('active');\n $menuMobile.classList.remove('active');\n });\n this.clickMaskEventSet.add(this._menuMobileOnClickMask);\n }\n\n initSwitchTheme() {\n this.util.forEach(document.getElementsByClassName('theme-switch'), $themeSwitch => {\n $themeSwitch.addEventListener('click', () => {\n if (document.body.getAttribute('theme') === 'dark') document.body.setAttribute('theme', 'light');\n else document.body.setAttribute('theme', 'dark');\n this.isDark = !this.isDark;\n window.localStorage && localStorage.setItem('theme', this.isDark ? 'dark' : 'light');\n for (let event of this.switchThemeEventSet) event();\n }, false);\n });\n }\n\n initSearch() {\n const searchConfig = this.config.search;\n const isMobile = this.util.isMobile();\n if (!searchConfig || isMobile && this._searchMobileOnce || !isMobile && this._searchDesktopOnce) return;\n\n const maxResultLength = searchConfig.maxResultLength ? searchConfig.maxResultLength : 10;\n const snippetLength = searchConfig.snippetLength ? searchConfig.snippetLength : 50;\n const highlightTag = searchConfig.highlightTag ? searchConfig.highlightTag : 'em';\n\n const suffix = isMobile ? 'mobile' : 'desktop';\n const $header = document.getElementById(`header-${suffix}`);\n const $searchInput = document.getElementById(`search-input-${suffix}`);\n const $searchToggle = document.getElementById(`search-toggle-${suffix}`);\n const $searchLoading = document.getElementById(`search-loading-${suffix}`);\n const $searchClear = document.getElementById(`search-clear-${suffix}`);\n if (isMobile) {\n this._searchMobileOnce = true;\n $searchInput.addEventListener('focus', () => {\n document.body.classList.add('blur');\n $header.classList.add('open');\n }, false);\n document.getElementById('search-cancel-mobile').addEventListener('click', () => {\n $header.classList.remove('open');\n document.body.classList.remove('blur');\n document.getElementById('menu-toggle-mobile').classList.remove('active');\n document.getElementById('menu-mobile').classList.remove('active');\n $searchLoading.style.display = 'none';\n $searchClear.style.display = 'none';\n this._searchMobile && this._searchMobile.autocomplete.setVal('');\n }, false);\n $searchClear.addEventListener('click', () => {\n $searchClear.style.display = 'none';\n this._searchMobile && this._searchMobile.autocomplete.setVal('');\n }, false);\n this._searchMobileOnClickMask = this._searchMobileOnClickMask || (() => {\n $header.classList.remove('open');\n $searchLoading.style.display = 'none';\n $searchClear.style.display = 'none';\n this._searchMobile && this._searchMobile.autocomplete.setVal('');\n });\n this.clickMaskEventSet.add(this._searchMobileOnClickMask);\n } else {\n this._searchDesktopOnce = true;\n $searchToggle.addEventListener('click', () => {\n document.body.classList.add('blur');\n $header.classList.add('open');\n $searchInput.focus();\n }, false);\n $searchClear.addEventListener('click', () => {\n $searchClear.style.display = 'none';\n this._searchDesktop && this._searchDesktop.autocomplete.setVal('');\n }, false);\n this._searchDesktopOnClickMask = this._searchDesktopOnClickMask || (() => {\n $header.classList.remove('open');\n $searchLoading.style.display = 'none';\n $searchClear.style.display = 'none';\n this._searchDesktop && this._searchDesktop.autocomplete.setVal('');\n });\n this.clickMaskEventSet.add(this._searchDesktopOnClickMask);\n }\n $searchInput.addEventListener('input', () => {\n if ($searchInput.value === '') $searchClear.style.display = 'none';\n else $searchClear.style.display = 'inline';\n }, false);\n\n const initAutosearch = () => {\n const autosearch = autocomplete(`#search-input-${suffix}`, {\n hint: false,\n autoselect: true,\n dropdownMenuContainer: `#search-dropdown-${suffix}`,\n clearOnSelected: true,\n cssClasses: { noPrefix: true },\n debug: true,\n }, {\n name: 'search',\n source: (query, callback) => {\n $searchLoading.style.display = 'inline';\n $searchClear.style.display = 'none';\n const finish = (results) => {\n $searchLoading.style.display = 'none';\n $searchClear.style.display = 'inline';\n callback(results);\n };\n if (searchConfig.type === 'lunr') {\n const search = () => {\n if (lunr.queryHandler) query = lunr.queryHandler(query);\n const results = {};\n this._index.search(query).forEach(({ ref, matchData: { metadata } }) => {\n const matchData = this._indexData[ref];\n let { uri, title, content: context } = matchData;\n if (results[uri]) return;\n let position = 0;\n Object.values(metadata).forEach(({ content }) => {\n if (content) {\n const matchPosition = content.position[0][0];\n if (matchPosition < position || position === 0) position = matchPosition;\n }\n });\n position -= snippetLength / 5;\n if (position > 0) {\n position += context.substr(position, 20).lastIndexOf(' ') + 1;\n context = '...' + context.substr(position, snippetLength);\n } else {\n context = context.substr(0, snippetLength);\n }\n Object.keys(metadata).forEach(key => {\n title = title.replace(new RegExp(`(${key})`, 'gi'), `<${highlightTag}>$1${highlightTag}>`);\n context = context.replace(new RegExp(`(${key})`, 'gi'), `<${highlightTag}>$1${highlightTag}>`);\n });\n results[uri] = {\n 'uri': uri,\n 'title' : title,\n 'date' : matchData.date,\n 'context' : context,\n };\n });\n return Object.values(results).slice(0, maxResultLength);\n }\n if (!this._index) {\n fetch(searchConfig.lunrIndexURL)\n .then(response => response.json())\n .then(data => {\n const indexData = {};\n this._index = lunr(function () {\n if (searchConfig.lunrLanguageCode) this.use(lunr[searchConfig.lunrLanguageCode]);\n this.ref('objectID');\n this.field('title', { boost: 50 });\n this.field('tags', { boost: 20 });\n this.field('categories', { boost: 20 });\n this.field('content', { boost: 10 });\n this.metadataWhitelist = ['position'];\n data.forEach((record) => {\n indexData[record.objectID] = record;\n this.add(record);\n });\n });\n this._indexData = indexData;\n finish(search());\n }).catch(err => {\n console.error(err);\n finish([]);\n });\n } else finish(search());\n } else if (searchConfig.type === 'algolia') {\n this._algoliaIndex = this._algoliaIndex || algoliasearch(searchConfig.algoliaAppID, searchConfig.algoliaSearchKey).initIndex(searchConfig.algoliaIndex);\n this._algoliaIndex\n .search(query, {\n offset: 0,\n length: maxResultLength * 8,\n attributesToHighlight: ['title'],\n attributesToSnippet: [`content:${snippetLength}`],\n highlightPreTag: `<${highlightTag}>`,\n highlightPostTag: `${highlightTag}>`,\n })\n .then(({ hits }) => {\n const results = {};\n hits.forEach(({ uri, date, _highlightResult: { title }, _snippetResult: { content } }) => {\n if (results[uri] && results[uri].context.length > content.value) return;\n results[uri] = {\n uri: uri,\n title: title.value,\n date: date,\n context: content.value,\n };\n });\n finish(Object.values(results).slice(0, maxResultLength));\n })\n .catch(err => {\n console.error(err);\n finish([]);\n });\n }\n },\n templates: {\n suggestion: ({ title, date, context }) => `${title} ${date}
${context}
`,\n empty: ({ query }) => `${searchConfig.noResultsFound}: \"${query}\"
`,\n footer: ({}) => {\n const { searchType, icon, href } = searchConfig.type === 'algolia' ? {\n searchType: 'algolia',\n icon: ' ',\n href: 'https://www.algolia.com/',\n } : {\n searchType: 'Lunr.js',\n icon: '',\n href: 'https://lunrjs.com/',\n };\n return ``;},\n },\n });\n autosearch.on('autocomplete:selected', (_event, suggestion, _dataset, _context) => {\n window.location.assign(suggestion.uri);\n });\n if (isMobile) this._searchMobile = autosearch;\n else this._searchDesktop = autosearch;\n };\n if (searchConfig.lunrSegmentitURL && !document.getElementById('lunr-segmentit')) {\n const script = document.createElement('script');\n script.id = 'lunr-segmentit';\n script.type = 'text/javascript';\n script.src = searchConfig.lunrSegmentitURL;\n script.async = true;\n if (script.readyState) {\n script.onreadystatechange = () => {\n if (script.readyState == 'loaded' || script.readyState == 'complete'){\n script.onreadystatechange = null;\n initAutosearch();\n }\n };\n } else {\n script.onload = () => {\n initAutosearch();\n };\n }\n document.body.appendChild(script);\n } else initAutosearch();\n }\n\n initDetails() {\n this.util.forEach(document.getElementsByClassName('details'), $details => {\n const $summary = $details.getElementsByClassName('details-summary')[0];\n $summary.addEventListener('click', () => {\n $details.classList.toggle('open');\n }, false);\n });\n }\n\n initLightGallery() {\n if (this.config.lightGallery) lightGallery(document.getElementById('content'), this.config.lightGallery);\n }\n\n initHighlight() {\n this.util.forEach(document.querySelectorAll('.highlight > pre.chroma'), $preChroma => {\n const $chroma = document.createElement('div');\n $chroma.className = $preChroma.className;\n const $table = document.createElement('table');\n $chroma.appendChild($table);\n const $tbody = document.createElement('tbody');\n $table.appendChild($tbody);\n const $tr = document.createElement('tr');\n $tbody.appendChild($tr);\n const $td = document.createElement('td');\n $tr.appendChild($td);\n $preChroma.parentElement.replaceChild($chroma, $preChroma);\n $td.appendChild($preChroma);\n });\n this.util.forEach(document.querySelectorAll('.highlight > .chroma'), $chroma => {\n const $codeElements = $chroma.querySelectorAll('pre.chroma > code');\n if ($codeElements.length) {\n const $code = $codeElements[$codeElements.length - 1];\n const $header = document.createElement('div');\n $header.className = 'code-header ' + $code.className.toLowerCase();\n const $title = document.createElement('span');\n $title.classList.add('code-title');\n $title.insertAdjacentHTML('afterbegin', ' ');\n $title.addEventListener('click', () => {\n $chroma.classList.toggle('open');\n }, false);\n $header.appendChild($title);\n const $ellipses = document.createElement('span');\n $ellipses.insertAdjacentHTML('afterbegin', ' ');\n $ellipses.classList.add('ellipses');\n $ellipses.addEventListener('click', () => {\n $chroma.classList.add('open');\n }, false);\n $header.appendChild($ellipses);\n const $copy = document.createElement('span');\n $copy.insertAdjacentHTML('afterbegin', ' ');\n $copy.classList.add('copy');\n const code = $code.innerText;\n if (this.config.code.maxShownLines < 0 || code.split('\\n').length < this.config.code.maxShownLines + 2) $chroma.classList.add('open');\n if (this.config.code.copyTitle) {\n $copy.setAttribute('data-clipboard-text', code);\n $copy.title = this.config.code.copyTitle;\n const clipboard = new ClipboardJS($copy);\n clipboard.on('success', _e => {\n this.util.animateCSS($code, 'flash');\n });\n $header.appendChild($copy);\n }\n $chroma.insertBefore($header, $chroma.firstChild);\n }\n });\n }\n\n initTable() {\n this.util.forEach(document.querySelectorAll('.content table'), $table => {\n const $wrapper = document.createElement('div');\n $wrapper.className = 'table-wrapper';\n $table.parentElement.replaceChild($wrapper, $table);\n $wrapper.appendChild($table);\n });\n }\n\n initHeaderLink() {\n for (let num = 1; num <= 6; num++) {\n this.util.forEach(document.querySelectorAll('.single .content > h' + num), $header => {\n $header.classList.add('headerLink');\n $header.insertAdjacentHTML('afterbegin', ``);\n });\n }\n }\n\n initToc() {\n const $tocCore = document.getElementById('TableOfContents');\n if ($tocCore === null) return;\n if (document.getElementById('toc-static').getAttribute('kept') || this.util.isTocStatic()) {\n const $tocContentStatic = document.getElementById('toc-content-static');\n if ($tocCore.parentElement !== $tocContentStatic) {\n $tocCore.parentElement.removeChild($tocCore);\n $tocContentStatic.appendChild($tocCore);\n }\n if (this._tocOnScroll) this.scrollEventSet.delete(this._tocOnScroll);\n } else {\n const $tocContentAuto = document.getElementById('toc-content-auto');\n if ($tocCore.parentElement !== $tocContentAuto) {\n $tocCore.parentElement.removeChild($tocCore);\n $tocContentAuto.appendChild($tocCore);\n }\n const $toc = document.getElementById('toc-auto');\n const $page = document.getElementsByClassName('page')[0];\n const rect = $page.getBoundingClientRect();\n $toc.style.left = `${rect.left + rect.width + 20}px`;\n $toc.style.maxWidth = `${$page.getBoundingClientRect().left - 20}px`;\n $toc.style.visibility = 'visible';\n const $tocLinkElements = $tocCore.querySelectorAll('a:first-child');\n const $tocLiElements = $tocCore.getElementsByTagName('li');\n const $headerLinkElements = document.getElementsByClassName('headerLink');\n const headerIsFixed = document.body.getAttribute('header-desktop') !== 'normal';\n const headerHeight = document.getElementById('header-desktop').offsetHeight;\n const TOP_SPACING = 20 + (headerIsFixed ? headerHeight : 0);\n const minTocTop = $toc.offsetTop;\n const minScrollTop = minTocTop - TOP_SPACING + (headerIsFixed ? 0 : headerHeight);\n this._tocOnScroll = this._tocOnScroll || (() => {\n const footerTop = document.getElementById('post-footer').offsetTop;\n const maxTocTop = footerTop - $toc.getBoundingClientRect().height;\n const maxScrollTop = maxTocTop - TOP_SPACING + (headerIsFixed ? 0 : headerHeight);\n if (this.newScrollTop < minScrollTop) {\n $toc.style.position = 'absolute';\n $toc.style.top = `${minTocTop}px`;\n } else if (this.newScrollTop > maxScrollTop) {\n $toc.style.position = 'absolute';\n $toc.style.top = `${maxTocTop}px`;\n } else {\n $toc.style.position = 'fixed';\n $toc.style.top = `${TOP_SPACING}px`;\n }\n\n this.util.forEach($tocLinkElements, $tocLink => { $tocLink.classList.remove('active'); });\n this.util.forEach($tocLiElements, $tocLi => { $tocLi.classList.remove('has-active'); });\n const INDEX_SPACING = 20 + (headerIsFixed ? headerHeight : 0);\n let activeTocIndex = $headerLinkElements.length - 1;\n for (let i = 0; i < $headerLinkElements.length - 1; i++) {\n const thisTop = $headerLinkElements[i].getBoundingClientRect().top;\n const nextTop = $headerLinkElements[i + 1].getBoundingClientRect().top;\n if ((i == 0 && thisTop > INDEX_SPACING)\n || (thisTop <= INDEX_SPACING && nextTop > INDEX_SPACING)) {\n activeTocIndex = i;\n break;\n }\n }\n if (activeTocIndex !== -1) {\n $tocLinkElements[activeTocIndex].classList.add('active');\n let $parent = $tocLinkElements[activeTocIndex].parentElement;\n while ($parent !== $tocCore) {\n $parent.classList.add('has-active');\n $parent = $parent.parentElement.parentElement;\n }\n }\n });\n this._tocOnScroll();\n this.scrollEventSet.add(this._tocOnScroll);\n }\n }\n\n initMath() {\n if (this.config.math) renderMathInElement(document.body, this.config.math);\n }\n\n initMermaid() {\n const $mermaidElements = document.getElementsByClassName('mermaid');\n if ($mermaidElements.length) {\n mermaid.initialize({startOnLoad: false, theme: 'null'});\n this.util.forEach($mermaidElements, $mermaid => {\n mermaid.mermaidAPI.render('svg-' + $mermaid.id, this.data[$mermaid.id], svgCode => {\n $mermaid.insertAdjacentHTML('afterbegin', svgCode);\n }, $mermaid);\n });\n }\n }\n\n initEcharts() {\n this._echartsOnSwitchTheme = this._echartsOnSwitchTheme || (() => {\n this._echartsArr = this._echartsArr || [];\n for (let i = 0; i < this._echartsArr.length; i++) {\n this._echartsArr[i].dispose();\n }\n this._echartsArr = [];\n this.util.forEach(document.getElementsByClassName('echarts'), $echarts => {\n const chart = echarts.init($echarts, this.isDark ? 'dark' : 'macarons', {renderer: 'svg'});\n chart.setOption(JSON.parse(this.data[$echarts.id]));\n this._echartsArr.push(chart);\n });\n });\n this.switchThemeEventSet.add(this._echartsOnSwitchTheme);\n this._echartsOnSwitchTheme();\n this._echartsOnResize = this._echartsOnResize || (() => {\n for (let i = 0; i < this._echartsArr.length; i++) {\n this._echartsArr[i].resize();\n }\n });\n this.resizeEventSet.add(this._echartsOnResize);\n }\n\n initMapbox() {\n if (this.config.mapbox) {\n mapboxgl.accessToken = this.config.mapbox.accessToken;\n mapboxgl.setRTLTextPlugin(this.config.mapbox.RTLTextPlugin);\n this._mapboxArr = this._mapboxArr || [];\n this.util.forEach(document.getElementsByClassName('mapbox'), $mapbox => {\n const { lng, lat, zoom, lightStyle, darkStyle, marked, navigation, geolocate, scale, fullscreen } = this.data[$mapbox.id];\n const mapbox = new mapboxgl.Map({\n container: $mapbox,\n center: [lng, lat],\n zoom: zoom,\n minZoom: .2,\n style: this.isDark ? darkStyle : lightStyle,\n attributionControl: false,\n });\n if (marked) {\n new mapboxgl.Marker().setLngLat([lng, lat]).addTo(mapbox);\n }\n if (navigation) {\n mapbox.addControl(new mapboxgl.NavigationControl(), 'bottom-right');\n }\n if (geolocate) {\n mapbox.addControl(new mapboxgl.GeolocateControl({\n positionOptions: {\n enableHighAccuracy: true,\n },\n showUserLocation: true,\n trackUserLocation: true,\n }), 'bottom-right');\n }\n if (scale) {\n mapbox.addControl(new mapboxgl.ScaleControl());\n }\n if (fullscreen) {\n mapbox.addControl(new mapboxgl.FullscreenControl());\n }\n mapbox.addControl(new MapboxLanguage());\n this._mapboxArr.push(mapbox);\n });\n this._mapboxOnSwitchTheme = this._mapboxOnSwitchTheme || (() => {\n this.util.forEach(this._mapboxArr, mapbox => {\n const $mapbox = mapbox.getContainer();\n const { lightStyle, darkStyle } = this.data[$mapbox.id];\n mapbox.setStyle(this.isDark ? darkStyle : lightStyle);\n mapbox.addControl(new MapboxLanguage());\n });\n });\n this.switchThemeEventSet.add(this._mapboxOnSwitchTheme);\n }\n }\n\n initTypeit() {\n if (this.config.typeit) {\n const typeitConfig = this.config.typeit;\n const speed = typeitConfig.speed ? typeitConfig.speed : 100;\n const cursorSpeed = typeitConfig.cursorSpeed ? typeitConfig.cursorSpeed : 1000;\n const cursorChar = typeitConfig.cursorChar ? typeitConfig.cursorChar : '|';\n Object.values(typeitConfig.data).forEach(group => {\n const typeone = (i) => {\n const id = group[i];\n const instance = new TypeIt(`#${id}`, {\n strings: this.data[id],\n speed: speed,\n lifeLike: true,\n cursorSpeed: cursorSpeed,\n cursorChar: cursorChar,\n waitUntilVisible: true,\n afterComplete: () => {\n if (i === group.length - 1) {\n if (typeitConfig.duration >= 0) window.setTimeout(() => {\n instance.destroy();\n }, typeitConfig.duration);\n return;\n }\n instance.destroy();\n typeone(i + 1);\n },\n }).go();\n };\n typeone(0);\n });\n }\n }\n\n initComment() {\n if (this.config.comment) {\n if (this.config.comment.gitalk) {\n this.config.comment.gitalk.body = decodeURI(window.location.href);\n const gitalk = new Gitalk(this.config.comment.gitalk);\n gitalk.render('gitalk');\n }\n if (this.config.comment.valine) new Valine(this.config.comment.valine);\n if (this.config.comment.utterances) {\n const utterancesConfig = this.config.comment.utterances;\n const script = document.createElement('script');\n script.src = 'https://utteranc.es/client.js';\n script.type = 'text/javascript';\n script.setAttribute('repo', utterancesConfig.repo);\n script.setAttribute('issue-term', utterancesConfig.issueTerm);\n if (utterancesConfig.label) script.setAttribute('label', utterancesConfig.label);\n script.setAttribute('theme', this.isDark ? utterancesConfig.darkTheme : utterancesConfig.lightTheme);\n script.crossOrigin = 'anonymous';\n script.async = true;\n document.getElementById('utterances').appendChild(script);\n this._utterancesOnSwitchTheme = this._utterancesOnSwitchTheme || (() => {\n const message = {\n type: 'set-theme',\n theme: this.isDark ? utterancesConfig.darkTheme : utterancesConfig.lightTheme,\n };\n const iframe = document.querySelector('.utterances-frame');\n iframe.contentWindow.postMessage(message, 'https://utteranc.es');\n });\n this.switchThemeEventSet.add(this._utterancesOnSwitchTheme);\n }\n }\n }\n\n initSmoothScroll() {\n if (SmoothScroll) new SmoothScroll('[href^=\"#\"]', { speed: 300, speedAsDuration: true, header: '#header-desktop' });\n }\n\n initCookieconsent() {\n if (this.config.cookieconsent) cookieconsent.initialise(this.config.cookieconsent);\n }\n\n onScroll() {\n const $headers = [];\n if (document.body.getAttribute('header-desktop') === 'auto') $headers.push(document.getElementById('header-desktop'));\n if (document.body.getAttribute('header-mobile') === 'auto') $headers.push(document.getElementById('header-mobile'));\n if (document.getElementById('comments')) {\n const $viewComments = document.getElementById('view-comments');\n $viewComments.href = `#comments`;\n $viewComments.style.display = 'block';\n }\n const $fixedButtons = document.getElementById('fixed-buttons');\n const ACCURACY = 20, MINIMUM = 100;\n window.addEventListener('scroll', () => {\n this.newScrollTop = this.util.getScrollTop();\n const scroll = this.newScrollTop - this.oldScrollTop;\n const isMobile = this.util.isMobile();\n this.util.forEach($headers, $header => {\n if (scroll > ACCURACY) {\n $header.classList.remove('fadeInDown');\n this.util.animateCSS($header, ['fadeOutUp', 'faster'], true);\n } else if (scroll < - ACCURACY) {\n $header.classList.remove('fadeOutUp');\n this.util.animateCSS($header, ['fadeInDown', 'faster'], true);\n }\n });\n if (this.newScrollTop > MINIMUM) {\n if (isMobile && scroll > ACCURACY) {\n $fixedButtons.classList.remove('fadeIn');\n this.util.animateCSS($fixedButtons, ['fadeOut', 'faster'], true);\n } else if (!isMobile || scroll < - ACCURACY) {\n $fixedButtons.style.display = 'block';\n $fixedButtons.classList.remove('fadeOut');\n this.util.animateCSS($fixedButtons, ['fadeIn', 'faster'], true);\n }\n } else {\n if (!isMobile) {\n $fixedButtons.classList.remove('fadeIn');\n this.util.animateCSS($fixedButtons, ['fadeOut', 'faster'], true);\n }\n $fixedButtons.style.display = 'none';\n }\n for (let event of this.scrollEventSet) event();\n this.oldScrollTop = this.newScrollTop;\n }, false);\n }\n\n onResize() {\n window.addEventListener('resize', () => {\n if (!this._resizeTimeout) {\n this._resizeTimeout = window.setTimeout(() => {\n this._resizeTimeout = null;\n for (let event of this.resizeEventSet) event();\n this.initToc();\n this.initMermaid();\n this.initSearch();\n }, 100);\n }\n }, false);\n }\n\n onClickMask() {\n document.getElementById('mask').addEventListener('click', () => {\n for (let event of this.clickMaskEventSet) event();\n document.body.classList.remove('blur');\n }, false);\n }\n\n init() {\n try {\n this.initSVGIcon();\n this.initTwemoji();\n this.initMenuMobile();\n this.initSwitchTheme();\n this.initSearch();\n this.initDetails();\n this.initLightGallery();\n this.initHighlight();\n this.initTable();\n this.initHeaderLink();\n this.initSmoothScroll();\n this.initMath();\n this.initMermaid();\n this.initEcharts();\n this.initTypeit();\n this.initMapbox();\n this.initCookieconsent();\n } catch (err) {\n console.error(err);\n }\n\n window.setTimeout(() => {\n this.initToc();\n this.initComment();\n\n this.onScroll();\n this.onResize();\n this.onClickMask();\n }, 100);\n }\n}\n\nconst themeInit = () => {\n const theme = new Theme();\n theme.init();\n};\n\nif (document.readyState !== 'loading') {\n themeInit();\n} else {\n document.addEventListener('DOMContentLoaded', themeInit, false);\n}\n"]}
\ No newline at end of file
diff --git a/public/lib/animate/animate.min.eff4e5d24eb9393bc34afb6eabb68f47b69ad1a0b3ed92aa1ec6cc44bc61cee7a5756fbd319a427bd2c1d5ce5406e352.css b/public/lib/animate/animate.min.eff4e5d24eb9393bc34afb6eabb68f47b69ad1a0b3ed92aa1ec6cc44bc61cee7a5756fbd319a427bd2c1d5ce5406e352.css
new file mode 100644
index 00000000..f3f10688
--- /dev/null
+++ b/public/lib/animate/animate.min.eff4e5d24eb9393bc34afb6eabb68f47b69ad1a0b3ed92aa1ec6cc44bc61cee7a5756fbd319a427bd2c1d5ce5406e352.css
@@ -0,0 +1,11 @@
+@charset "UTF-8";
+
+/*!
+ * animate.css -https://daneden.github.io/animate.css/
+ * Version - 3.7.2
+ * Licensed under the MIT license - http://opensource.org/licenses/MIT
+ *
+ * Copyright (c) 2019 Daniel Eden
+ */
+
+@-webkit-keyframes bounce{0%,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}@keyframes bounce{0%,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shake{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}.headShake{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-name:headShake;animation-name:headShake}@-webkit-keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}.swing{-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.jello{-webkit-animation-name:jello;animation-name:jello;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}.heartBeat{-webkit-animation-name:heartBeat;animation-name:heartBeat;-webkit-animation-duration:1.3s;animation-duration:1.3s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}@-webkit-keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}.bounceIn{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.bounceOut{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{0%{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}.flipOutX{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}.flipOutY{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}@keyframes lightSpeedOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateIn{0%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{0%{-webkit-transform-origin:center;transform-origin:center;opacity:1}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}@keyframes rotateOut{0%{-webkit-transform-origin:center;transform-origin:center;opacity:1}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}@keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}@keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes jackInTheBox{0%{opacity:0;-webkit-transform:scale(.1) rotate(30deg);transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes jackInTheBox{0%{opacity:0;-webkit-transform:scale(.1) rotate(30deg);transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.jackInTheBox{-webkit-animation-name:jackInTheBox;animation-name:jackInTheBox}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}@keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}@-webkit-keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.delay-1s{-webkit-animation-delay:1s;animation-delay:1s}.animated.delay-2s{-webkit-animation-delay:2s;animation-delay:2s}.animated.delay-3s{-webkit-animation-delay:3s;animation-delay:3s}.animated.delay-4s{-webkit-animation-delay:4s;animation-delay:4s}.animated.delay-5s{-webkit-animation-delay:5s;animation-delay:5s}.animated.fast{-webkit-animation-duration:.8s;animation-duration:.8s}.animated.faster{-webkit-animation-duration:.5s;animation-duration:.5s}.animated.slow{-webkit-animation-duration:2s;animation-duration:2s}.animated.slower{-webkit-animation-duration:3s;animation-duration:3s}@media (prefers-reduced-motion:reduce),(print){.animated{-webkit-animation-duration:1ms!important;animation-duration:1ms!important;-webkit-transition-duration:1ms!important;transition-duration:1ms!important;-webkit-animation-iteration-count:1!important;animation-iteration-count:1!important}}
\ No newline at end of file
diff --git a/public/lib/autocomplete/autocomplete.min.f35302a0961c40c63ea7fff0368ccd63f2464e79b9fa3ab3dfa325269af34e87b6c444ab682194659094a6a9f51aa0a8.js b/public/lib/autocomplete/autocomplete.min.f35302a0961c40c63ea7fff0368ccd63f2464e79b9fa3ab3dfa325269af34e87b6c444ab682194659094a6a9f51aa0a8.js
new file mode 100644
index 00000000..e115402f
--- /dev/null
+++ b/public/lib/autocomplete/autocomplete.min.f35302a0961c40c63ea7fff0368ccd63f2464e79b9fa3ab3dfa325269af34e87b6c444ab682194659094a6a9f51aa0a8.js
@@ -0,0 +1,7 @@
+/*!
+ * autocomplete.js 0.37.1
+ * https://github.com/algolia/autocomplete.js
+ * Copyright 2020 Algolia, Inc. and other contributors; Licensed MIT
+ */
+!function(a,b){"object"==typeof exports&&"object"==typeof module?module.exports=b():"function"==typeof define&&define.amd?define([],b):"object"==typeof exports?exports.autocomplete=b():a.autocomplete=b()}(this,function(){return function(a){function b(d){if(c[d])return c[d].exports;var e=c[d]={exports:{},id:d,loaded:!1};return a[d].call(e.exports,e,e.exports,b),e.loaded=!0,e.exports}var c={};return b.m=a,b.c=c,b.p="",b(0)}([function(a,b,c){"use strict";a.exports=c(1)},function(a,b,c){"use strict";function d(a,b,c,d){c=f.isArray(c)?c:[].slice.call(arguments,2);var j=e(a).each(function(a,f){var j=e(f),k=new i({el:j}),l=d||new h({input:j,eventBus:k,dropdownMenuContainer:b.dropdownMenuContainer,hint:void 0===b.hint||!!b.hint,minLength:b.minLength,autoselect:b.autoselect,autoselectOnBlur:b.autoselectOnBlur,tabAutocomplete:b.tabAutocomplete,openOnFocus:b.openOnFocus,templates:b.templates,debug:b.debug,clearOnSelected:b.clearOnSelected,cssClasses:b.cssClasses,datasets:c,keyboardShortcuts:b.keyboardShortcuts,appendTo:b.appendTo,autoWidth:b.autoWidth,ariaLabel:b.ariaLabel||f.getAttribute("aria-label")});j.data(g,l)});return j.autocomplete={},f.each(["open","close","getVal","setVal","destroy","getWrapper"],function(a){j.autocomplete[a]=function(){var b,c=arguments;return j.each(function(d,f){var h=e(f).data(g);b=h[a].apply(h,c)}),b}}),j}var e=c(2);c(3).element=e;var f=c(4);f.isArray=e.isArray,f.isFunction=e.isFunction,f.isObject=e.isPlainObject,f.bind=e.proxy,f.each=function(a,b){function c(a,c){return b(c,a)}e.each(a,c)},f.map=e.map,f.mixin=e.extend,f.Event=e.Event;var g="aaAutocomplete",h=c(5),i=c(6);d.sources=h.sources,d.escapeHighlightedString=f.escapeHighlightedString;var j="autocomplete"in window,k=window.autocomplete;d.noConflict=function(){return j?window.autocomplete=k:delete window.autocomplete,d},a.exports=d},function(a,b){!function(b,c){a.exports=function(a){var b=function(){function b(a){return null==a?String(a):V[W.call(a)]||"object"}function c(a){return"function"==b(a)}function d(a){return null!=a&&a==a.window}function e(a){return null!=a&&a.nodeType==a.DOCUMENT_NODE}function f(a){return"object"==b(a)}function g(a){return f(a)&&!d(a)&&Object.getPrototypeOf(a)==Object.prototype}function h(a){var b=!!a&&"length"in a&&a.length,c=z.type(a);return"function"!=c&&!d(a)&&("array"==c||0===b||"number"==typeof b&&b>0&&b-1 in a)}function i(a){return F.call(a,function(a){return null!=a})}function j(a){return a.length>0?z.fn.concat.apply([],a):a}function k(a){return a.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function l(a){return a in J?J[a]:J[a]=new RegExp("(^|\\s)"+a+"(\\s|$)")}function m(a,b){return"number"!=typeof b||K[k(a)]?b:b+"px"}function n(a){var b,c;return I[a]||(b=H.createElement(a),H.body.appendChild(b),c=getComputedStyle(b,"").getPropertyValue("display"),b.parentNode.removeChild(b),"none"==c&&(c="block"),I[a]=c),I[a]}function o(a){return"children"in a?G.call(a.children):z.map(a.childNodes,function(a){if(1==a.nodeType)return a})}function p(a,b){var c,d=a?a.length:0;for(c=0;c]*>/,M=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,N=/^(?:body|html)$/i,O=["val","css","html","text","data","width","height","offset"],P=["after","prepend","before","append"],Q=H.createElement("table"),R=H.createElement("tr"),S={tr:H.createElement("tbody"),tbody:Q,thead:Q,tfoot:Q,td:R,th:R,"*":H.createElement("div")},T=/complete|loaded|interactive/,U=/^[\w-]*$/,V={},W=V.toString,X={},Y=H.createElement("div"),Z={tabindex:"tabIndex",readonly:"readOnly",for:"htmlFor",class:"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},$=Array.isArray||function(a){return a instanceof Array};return X.matches=function(a,b){if(!b||!a||1!==a.nodeType)return!1;var c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.matchesSelector;if(c)return c.call(a,b);var d,e=a.parentNode,f=!e;return f&&(e=Y).appendChild(a),d=~X.qsa(e,b).indexOf(a),f&&Y.removeChild(a),d},B=function(a){return a.replace(/-+(.)?/g,function(a,b){return b?b.toUpperCase():""})},C=function(a){return F.call(a,function(b,c){return a.indexOf(b)==c})},X.fragment=function(a,b,c){var d,e,f;return M.test(a)&&(d=z(H.createElement(RegExp.$1))),d||(a.replace&&(a=a.replace(/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,"<$1>$2>")),b===x&&(b=L.test(a)&&RegExp.$1),b in S||(b="*"),f=S[b],f.innerHTML=""+a,d=z.each(G.call(f.childNodes),function(){f.removeChild(this)})),g(c)&&(e=z(d),z.each(c,function(a,b){O.indexOf(a)>-1?e[a](b):e.attr(a,b)})),d},X.Z=function(a,b){return new p(a,b)},X.isZ=function(a){return a instanceof X.Z},X.init=function(a,b){var d;if(!a)return X.Z();if("string"==typeof a)if(a=a.trim(),"<"==a[0]&&L.test(a))d=X.fragment(a,RegExp.$1,b),a=null;else{if(b!==x)return z(b).find(a);d=X.qsa(H,a)}else{if(c(a))return z(H).ready(a);if(X.isZ(a))return a;if($(a))d=i(a);else if(f(a))d=[a],a=null;else if(L.test(a))d=X.fragment(a.trim(),RegExp.$1,b),a=null;else{if(b!==x)return z(b).find(a);d=X.qsa(H,a)}}return X.Z(d,a)},z=function(a,b){return X.init(a,b)},z.extend=function(a){var b,c=G.call(arguments,1);return"boolean"==typeof a&&(b=a,a=c.shift()),c.forEach(function(c){q(a,c,b)}),a},X.qsa=function(a,b){var c,d="#"==b[0],e=!d&&"."==b[0],f=d||e?b.slice(1):b,g=U.test(f);return a.getElementById&&g&&d?(c=a.getElementById(f))?[c]:[]:1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType?[]:G.call(g&&!d&&a.getElementsByClassName?e?a.getElementsByClassName(f):a.getElementsByTagName(b):a.querySelectorAll(b))},z.contains=H.documentElement.contains?function(a,b){return a!==b&&a.contains(b)}:function(a,b){for(;b&&(b=b.parentNode);)if(b===a)return!0;return!1},z.type=b,z.isFunction=c,z.isWindow=d,z.isArray=$,z.isPlainObject=g,z.isEmptyObject=function(a){var b;for(b in a)return!1;return!0},z.isNumeric=function(a){var b=Number(a),c=typeof a;return null!=a&&"boolean"!=c&&("string"!=c||a.length)&&!isNaN(b)&&isFinite(b)||!1},z.inArray=function(a,b,c){return D.indexOf.call(b,a,c)},z.camelCase=B,z.trim=function(a){return null==a?"":String.prototype.trim.call(a)},z.uuid=0,z.support={},z.expr={},z.noop=function(){},z.map=function(a,b){var c,d,e,f=[];if(h(a))for(d=0;d=0?a:a+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each(function(){null!=this.parentNode&&this.parentNode.removeChild(this)})},each:function(a){return D.every.call(this,function(b,c){return a.call(b,c,b)!==!1}),this},filter:function(a){return c(a)?this.not(this.not(a)):z(F.call(this,function(b){return X.matches(b,a)}))},add:function(a,b){return z(C(this.concat(z(a,b))))},is:function(a){return this.length>0&&X.matches(this[0],a)},not:function(a){var b=[];if(c(a)&&a.call!==x)this.each(function(c){a.call(this,c)||b.push(this)});else{var d="string"==typeof a?this.filter(a):h(a)&&c(a.item)?G.call(a):z(a);this.forEach(function(a){d.indexOf(a)<0&&b.push(a)})}return z(b)},has:function(a){return this.filter(function(){return f(a)?z.contains(this,a):z(this).find(a).size()})},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){var a=this[0];return a&&!f(a)?a:z(a)},last:function(){var a=this[this.length-1];return a&&!f(a)?a:z(a)},find:function(a){var b=this;return a?"object"==typeof a?z(a).filter(function(){var a=this;return D.some.call(b,function(b){return z.contains(b,a)})}):1==this.length?z(X.qsa(this[0],a)):this.map(function(){return X.qsa(this,a)}):z()},closest:function(a,b){var c=[],d="object"==typeof a&&z(a);return this.each(function(f,g){for(;g&&!(d?d.indexOf(g)>=0:X.matches(g,a));)g=g!==b&&!e(g)&&g.parentNode;g&&c.indexOf(g)<0&&c.push(g)}),z(c)},parents:function(a){for(var b=[],c=this;c.length>0;)c=z.map(c,function(a){if((a=a.parentNode)&&!e(a)&&b.indexOf(a)<0)return b.push(a),a});return r(b,a)},parent:function(a){return r(C(this.pluck("parentNode")),a)},children:function(a){return r(this.map(function(){return o(this)}),a)},contents:function(){return this.map(function(){return this.contentDocument||G.call(this.childNodes)})},siblings:function(a){return r(this.map(function(a,b){return F.call(o(b.parentNode),function(a){return a!==b})}),a)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(a){return z.map(this,function(b){return b[a]})},show:function(){return this.each(function(){"none"==this.style.display&&(this.style.display=""),"none"==getComputedStyle(this,"").getPropertyValue("display")&&(this.style.display=n(this.nodeName))})},replaceWith:function(a){return this.before(a).remove()},wrap:function(a){var b=c(a);if(this[0]&&!b)var d=z(a).get(0),e=d.parentNode||this.length>1;return this.each(function(c){z(this).wrapAll(b?a.call(this,c):e?d.cloneNode(!0):d)})},wrapAll:function(a){if(this[0]){z(this[0]).before(a=z(a));for(var b;(b=a.children()).length;)a=b.first();z(a).append(this)}return this},wrapInner:function(a){var b=c(a);return this.each(function(c){var d=z(this),e=d.contents(),f=b?a.call(this,c):a;e.length?e.wrapAll(f):d.append(f)})},unwrap:function(){return this.parent().each(function(){z(this).replaceWith(z(this).children())}),this},clone:function(){return this.map(function(){return this.cloneNode(!0)})},hide:function(){return this.css("display","none")},toggle:function(a){return this.each(function(){var b=z(this);(a===x?"none"==b.css("display"):a)?b.show():b.hide()})},prev:function(a){return z(this.pluck("previousElementSibling")).filter(a||"*")},next:function(a){return z(this.pluck("nextElementSibling")).filter(a||"*")},html:function(a){return 0 in arguments?this.each(function(b){var c=this.innerHTML;z(this).empty().append(s(this,a,b,c))}):0 in this?this[0].innerHTML:null},text:function(a){return 0 in arguments?this.each(function(b){var c=s(this,a,b,this.textContent);this.textContent=null==c?"":""+c}):0 in this?this.pluck("textContent").join(""):null},attr:function(a,b){var c;return"string"!=typeof a||1 in arguments?this.each(function(c){if(1===this.nodeType)if(f(a))for(y in a)t(this,y,a[y]);else t(this,a,s(this,b,c,this.getAttribute(a)))}):0 in this&&1==this[0].nodeType&&null!=(c=this[0].getAttribute(a))?c:x},removeAttr:function(a){return this.each(function(){1===this.nodeType&&a.split(" ").forEach(function(a){t(this,a)},this)})},prop:function(a,b){return a=Z[a]||a,1 in arguments?this.each(function(c){this[a]=s(this,b,c,this[a])}):this[0]&&this[0][a]},removeProp:function(a){return a=Z[a]||a,this.each(function(){delete this[a]})},data:function(a,b){var c="data-"+a.replace(/([A-Z])/g,"-$1").toLowerCase(),d=1 in arguments?this.attr(c,b):this.attr(c);return null!==d?v(d):x},val:function(a){return 0 in arguments?(null==a&&(a=""),this.each(function(b){this.value=s(this,a,b,this.value)})):this[0]&&(this[0].multiple?z(this[0]).find("option").filter(function(){return this.selected}).pluck("value"):this[0].value)},offset:function(b){if(b)return this.each(function(a){var c=z(this),d=s(this,b,a,c.offset()),e=c.offsetParent().offset(),f={top:d.top-e.top,left:d.left-e.left};"static"==c.css("position")&&(f.position="relative"),c.css(f)});if(!this.length)return null;if(H.documentElement!==this[0]&&!z.contains(H.documentElement,this[0]))return{top:0,left:0};var c=this[0].getBoundingClientRect();return{left:c.left+a.pageXOffset,top:c.top+a.pageYOffset,width:Math.round(c.width),height:Math.round(c.height)}},css:function(a,c){if(arguments.length<2){var d=this[0];if("string"==typeof a){if(!d)return;return d.style[B(a)]||getComputedStyle(d,"").getPropertyValue(a)}if($(a)){if(!d)return;var e={},f=getComputedStyle(d,"");return z.each(a,function(a,b){e[b]=d.style[B(b)]||f.getPropertyValue(b)}),e}}var g="";if("string"==b(a))c||0===c?g=k(a)+":"+m(a,c):this.each(function(){this.style.removeProperty(k(a))});else for(y in a)a[y]||0===a[y]?g+=k(y)+":"+m(y,a[y])+";":this.each(function(){this.style.removeProperty(k(y))});return this.each(function(){this.style.cssText+=";"+g})},index:function(a){return a?this.indexOf(z(a)[0]):this.parent().children().indexOf(this[0])},hasClass:function(a){return!!a&&D.some.call(this,function(a){return this.test(u(a))},l(a))},addClass:function(a){return a?this.each(function(b){if("className"in this){A=[];var c=u(this);s(this,a,b,c).split(/\s+/g).forEach(function(a){z(this).hasClass(a)||A.push(a)},this),A.length&&u(this,c+(c?" ":"")+A.join(" "))}}):this},removeClass:function(a){return this.each(function(b){if("className"in this){if(a===x)return u(this,"");A=u(this),s(this,a,b,A).split(/\s+/g).forEach(function(a){A=A.replace(l(a)," ")}),u(this,A.trim())}})},toggleClass:function(a,b){return a?this.each(function(c){var d=z(this);s(this,a,c,u(this)).split(/\s+/g).forEach(function(a){(b===x?!d.hasClass(a):b)?d.addClass(a):d.removeClass(a)})}):this},scrollTop:function(a){if(this.length){var b="scrollTop"in this[0];return a===x?b?this[0].scrollTop:this[0].pageYOffset:this.each(b?function(){this.scrollTop=a}:function(){this.scrollTo(this.scrollX,a)})}},scrollLeft:function(a){if(this.length){var b="scrollLeft"in this[0];return a===x?b?this[0].scrollLeft:this[0].pageXOffset:this.each(b?function(){this.scrollLeft=a}:function(){this.scrollTo(a,this.scrollY)})}},position:function(){if(this.length){var a=this[0],b=this.offsetParent(),c=this.offset(),d=N.test(b[0].nodeName)?{top:0,left:0}:b.offset();return c.top-=parseFloat(z(a).css("margin-top"))||0,c.left-=parseFloat(z(a).css("margin-left"))||0,d.top+=parseFloat(z(b[0]).css("border-top-width"))||0,d.left+=parseFloat(z(b[0]).css("border-left-width"))||0,{top:c.top-d.top,left:c.left-d.left}}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||H.body;a&&!N.test(a.nodeName)&&"static"==z(a).css("position");)a=a.offsetParent;return a})}},z.fn.detach=z.fn.remove,["width","height"].forEach(function(a){var b=a.replace(/./,function(a){return a[0].toUpperCase()});z.fn[a]=function(c){var f,g=this[0];return c===x?d(g)?g["inner"+b]:e(g)?g.documentElement["scroll"+b]:(f=this.offset())&&f[a]:this.each(function(b){g=z(this),g.css(a,s(this,c,b,g[a]()))})}}),P.forEach(function(c,d){var e=d%2;z.fn[c]=function(){var c,f,g=z.map(arguments,function(a){var d=[];return c=b(a),"array"==c?(a.forEach(function(a){return a.nodeType!==x?d.push(a):z.zepto.isZ(a)?d=d.concat(a.get()):void(d=d.concat(X.fragment(a)))}),d):"object"==c||null==a?a:X.fragment(a)}),h=this.length>1;return g.length<1?this:this.each(function(b,c){f=e?c:c.parentNode,c=0==d?c.nextSibling:1==d?c.firstChild:2==d?c:null;var i=z.contains(H.documentElement,f);g.forEach(function(b){if(h)b=b.cloneNode(!0);else if(!f)return z(b).remove();f.insertBefore(b,c),i&&w(b,function(b){if(!(null==b.nodeName||"SCRIPT"!==b.nodeName.toUpperCase()||b.type&&"text/javascript"!==b.type||b.src)){var c=b.ownerDocument?b.ownerDocument.defaultView:a;c.eval.call(c,b.innerHTML)}})})})},z.fn[e?c+"To":"insert"+(d?"Before":"After")]=function(a){return z(a)[c](this),this}}),X.Z.prototype=p.prototype=z.fn,X.uniq=C,X.deserializeValue=v,z.zepto=X,z}();return function(b){function c(a){return a._zid||(a._zid=n++)}function d(a,b,d,g){if(b=e(b),b.ns)var h=f(b.ns);return(r[c(a)]||[]).filter(function(a){return a&&(!b.e||a.e==b.e)&&(!b.ns||h.test(a.ns))&&(!d||c(a.fn)===c(d))&&(!g||a.sel==g)})}function e(a){var b=(""+a).split(".");return{e:b[0],ns:b.slice(1).sort().join(" ")}}function f(a){return new RegExp("(?:^| )"+a.replace(" "," .* ?")+"(?: |$)")}function g(a,b){return a.del&&!t&&a.e in u||!!b}function h(a){return v[a]||t&&u[a]||a}function i(a,d,f,i,j,l,n){var o=c(a),p=r[o]||(r[o]=[]);d.split(/\s/).forEach(function(c){if("ready"==c)return b(document).ready(f);var d=e(c);d.fn=f,d.sel=j,d.e in v&&(f=function(a){var c=a.relatedTarget;if(!c||c!==this&&!b.contains(this,c))return d.fn.apply(this,arguments)}),d.del=l;var o=l||f;d.proxy=function(b){if(b=k(b),!b.isImmediatePropagationStopped()){try{var c=Object.getOwnPropertyDescriptor(b,"data");c&&!c.writable||(b.data=i)}catch(b){}var d=o.apply(a,b._args==m?[b]:[b].concat(b._args));return d===!1&&(b.preventDefault(),b.stopPropagation()),d}},d.i=p.length,p.push(d),"addEventListener"in a&&a.addEventListener(h(d.e),d.proxy,g(d,n))})}function j(a,b,e,f,i){var j=c(a);(b||"").split(/\s/).forEach(function(b){d(a,b,e,f).forEach(function(b){delete r[j][b.i],"removeEventListener"in a&&a.removeEventListener(h(b.e),b.proxy,g(b,i))})})}function k(a,c){if(c||!a.isDefaultPrevented){c||(c=a),b.each(z,function(b,d){var e=c[b];a[b]=function(){return this[d]=w,e&&e.apply(c,arguments)},a[d]=x});try{a.timeStamp||(a.timeStamp=Date.now())}catch(a){}(c.defaultPrevented!==m?c.defaultPrevented:"returnValue"in c?c.returnValue===!1:c.getPreventDefault&&c.getPreventDefault())&&(a.isDefaultPrevented=w)}return a}function l(a){var b,c={originalEvent:a};for(b in a)y.test(b)||a[b]===m||(c[b]=a[b]);return k(c,a)}var m,n=1,o=Array.prototype.slice,p=b.isFunction,q=function(a){return"string"==typeof a},r={},s={},t="onfocusin"in a,u={focus:"focusin",blur:"focusout"},v={mouseenter:"mouseover",mouseleave:"mouseout"};s.click=s.mousedown=s.mouseup=s.mousemove="MouseEvents",b.event={add:i,remove:j},b.proxy=function(a,d){var e=2 in arguments&&o.call(arguments,2);if(p(a)){var f=function(){return a.apply(d,e?e.concat(o.call(arguments)):arguments)};return f._zid=c(a),f}if(q(d))return e?(e.unshift(a[d],a),b.proxy.apply(null,e)):b.proxy(a[d],a);throw new TypeError("expected function")},b.fn.bind=function(a,b,c){return this.on(a,b,c)},b.fn.unbind=function(a,b){return this.off(a,b)},b.fn.one=function(a,b,c,d){return this.on(a,b,c,d,1)};var w=function(){return!0},x=function(){return!1},y=/^([A-Z]|returnValue$|layer[XY]$|webkitMovement[XY]$)/,z={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};b.fn.delegate=function(a,b,c){return this.on(b,a,c)},b.fn.undelegate=function(a,b,c){return this.off(b,a,c)},b.fn.live=function(a,c){return b(document.body).delegate(this.selector,a,c),this},b.fn.die=function(a,c){return b(document.body).undelegate(this.selector,a,c),this},b.fn.on=function(a,c,d,e,f){var g,h,k=this;return a&&!q(a)?(b.each(a,function(a,b){k.on(a,c,d,b,f)}),k):(q(c)||p(e)||e===!1||(e=d,d=c,c=m),e!==m&&d!==!1||(e=d,d=m),e===!1&&(e=x),k.each(function(k,m){f&&(g=function(a){return j(m,a.type,e),e.apply(this,arguments)}),c&&(h=function(a){var d,f=b(a.target).closest(c,m).get(0);if(f&&f!==m)return d=b.extend(l(a),{currentTarget:f,liveFired:m}),(g||e).apply(f,[d].concat(o.call(arguments,1)))}),i(m,a,e,d,c,h||g)}))},b.fn.off=function(a,c,d){var e=this;return a&&!q(a)?(b.each(a,function(a,b){e.off(a,c,b)}),e):(q(c)||p(d)||d===!1||(d=c,c=m),d===!1&&(d=x),e.each(function(){j(this,a,d,c)}))},b.fn.trigger=function(a,c){return a=q(a)||b.isPlainObject(a)?b.Event(a):k(a),a._args=c,this.each(function(){a.type in u&&"function"==typeof this[a.type]?this[a.type]():"dispatchEvent"in this?this.dispatchEvent(a):b(this).triggerHandler(a,c)})},b.fn.triggerHandler=function(a,c){var e,f;return this.each(function(g,h){e=l(q(a)?b.Event(a):a),e._args=c,e.target=h,b.each(d(h,a.type||a),function(a,b){if(f=b.proxy(e),e.isImmediatePropagationStopped())return!1})}),f},"focusin focusout focus blur load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach(function(a){b.fn[a]=function(b){return 0 in arguments?this.bind(a,b):this.trigger(a)}}),b.Event=function(a,b){q(a)||(b=a,a=b.type);var c=document.createEvent(s[a]||"Events"),d=!0;if(b)for(var e in b)"bubbles"==e?d=!!b[e]:c[e]=b[e];return c.initEvent(a,d,!0),k(c)}}(b),function(a){var b,c=[];a.fn.remove=function(){return this.each(function(){this.parentNode&&("IMG"===this.tagName&&(c.push(this),this.src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=",b&&clearTimeout(b),b=setTimeout(function(){c=[]},6e4)),this.parentNode.removeChild(this))})}}(b),function(a){function b(b,d){var i=b[h],j=i&&e[i];if(void 0===d)return j||c(b);if(j){if(d in j)return j[d];var k=g(d);if(k in j)return j[k]}return f.call(a(b),d)}function c(b,c,f){var i=b[h]||(b[h]=++a.uuid),j=e[i]||(e[i]=d(b));return void 0!==c&&(j[g(c)]=f),j}function d(b){var c={};return a.each(b.attributes||i,function(b,d){0==d.name.indexOf("data-")&&(c[g(d.name.replace("data-",""))]=a.zepto.deserializeValue(d.value))}),c}var e={},f=a.fn.data,g=a.camelCase,h=a.expando="Zepto"+ +new Date,i=[];a.fn.data=function(d,e){return void 0===e?a.isPlainObject(d)?this.each(function(b,e){a.each(d,function(a,b){c(e,a,b)})}):0 in this?b(this[0],d):void 0:this.each(function(){c(this,d,e)})},a.data=function(b,c,d){return a(b).data(c,d)},a.hasData=function(b){var c=b[h],d=c&&e[c];return!!d&&!a.isEmptyObject(d)},a.fn.removeData=function(b){return"string"==typeof b&&(b=b.split(/\s+/)),this.each(function(){var c=this[h],d=c&&e[c];d&&a.each(b||d,function(a){delete d[b?g(this):a]})})},["remove","empty"].forEach(function(b){var c=a.fn[b];a.fn[b]=function(){var a=this.find("*");return"remove"===b&&(a=a.add(this)),a.removeData(),c.call(this)}})}(b),b}(b)}(window)},function(a,b){"use strict";a.exports={element:null}},function(a,b,c){"use strict";function d(a){return a.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var e=c(3);a.exports={isArray:null,isFunction:null,isObject:null,bind:null,each:null,map:null,mixin:null,isMsie:function(a){if(void 0===a&&(a=navigator.userAgent),/(msie|trident)/i.test(a)){var b=a.match(/(msie |rv:)(\d+(.\d+)?)/i);if(b)return b[2]}return!1},escapeRegExChars:function(a){return a.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},isNumber:function(a){return"number"==typeof a},toStr:function(a){return void 0===a||null===a?"":a+""},cloneDeep:function(a){var b=this.mixin({},a),c=this;return this.each(b,function(a,d){a&&(c.isArray(a)?b[d]=[].concat(a):c.isObject(a)&&(b[d]=c.cloneDeep(a)))}),b},error:function(a){throw new Error(a)},every:function(a,b){var c=!0;return a?(this.each(a,function(d,e){c&&(c=b.call(null,d,e,a)&&c)}),!!c):c},any:function(a,b){var c=!1;return a?(this.each(a,function(d,e){if(b.call(null,d,e,a))return c=!0,!1}),c):c},getUniqueId:function(){var a=0;return function(){return a++}}(),templatify:function(a){if(this.isFunction(a))return a;var b=e.element(a);return"SCRIPT"===b.prop("tagName")?function(){return b.text()}:function(){return String(a)}},defer:function(a){setTimeout(a,0)},noop:function(){},formatPrefix:function(a,b){return b?"":a+"-"},className:function(a,b,c){return(c?"":".")+a+b},escapeHighlightedString:function(a,b,c){b=b||"";var e=document.createElement("div");e.appendChild(document.createTextNode(b)),c=c||" ";var f=document.createElement("div");f.appendChild(document.createTextNode(c));var g=document.createElement("div");return g.appendChild(document.createTextNode(a)),g.innerHTML.replace(RegExp(d(e.innerHTML),"g"),b).replace(RegExp(d(f.innerHTML),"g"),c)}}},function(a,b,c){"use strict";function d(a){var b,c;if(a=a||{},a.input||i.error("missing input"),this.isActivated=!1,this.debug=!!a.debug,this.autoselect=!!a.autoselect,this.autoselectOnBlur=!!a.autoselectOnBlur,this.openOnFocus=!!a.openOnFocus,this.minLength=i.isNumber(a.minLength)?a.minLength:1,this.autoWidth=void 0===a.autoWidth||!!a.autoWidth,this.clearOnSelected=!!a.clearOnSelected,this.tabAutocomplete=void 0===a.tabAutocomplete||!!a.tabAutocomplete,a.hint=!!a.hint,a.hint&&a.appendTo)throw new Error("[autocomplete.js] hint and appendTo options can't be used at the same time");this.css=a.css=i.mixin({},o,a.appendTo?o.appendTo:{}),this.cssClasses=a.cssClasses=i.mixin({},o.defaultClasses,a.cssClasses||{}),this.cssClasses.prefix=a.cssClasses.formattedPrefix=i.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix),this.listboxId=a.listboxId=[this.cssClasses.root,"listbox",i.getUniqueId()].join("-");var f=e(a);this.$node=f.wrapper;var g=this.$input=f.input;b=f.menu,c=f.hint,a.dropdownMenuContainer&&j.element(a.dropdownMenuContainer).css("position","relative").append(b.css("top","0")),g.on("blur.aa",function(a){var c=document.activeElement;i.isMsie()&&(b[0]===c||b[0].contains(c))&&(a.preventDefault(),a.stopImmediatePropagation(),i.defer(function(){g.focus()}))}),b.on("mousedown.aa",function(a){a.preventDefault()}),this.eventBus=a.eventBus||new k({el:g}),this.dropdown=new d.Dropdown({appendTo:a.appendTo,wrapper:this.$node,menu:b,datasets:a.datasets,templates:a.templates,cssClasses:a.cssClasses,minLength:this.minLength}).onSync("suggestionClicked",this._onSuggestionClicked,this).onSync("cursorMoved",this._onCursorMoved,this).onSync("cursorRemoved",this._onCursorRemoved,this).onSync("opened",this._onOpened,this).onSync("closed",this._onClosed,this).onSync("shown",this._onShown,this).onSync("empty",this._onEmpty,this).onSync("redrawn",this._onRedrawn,this).onAsync("datasetRendered",this._onDatasetRendered,this),this.input=new d.Input({input:g,hint:c}).onSync("focused",this._onFocused,this).onSync("blurred",this._onBlurred,this).onSync("enterKeyed",this._onEnterKeyed,this).onSync("tabKeyed",this._onTabKeyed,this).onSync("escKeyed",this._onEscKeyed,this).onSync("upKeyed",this._onUpKeyed,this).onSync("downKeyed",this._onDownKeyed,this).onSync("leftKeyed",this._onLeftKeyed,this).onSync("rightKeyed",this._onRightKeyed,this).onSync("queryChanged",this._onQueryChanged,this).onSync("whitespaceChanged",this._onWhitespaceChanged,this),this._bindKeyboardShortcuts(a),this._setLanguageDirection()}function e(a){var b,c,d,e;b=j.element(a.input),c=j.element(n.wrapper.replace("%ROOT%",a.cssClasses.root)).css(a.css.wrapper),a.appendTo||"block"!==b.css("display")||"table"!==b.parent().css("display")||c.css("display","table-cell");var g=n.dropdown.replace("%PREFIX%",a.cssClasses.prefix).replace("%DROPDOWN_MENU%",a.cssClasses.dropdownMenu);d=j.element(g).css(a.css.dropdown).attr({role:"listbox",id:a.listboxId}),a.templates&&a.templates.dropdownMenu&&d.html(i.templatify(a.templates.dropdownMenu)()),e=b.clone().css(a.css.hint).css(f(b)),e.val("").addClass(i.className(a.cssClasses.prefix,a.cssClasses.hint,!0)).removeAttr("id name placeholder required").prop("readonly",!0).attr({"aria-hidden":"true",autocomplete:"off",spellcheck:"false",tabindex:-1}),e.removeData&&e.removeData(),b.data(h,{"aria-autocomplete":b.attr("aria-autocomplete"),"aria-expanded":b.attr("aria-expanded"),"aria-owns":b.attr("aria-owns"),autocomplete:b.attr("autocomplete"),dir:b.attr("dir"),role:b.attr("role"),spellcheck:b.attr("spellcheck"),style:b.attr("style"),type:b.attr("type")}),b.addClass(i.className(a.cssClasses.prefix,a.cssClasses.input,!0)).attr({autocomplete:"off",spellcheck:!1,role:"combobox","aria-autocomplete":a.datasets&&a.datasets[0]&&a.datasets[0].displayKey?"both":"list","aria-expanded":"false","aria-label":a.ariaLabel,"aria-owns":a.listboxId}).css(a.hint?a.css.input:a.css.inputWithNoHint);try{b.attr("dir")||b.attr("dir","auto")}catch(a){}return c=a.appendTo?c.appendTo(j.element(a.appendTo).eq(0)).eq(0):b.wrap(c).parent(),c.prepend(a.hint?e:null).append(d),{wrapper:c,input:b,hint:e,menu:d}}function f(a){return{backgroundAttachment:a.css("background-attachment"),backgroundClip:a.css("background-clip"),backgroundColor:a.css("background-color"),backgroundImage:a.css("background-image"),backgroundOrigin:a.css("background-origin"),backgroundPosition:a.css("background-position"),backgroundRepeat:a.css("background-repeat"),backgroundSize:a.css("background-size")}}function g(a,b){var c=a.find(i.className(b.prefix,b.input));i.each(c.data(h),function(a,b){void 0===a?c.removeAttr(b):c.attr(b,a)}),c.detach().removeClass(i.className(b.prefix,b.input,!0)).insertAfter(a),c.removeData&&c.removeData(h),a.remove()}var h="aaAttrs",i=c(4),j=c(3),k=c(6),l=c(7),m=c(16),n=c(18),o=c(19);i.mixin(d.prototype,{_bindKeyboardShortcuts:function(a){if(a.keyboardShortcuts){var b=this.$input,c=[];i.each(a.keyboardShortcuts,function(a){"string"==typeof a&&(a=a.toUpperCase().charCodeAt(0)),c.push(a)}),j.element(document).keydown(function(a){var d=a.target||a.srcElement,e=d.tagName;if(!d.isContentEditable&&"INPUT"!==e&&"SELECT"!==e&&"TEXTAREA"!==e){var f=a.which||a.keyCode;c.indexOf(f)!==-1&&(b.focus(),a.stopPropagation(),a.preventDefault())}})}},_onSuggestionClicked:function(a,b){var c,d={selectionMethod:"click"};(c=this.dropdown.getDatumForSuggestion(b))&&this._select(c,d)},_onCursorMoved:function(a,b){var c=this.dropdown.getDatumForCursor(),d=this.dropdown.getCurrentCursor().attr("id");this.input.setActiveDescendant(d),c&&(b&&this.input.setInputValue(c.value,!0),this.eventBus.trigger("cursorchanged",c.raw,c.datasetName))},_onCursorRemoved:function(){this.input.resetInputValue(),this._updateHint(),this.eventBus.trigger("cursorremoved")},_onDatasetRendered:function(){this._updateHint(),this.eventBus.trigger("updated")},_onOpened:function(){this._updateHint(),this.input.expand(),this.eventBus.trigger("opened")},_onEmpty:function(){this.eventBus.trigger("empty")},_onRedrawn:function(){this.$node.css("top","0px"),this.$node.css("left","0px");var a=this.$input[0].getBoundingClientRect();this.autoWidth&&this.$node.css("width",a.width+"px");var b=this.$node[0].getBoundingClientRect(),c=a.bottom-b.top;this.$node.css("top",c+"px");var d=a.left-b.left;this.$node.css("left",d+"px"),this.eventBus.trigger("redrawn")},_onShown:function(){this.eventBus.trigger("shown"),this.autoselect&&this.dropdown.cursorTopSuggestion()},_onClosed:function(){this.input.clearHint(),this.input.removeActiveDescendant(),this.input.collapse(),this.eventBus.trigger("closed")},_onFocused:function(){if(this.isActivated=!0,this.openOnFocus){var a=this.input.getQuery();a.length>=this.minLength?this.dropdown.update(a):this.dropdown.empty(),this.dropdown.open()}},_onBlurred:function(){var a,b;a=this.dropdown.getDatumForCursor(),b=this.dropdown.getDatumForTopSuggestion();var c={selectionMethod:"blur"};this.debug||(this.autoselectOnBlur&&a?this._select(a,c):this.autoselectOnBlur&&b?this._select(b,c):(this.isActivated=!1,this.dropdown.empty(),this.dropdown.close()))},_onEnterKeyed:function(a,b){var c,d
+;c=this.dropdown.getDatumForCursor(),d=this.dropdown.getDatumForTopSuggestion();var e={selectionMethod:"enterKey"};c?(this._select(c,e),b.preventDefault()):this.autoselect&&d&&(this._select(d,e),b.preventDefault())},_onTabKeyed:function(a,b){if(!this.tabAutocomplete)return void this.dropdown.close();var c,d={selectionMethod:"tabKey"};(c=this.dropdown.getDatumForCursor())?(this._select(c,d),b.preventDefault()):this._autocomplete(!0)},_onEscKeyed:function(){this.dropdown.close(),this.input.resetInputValue()},_onUpKeyed:function(){var a=this.input.getQuery();this.dropdown.isEmpty&&a.length>=this.minLength?this.dropdown.update(a):this.dropdown.moveCursorUp(),this.dropdown.open()},_onDownKeyed:function(){var a=this.input.getQuery();this.dropdown.isEmpty&&a.length>=this.minLength?this.dropdown.update(a):this.dropdown.moveCursorDown(),this.dropdown.open()},_onLeftKeyed:function(){"rtl"===this.dir&&this._autocomplete()},_onRightKeyed:function(){"ltr"===this.dir&&this._autocomplete()},_onQueryChanged:function(a,b){this.input.clearHintIfInvalid(),b.length>=this.minLength?this.dropdown.update(b):this.dropdown.empty(),this.dropdown.open(),this._setLanguageDirection()},_onWhitespaceChanged:function(){this._updateHint(),this.dropdown.open()},_setLanguageDirection:function(){var a=this.input.getLanguageDirection();this.dir!==a&&(this.dir=a,this.$node.css("direction",a),this.dropdown.setLanguageDirection(a))},_updateHint:function(){var a,b,c,d,e,f;a=this.dropdown.getDatumForTopSuggestion(),a&&this.dropdown.isVisible()&&!this.input.hasOverflow()?(b=this.input.getInputValue(),c=l.normalizeQuery(b),d=i.escapeRegExChars(c),e=new RegExp("^(?:"+d+")(.+$)","i"),f=e.exec(a.value),f?this.input.setHint(b+f[1]):this.input.clearHint()):this.input.clearHint()},_autocomplete:function(a){var b,c,d,e;b=this.input.getHint(),c=this.input.getQuery(),d=a||this.input.isCursorAtEnd(),b&&c!==b&&d&&(e=this.dropdown.getDatumForTopSuggestion(),e&&this.input.setInputValue(e.value),this.eventBus.trigger("autocompleted",e.raw,e.datasetName))},_select:function(a,b){void 0!==a.value&&this.input.setQuery(a.value),this.clearOnSelected?this.setVal(""):this.input.setInputValue(a.value,!0),this._setLanguageDirection(),this.eventBus.trigger("selected",a.raw,a.datasetName,b).isDefaultPrevented()===!1&&(this.dropdown.close(),i.defer(i.bind(this.dropdown.empty,this.dropdown)))},open:function(){if(!this.isActivated){var a=this.input.getInputValue();a.length>=this.minLength?this.dropdown.update(a):this.dropdown.empty()}this.dropdown.open()},close:function(){this.dropdown.close()},setVal:function(a){a=i.toStr(a),this.isActivated?this.input.setInputValue(a):(this.input.setQuery(a),this.input.setInputValue(a,!0)),this._setLanguageDirection()},getVal:function(){return this.input.getQuery()},destroy:function(){this.input.destroy(),this.dropdown.destroy(),g(this.$node,this.cssClasses),this.$node=null},getWrapper:function(){return this.dropdown.$container[0]}}),d.Dropdown=m,d.Input=l,d.sources=c(20),a.exports=d},function(a,b,c){"use strict";function d(a){a&&a.el||e.error("EventBus initialized without el"),this.$el=f.element(a.el)}var e=c(4),f=c(3);e.mixin(d.prototype,{trigger:function(a,b,c,d){var f=e.Event("autocomplete:"+a);return this.$el.trigger(f,[b,c,d]),f}}),a.exports=d},function(a,b,c){"use strict";function d(a){var b,c,d,f,g=this;a=a||{},a.input||i.error("input is missing"),b=i.bind(this._onBlur,this),c=i.bind(this._onFocus,this),d=i.bind(this._onKeydown,this),f=i.bind(this._onInput,this),this.$hint=j.element(a.hint),this.$input=j.element(a.input).on("blur.aa",b).on("focus.aa",c).on("keydown.aa",d),0===this.$hint.length&&(this.setHint=this.getHint=this.clearHint=this.clearHintIfInvalid=i.noop),i.isMsie()?this.$input.on("keydown.aa keypress.aa cut.aa paste.aa",function(a){h[a.which||a.keyCode]||i.defer(i.bind(g._onInput,g,a))}):this.$input.on("input.aa",f),this.query=this.$input.val(),this.$overflowHelper=e(this.$input)}function e(a){return j.element(' ').css({position:"absolute",visibility:"hidden",whiteSpace:"pre",fontFamily:a.css("font-family"),fontSize:a.css("font-size"),fontStyle:a.css("font-style"),fontVariant:a.css("font-variant"),fontWeight:a.css("font-weight"),wordSpacing:a.css("word-spacing"),letterSpacing:a.css("letter-spacing"),textIndent:a.css("text-indent"),textRendering:a.css("text-rendering"),textTransform:a.css("text-transform")}).insertAfter(a)}function f(a,b){return d.normalizeQuery(a)===d.normalizeQuery(b)}function g(a){return a.altKey||a.ctrlKey||a.metaKey||a.shiftKey}var h;h={9:"tab",27:"esc",37:"left",39:"right",13:"enter",38:"up",40:"down"};var i=c(4),j=c(3),k=c(8);d.normalizeQuery=function(a){return(a||"").replace(/^\s*/g,"").replace(/\s{2,}/g," ")},i.mixin(d.prototype,k,{_onBlur:function(){this.resetInputValue(),this.$input.removeAttr("aria-activedescendant"),this.trigger("blurred")},_onFocus:function(){this.trigger("focused")},_onKeydown:function(a){var b=h[a.which||a.keyCode];this._managePreventDefault(b,a),b&&this._shouldTrigger(b,a)&&this.trigger(b+"Keyed",a)},_onInput:function(){this._checkInputValue()},_managePreventDefault:function(a,b){var c,d,e;switch(a){case"tab":d=this.getHint(),e=this.getInputValue(),c=d&&d!==e&&!g(b);break;case"up":case"down":c=!g(b);break;default:c=!1}c&&b.preventDefault()},_shouldTrigger:function(a,b){var c;switch(a){case"tab":c=!g(b);break;default:c=!0}return c},_checkInputValue:function(){var a,b,c;a=this.getInputValue(),b=f(a,this.query),c=!(!b||!this.query)&&this.query.length!==a.length,this.query=a,b?c&&this.trigger("whitespaceChanged",this.query):this.trigger("queryChanged",this.query)},focus:function(){this.$input.focus()},blur:function(){this.$input.blur()},getQuery:function(){return this.query},setQuery:function(a){this.query=a},getInputValue:function(){return this.$input.val()},setInputValue:function(a,b){void 0===a&&(a=this.query),this.$input.val(a),b?this.clearHint():this._checkInputValue()},expand:function(){this.$input.attr("aria-expanded","true")},collapse:function(){this.$input.attr("aria-expanded","false")},setActiveDescendant:function(a){this.$input.attr("aria-activedescendant",a)},removeActiveDescendant:function(){this.$input.removeAttr("aria-activedescendant")},resetInputValue:function(){this.setInputValue(this.query,!0)},getHint:function(){return this.$hint.val()},setHint:function(a){this.$hint.val(a)},clearHint:function(){this.setHint("")},clearHintIfInvalid:function(){var a,b,c,d;a=this.getInputValue(),b=this.getHint(),c=a!==b&&0===b.indexOf(a),(d=""!==a&&c&&!this.hasOverflow())||this.clearHint()},getLanguageDirection:function(){return(this.$input.css("direction")||"ltr").toLowerCase()},hasOverflow:function(){var a=this.$input.width()-2;return this.$overflowHelper.text(this.getInputValue()),this.$overflowHelper.width()>=a},isCursorAtEnd:function(){var a,b,c;return a=this.$input.val().length,b=this.$input[0].selectionStart,i.isNumber(b)?b===a:!document.selection||(c=document.selection.createRange(),c.moveStart("character",-a),a===c.text.length)},destroy:function(){this.$hint.off(".aa"),this.$input.off(".aa"),this.$hint=this.$input=this.$overflowHelper=null}}),a.exports=d},function(a,b,c){"use strict";function d(a,b,c,d){var e;if(!c)return this;for(b=b.split(l),c=d?j(c,d):c,this._callbacks=this._callbacks||{};e=b.shift();)this._callbacks[e]=this._callbacks[e]||{sync:[],async:[]},this._callbacks[e][a].push(c);return this}function e(a,b,c){return d.call(this,"async",a,b,c)}function f(a,b,c){return d.call(this,"sync",a,b,c)}function g(a){var b;if(!this._callbacks)return this;for(a=a.split(l);b=a.shift();)delete this._callbacks[b];return this}function h(a){var b,c,d,e,f;if(!this._callbacks)return this;for(a=a.split(l),d=[].slice.call(arguments,1);(b=a.shift())&&(c=this._callbacks[b]);)e=i(c.sync,this,[b].concat(d)),f=i(c.async,this,[b].concat(d)),e()&&k(f);return this}function i(a,b,c){function d(){for(var d,e=0,f=a.length;!d&&e1)for(var c=1;c1)for(var c=1;c'),this.$menu.append(this.$empty),this.$empty.hide()),this.datasets=f.map(a.datasets,function(b){return e(h.$menu,b,a.cssClasses)}),f.each(this.datasets,function(a){var b=a.getRoot();b&&0===b.parent().length&&h.$menu.append(b),a.onSync("rendered",h._onRendered,h)}),a.templates&&a.templates.footer&&(this.templates.footer=f.templatify(a.templates.footer),this.$menu.append(this.templates.footer()));var k=this;g.element(window).resize(function(){k._redraw()})}function e(a,b,c){return new d.Dataset(f.mixin({$menu:a,cssClasses:c},b))}var f=c(4),g=c(3),h=c(8),i=c(17),j=c(19);f.mixin(d.prototype,h,{_onSuggestionClick:function(a){this.trigger("suggestionClicked",g.element(a.currentTarget))},_onSuggestionMouseEnter:function(a){var b=g.element(a.currentTarget);if(!b.hasClass(f.className(this.cssClasses.prefix,this.cssClasses.cursor,!0))){this._removeCursor();var c=this;setTimeout(function(){c._setCursor(b,!1)},0)}},_onSuggestionMouseLeave:function(a){if(a.relatedTarget){if(g.element(a.relatedTarget).closest("."+f.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).length>0)return}this._removeCursor(),this.trigger("cursorRemoved")},_onRendered:function(a,b){function c(a){return a.isEmpty()}function d(a){return a.templates&&a.templates.empty}if(this.isEmpty=f.every(this.datasets,c),this.isEmpty)if(b.length>=this.minLength&&this.trigger("empty"),this.$empty)if(b.length=this.minLength?this._show():this._hide());this.trigger("datasetRendered")},_hide:function(){this.$container.hide()},_show:function(){this.$container.css("display","block"),this._redraw(),this.trigger("shown")},_redraw:function(){this.isOpen&&this.appendTo&&this.trigger("redrawn")},_getSuggestions:function(){return this.$menu.find(f.className(this.cssClasses.prefix,this.cssClasses.suggestion))},_getCursor:function(){return this.$menu.find(f.className(this.cssClasses.prefix,this.cssClasses.cursor)).first()},_setCursor:function(a,b){a.first().addClass(f.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).attr("aria-selected","true"),this.trigger("cursorMoved",b)},_removeCursor:function(){this._getCursor().removeClass(f.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).removeAttr("aria-selected")},_moveCursor:function(a){var b,c,d,e;if(this.isOpen){if(c=this._getCursor(),b=this._getSuggestions(),this._removeCursor(),d=b.index(c)+a,(d=(d+1)%(b.length+1)-1)===-1)return void this.trigger("cursorRemoved");d<-1&&(d=b.length-1),this._setCursor(e=b.eq(d),!0),this._ensureVisible(e)}},_ensureVisible:function(a){var b,c,d,e;b=a.position().top,c=b+a.height()+parseInt(a.css("margin-top"),10)+parseInt(a.css("margin-bottom"),10),d=this.$menu.scrollTop(),e=this.$menu.height()+parseInt(this.$menu.css("padding-top"),10)+parseInt(this.$menu.css("padding-bottom"),10),b<0?this.$menu.scrollTop(d+b):e0?l.element(a.$menu.find(b+"-"+this.name)[0]):l.element(m.dataset.replace("%CLASS%",this.name).replace("%PREFIX%",this.cssClasses.prefix).replace("%DATASET%",this.cssClasses.dataset)),this.$menu=a.$menu,this.clearCachedSuggestions()}function e(a){function b(b){return b[a]}return a=a||"value",k.isFunction(a)?a:b}function f(a,b){function c(a){return""+b(a)+"
"}return{empty:a.empty&&k.templatify(a.empty),header:a.header&&k.templatify(a.header),footer:a.footer&&k.templatify(a.footer),suggestion:a.suggestion||c}}function g(a){return/^[_a-zA-Z0-9-]+$/.test(a)}var h="aaDataset",i="aaValue",j="aaDatum",k=c(4),l=c(3),m=c(18),n=c(19),o=c(8);d.extractDatasetName=function(a){return l.element(a).data(h)},d.extractValue=function(a){return l.element(a).data(i)},d.extractDatum=function(a){var b=l.element(a).data(j);return"string"==typeof b&&(b=JSON.parse(b)),b},k.mixin(d.prototype,o,{_render:function(a,b){function c(){var b=[].slice.call(arguments,0);return b=[{query:a,isEmpty:!0}].concat(b),n.templates.empty.apply(this,b)}function d(){function a(a){var b,c=m.suggestion.replace("%PREFIX%",f.cssClasses.prefix).replace("%SUGGESTION%",f.cssClasses.suggestion);return b=l.element(c).attr({role:"option",id:["option",Math.floor(1e8*Math.random())].join("-")}).append(n.templates.suggestion.apply(this,[a].concat(e))),b.data(h,n.name),b.data(i,n.displayFn(a)||void 0),b.data(j,JSON.stringify(a)),b.children().each(function(){l.element(this).css(f.css.suggestionChild)}),b}var c,d,e=[].slice.call(arguments,0),f=this,g=m.suggestions.replace("%PREFIX%",this.cssClasses.prefix).replace("%SUGGESTIONS%",this.cssClasses.suggestions);return c=l.element(g).css(this.css.suggestions),d=k.map(b,a),c.append.apply(c,d),c}function e(){var b=[].slice.call(arguments,0);return b=[{query:a,isEmpty:!g}].concat(b),n.templates.header.apply(this,b)}function f(){var b=[].slice.call(arguments,0);return b=[{query:a,isEmpty:!g}].concat(b),n.templates.footer.apply(this,b)}if(this.$el){var g,n=this,o=[].slice.call(arguments,2);if(this.$el.empty(),g=b&&b.length,this._isEmpty=!g,!g&&this.templates.empty)this.$el.html(c.apply(this,o)).prepend(n.templates.header?e.apply(this,o):null).append(n.templates.footer?f.apply(this,o):null);else if(g)this.$el.html(d.apply(this,o)).prepend(n.templates.header?e.apply(this,o):null).append(n.templates.footer?f.apply(this,o):null);else if(b&&!Array.isArray(b))throw new TypeError("suggestions must be an array");this.$menu&&this.$menu.addClass(this.cssClasses.prefix+(g?"with":"without")+"-"+this.name).removeClass(this.cssClasses.prefix+(g?"without":"with")+"-"+this.name),this.trigger("rendered",a)}},getRoot:function(){return this.$el},update:function(a){function b(b){if(!this.canceled&&a===this.query){var c=[].slice.call(arguments,1);this.cacheSuggestions(a,b,c),this._render.apply(this,[a,b].concat(c))}}if(this.query=a,this.canceled=!1,this.shouldFetchFromCache(a))b.apply(this,[this.cachedSuggestions].concat(this.cachedRenderExtraArgs));else{var c=this,d=function(){c.canceled||c.source(a,b.bind(c))};if(this.debounce){var e=function(){c.debounceTimeout=null,d()};clearTimeout(this.debounceTimeout),this.debounceTimeout=setTimeout(e,this.debounce)}else d()}},cacheSuggestions:function(a,b,c){this.cachedQuery=a,this.cachedSuggestions=b,this.cachedRenderExtraArgs=c},shouldFetchFromCache:function(a){return this.cache&&this.cachedQuery===a&&this.cachedSuggestions&&this.cachedSuggestions.length},clearCachedSuggestions:function(){delete this.cachedQuery,delete this.cachedSuggestions,delete this.cachedRenderExtraArgs},cancel:function(){this.canceled=!0},clear:function(){this.$el&&(this.cancel(),this.$el.empty(),this.trigger("rendered",""))},isEmpty:function(){return this._isEmpty},destroy:function(){this.clearCachedSuggestions(),this.$el=null}}),a.exports=d},function(a,b){"use strict";a.exports={wrapper:' ',dropdown:'',dataset:'
',suggestions:' ',suggestion:'
'}},function(a,b,c){"use strict";var d=c(4),e={wrapper:{position:"relative",display:"inline-block"},hint:{position:"absolute",top:"0",left:"0",borderColor:"transparent",boxShadow:"none",opacity:"1"},input:{position:"relative",verticalAlign:"top",backgroundColor:"transparent"},inputWithNoHint:{position:"relative",verticalAlign:"top"},dropdown:{position:"absolute",top:"100%",left:"0",zIndex:"100",display:"none"},suggestions:{display:"block"},suggestion:{whiteSpace:"nowrap",cursor:"pointer"},suggestionChild:{whiteSpace:"normal"},ltr:{left:"0",right:"auto"},rtl:{left:"auto",right:"0"},defaultClasses:{root:"algolia-autocomplete",prefix:"aa",noPrefix:!1,dropdownMenu:"dropdown-menu",input:"input",hint:"hint",suggestions:"suggestions",suggestion:"suggestion",cursor:"cursor",dataset:"dataset",empty:"empty"},appendTo:{wrapper:{position:"absolute",zIndex:"100",display:"none"},input:{},inputWithNoHint:{},dropdown:{display:"block"}}};d.isMsie()&&d.mixin(e.input,{backgroundImage:"url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)"}),d.isMsie()&&d.isMsie()<=7&&d.mixin(e.input,{marginTop:"-1px"}),a.exports=e},function(a,b,c){"use strict";a.exports={hits:c(21),popularIn:c(24)}},function(a,b,c){"use strict";var d=c(4),e=c(22),f=c(23);a.exports=function(a,b){function c(c,e){a.search(c,b,function(a,b){if(a)return void d.error(a.message);e(b.hits,b)})}var g=f(a.as._ua);return g&&g[0]>=3&&g[1]>20&&(b=b||{},b.additionalUA="autocomplete.js "+e),c}},function(a,b){a.exports="0.37.1"},function(a,b){"use strict";a.exports=function(a){var b=a.match(/Algolia for JavaScript \((\d+\.)(\d+\.)(\d+)\)/)||a.match(/Algolia for vanilla JavaScript (\d+\.)(\d+\.)(\d+)/);if(b)return[b[1],b[2],b[3]]}},function(a,b,c){"use strict";var d=c(4),e=c(22),f=c(23);a.exports=function(a,b,c,g){function h(h,i){a.search(h,b,function(a,h){if(a)return void d.error(a.message);if(h.hits.length>0){var l=h.hits[0],m=d.mixin({hitsPerPage:0},c);delete m.source,delete m.index;var n=f(k.as._ua);return n&&n[0]>=3&&n[1]>20&&(b.additionalUA="autocomplete.js "+e),void k.search(j(l),m,function(a,b){if(a)return void d.error(a.message);var c=[];if(g.includeAll){var e=g.allTitle||"All departments";c.push(d.mixin({facet:{value:e,count:b.nbHits}},d.cloneDeep(l)))}d.each(b.facets,function(a,b){d.each(a,function(a,e){c.push(d.mixin({facet:{facet:b,value:e,count:a}},d.cloneDeep(l)))})});for(var f=1;f=3&&i[1]>20&&(b=b||{},b.additionalUA="autocomplete.js "+e),!c.source)return d.error("Missing 'source' key");var j=d.isFunction(c.source)?c.source:function(a){return a[c.source]};if(!c.index)return d.error("Missing 'index' key");var k=c.index;return g=g||{},h}}])});
\ No newline at end of file
diff --git a/public/lib/clipboard/clipboard.min.c7a9d14a47d2b0a181b2f94b1471cd8eef9bb92df3614ced5674d1cffd092a0388937ba54ba6cd71efef1cebd8136798.js b/public/lib/clipboard/clipboard.min.c7a9d14a47d2b0a181b2f94b1471cd8eef9bb92df3614ced5674d1cffd092a0388937ba54ba6cd71efef1cebd8136798.js
new file mode 100644
index 00000000..28650f3c
--- /dev/null
+++ b/public/lib/clipboard/clipboard.min.c7a9d14a47d2b0a181b2f94b1471cd8eef9bb92df3614ced5674d1cffd092a0388937ba54ba6cd71efef1cebd8136798.js
@@ -0,0 +1,7 @@
+/*!
+ * clipboard.js v2.0.6
+ * https://clipboardjs.com/
+ *
+ * Licensed MIT © Zeno Rocha
+ */
+!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return o={},r.m=n=[function(t,e){t.exports=function(t){var e;if("SELECT"===t.nodeName)t.focus(),e=t.value;else if("INPUT"===t.nodeName||"TEXTAREA"===t.nodeName){var n=t.hasAttribute("readonly");n||t.setAttribute("readonly",""),t.select(),t.setSelectionRange(0,t.value.length),n||t.removeAttribute("readonly"),e=t.value}else{t.hasAttribute("contenteditable")&&t.focus();var o=window.getSelection(),r=document.createRange();r.selectNodeContents(t),o.removeAllRanges(),o.addRange(r),e=o.toString()}return e}},function(t,e){function n(){}n.prototype={on:function(t,e,n){var o=this.e||(this.e={});return(o[t]||(o[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){var o=this;function r(){o.off(t,r),e.apply(n,arguments)}return r._=e,this.on(t,r,n)},emit:function(t){for(var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),o=0,r=n.length;oli{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adobe:before{content:"\f778"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-bahai:before{content:"\f666"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-box-tissue:before{content:"\f95b"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-cotton-bureau:before{content:"\f89e"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\f952"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-disease:before{content:"\f7fa"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-faucet:before{content:"\f905"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\f907"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-medical:before{content:"\f95c"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\f95d"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-hands-wash:before{content:"\f95e"}.fa-handshake:before{content:"\f2b5"}.fa-handshake-alt-slash:before{content:"\f95f"}.fa-handshake-slash:before{content:"\f960"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-hdd:before{content:"\f0a0"}.fa-head-side-cough:before{content:"\f961"}.fa-head-side-cough-slash:before{content:"\f962"}.fa-head-side-mask:before{content:"\f963"}.fa-head-side-virus:before{content:"\f964"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hospital-user:before{content:"\f80d"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-house-user:before{content:"\f965"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-ideal:before{content:"\f913"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-instagram:before{content:"\f16d"}.fa-instagram-square:before{content:"\f955"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-house:before{content:"\f966"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\f967"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microblog:before{content:"\f91a"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\f956"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse:before{content:"\f8cc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-arrows:before{content:"\f968"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-square:before{content:"\f91e"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-slash:before{content:"\f969"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pump-medical:before{content:"\f96a"}.fa-pump-soap:before{content:"\f96b"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-shield-virus:before{content:"\f96c"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopify:before{content:"\f957"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\f96e"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-stopwatch-20:before{content:"\f96f"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-store-alt-slash:before{content:"\f970"}.fa-store-slash:before{content:"\f971"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swift:before{content:"\f8e1"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-slash:before{content:"\f972"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\f941"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\f949"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-virus:before{content:"\f974"}.fa-virus-slash:before{content:"\f975"}.fa-viruses:before{content:"\f976"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands"}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.fab,.far{font-weight:400}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.far,.fas{font-family:"Font Awesome 5 Free"}.fa,.fas{font-weight:900}
\ No newline at end of file
diff --git a/public/lib/fonts/lg.eot b/public/lib/fonts/lg.eot
new file mode 100644
index 00000000..51264c4f
Binary files /dev/null and b/public/lib/fonts/lg.eot differ
diff --git a/public/lib/fonts/lg.svg b/public/lib/fonts/lg.svg
new file mode 100644
index 00000000..83d681f1
--- /dev/null
+++ b/public/lib/fonts/lg.svg
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/public/lib/fonts/lg.ttf b/public/lib/fonts/lg.ttf
new file mode 100644
index 00000000..8ad81996
Binary files /dev/null and b/public/lib/fonts/lg.ttf differ
diff --git a/public/lib/fonts/lg.woff b/public/lib/fonts/lg.woff
new file mode 100644
index 00000000..d98ff605
Binary files /dev/null and b/public/lib/fonts/lg.woff differ
diff --git a/public/lib/img/loading.gif b/public/lib/img/loading.gif
new file mode 100644
index 00000000..d3bbc806
Binary files /dev/null and b/public/lib/img/loading.gif differ
diff --git a/public/lib/img/video-play.png b/public/lib/img/video-play.png
new file mode 100644
index 00000000..48935403
Binary files /dev/null and b/public/lib/img/video-play.png differ
diff --git a/public/lib/img/vimeo-play.png b/public/lib/img/vimeo-play.png
new file mode 100644
index 00000000..ef7d2457
Binary files /dev/null and b/public/lib/img/vimeo-play.png differ
diff --git a/public/lib/img/youtube-play.png b/public/lib/img/youtube-play.png
new file mode 100644
index 00000000..dfebb91f
Binary files /dev/null and b/public/lib/img/youtube-play.png differ
diff --git a/public/lib/katex/auto-render.min.9163cb51530e92ce40405af293022ea79968d26de2324907ac3d2e2781f97237868a102eb6a3f4c96d09e9da45895908.js b/public/lib/katex/auto-render.min.9163cb51530e92ce40405af293022ea79968d26de2324907ac3d2e2781f97237868a102eb6a3f4c96d09e9da45895908.js
new file mode 100644
index 00000000..3a6d6639
--- /dev/null
+++ b/public/lib/katex/auto-render.min.9163cb51530e92ce40405af293022ea79968d26de2324907ac3d2e2781f97237868a102eb6a3f4c96d09e9da45895908.js
@@ -0,0 +1 @@
+!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("katex")):"function"==typeof define&&define.amd?define(["katex"],t):"object"==typeof exports?exports.renderMathInElement=t(require("katex")):e.renderMathInElement=t(e.katex)}("undefined"!=typeof self?self:this,function(e){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=1)}([function(t,r){t.exports=e},function(e,t,r){"use strict";r.r(t);var n=r(0),o=r.n(n),a=function(e,t,r){for(var n=r,o=0,a=e.length;n.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathdefault{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-weight:700;font-style:italic}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;vertical-align:bottom;position:relative}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;vertical-align:bottom;font-size:1px;width:2px;min-width:2px}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{display:inline-block;width:100%;border-bottom-style:solid}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{display:inline-block;border:0 solid;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{display:inline-block;width:100%;border-bottom-style:solid}.katex .hdashline{display:inline-block;width:100%;border-bottom-style:dashed}.katex .sqrt>.root{margin-left:.27777778em;margin-right:-.55555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.83333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.71428571em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.85714286em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14285714em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571429em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857143em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71428571em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714286em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857143em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96285714em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55428571em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.55555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.66666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.77777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.88888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.41666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.58333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.66666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.83333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.34722222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.41666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.48611111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.55555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.69444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.83333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44027778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.28935185em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.34722222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.40509259em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.46296296em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.52083333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.69444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.83333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023148em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981481em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108004em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.28929605em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.33751205em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.38572806em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.43394407em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216008em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.57859209em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.69431051em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.83317261em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961427em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.20096463em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.24115756em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.28135048em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.32154341em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.36173633em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.40192926em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.48231511em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.57877814em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.69453376em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.83360129em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .op-limits>.vlist-t{text-align:center}.katex .accent>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{display:block;position:absolute;width:100%;height:inherit;fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex svg path{stroke:none}.katex img{border-style:none;min-width:0;min-height:0;max-width:none;max-height:none}.katex .stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{position:absolute;left:0;width:50.2%;overflow:hidden}.katex .halfarrow-right{position:absolute;right:0;width:50.2%;overflow:hidden}.katex .brace-left{position:absolute;left:0;width:25.1%;overflow:hidden}.katex .brace-center{position:absolute;left:25%;width:50%;overflow:hidden}.katex .brace-right{position:absolute;right:0;width:25.1%;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left}
diff --git a/public/lib/katex/katex.min.cb6dc8e50ea5f81eaf6ad69f030c51bbfd282bfefd5656d2cfb43d6a249952fc9660862c77eaa3fa8db81b9654db3273.js b/public/lib/katex/katex.min.cb6dc8e50ea5f81eaf6ad69f030c51bbfd282bfefd5656d2cfb43d6a249952fc9660862c77eaa3fa8db81b9654db3273.js
new file mode 100644
index 00000000..906ce128
--- /dev/null
+++ b/public/lib/katex/katex.min.cb6dc8e50ea5f81eaf6ad69f030c51bbfd282bfefd5656d2cfb43d6a249952fc9660862c77eaa3fa8db81b9654db3273.js
@@ -0,0 +1 @@
+!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.katex=e():t.katex=e()}("undefined"!=typeof self?self:this,function(){return function(t){var e={};function r(a){if(e[a])return e[a].exports;var n=e[a]={i:a,l:!1,exports:{}};return t[a].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=t,r.c=e,r.d=function(t,e,a){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var n in t)r.d(a,n,function(e){return t[e]}.bind(null,n));return a},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=1)}([function(t,e,r){},function(t,e,r){"use strict";r.r(e);r(0);var a=function(){function t(t,e,r){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=t,this.start=e,this.end=r}return t.range=function(e,r){return r?e&&e.loc&&r.loc&&e.loc.lexer===r.loc.lexer?new t(e.loc.lexer,e.loc.start,r.loc.end):null:e&&e.loc},t}(),n=function(){function t(t,e){this.text=void 0,this.loc=void 0,this.text=t,this.loc=e}return t.prototype.range=function(e,r){return new t(r,a.range(this,e))},t}(),i=function t(e,r){this.position=void 0;var a,n="KaTeX parse error: "+e,i=r&&r.loc;if(i&&i.start<=i.end){var o=i.lexer.input;a=i.start;var s=i.end;a===o.length?n+=" at end of input: ":n+=" at position "+(a+1)+": ";var h=o.slice(a,s).replace(/[^]/g,"$&\u0332");n+=(a>15?"\u2026"+o.slice(a-15,a):o.slice(0,a))+h+(s+15":">","<":"<",'"':""","'":"'"},l=/[&><"']/g;var m=function t(e){return"ordgroup"===e.type?1===e.body.length?t(e.body[0]):e:"color"===e.type?1===e.body.length?t(e.body[0]):e:"font"===e.type?t(e.body):e},c={contains:function(t,e){return-1!==t.indexOf(e)},deflt:function(t,e){return void 0===t?e:t},escape:function(t){return String(t).replace(l,function(t){return h[t]})},hyphenate:function(t){return t.replace(s,"-$1").toLowerCase()},getBaseElem:m,isCharacterBox:function(t){var e=m(t);return"mathord"===e.type||"textord"===e.type||"atom"===e.type},protocolFromUrl:function(t){var e=/^\s*([^\\\/#]*?)(?::|*58|*3a)/i.exec(t);return null!=e?e[1]:"_relative"}},u=function(){function t(t){this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,t=t||{},this.displayMode=c.deflt(t.displayMode,!1),this.output=c.deflt(t.output,"htmlAndMathml"),this.leqno=c.deflt(t.leqno,!1),this.fleqn=c.deflt(t.fleqn,!1),this.throwOnError=c.deflt(t.throwOnError,!0),this.errorColor=c.deflt(t.errorColor,"#cc0000"),this.macros=t.macros||{},this.minRuleThickness=Math.max(0,c.deflt(t.minRuleThickness,0)),this.colorIsTextColor=c.deflt(t.colorIsTextColor,!1),this.strict=c.deflt(t.strict,"warn"),this.trust=c.deflt(t.trust,!1),this.maxSize=Math.max(0,c.deflt(t.maxSize,1/0)),this.maxExpand=Math.max(0,c.deflt(t.maxExpand,1e3))}var e=t.prototype;return e.reportNonstrict=function(t,e,r){var a=this.strict;if("function"==typeof a&&(a=a(t,e,r)),a&&"ignore"!==a){if(!0===a||"error"===a)throw new o("LaTeX-incompatible input and strict mode is set to 'error': "+e+" ["+t+"]",r);"warn"===a?"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+e+" ["+t+"]"):"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+a+"': "+e+" ["+t+"]")}},e.useStrictBehavior=function(t,e,r){var a=this.strict;if("function"==typeof a)try{a=a(t,e,r)}catch(t){a="error"}return!(!a||"ignore"===a)&&(!0===a||"error"===a||("warn"===a?("undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+e+" ["+t+"]"),!1):("undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+a+"': "+e+" ["+t+"]"),!1)))},e.isTrusted=function(t){t.url&&!t.protocol&&(t.protocol=c.protocolFromUrl(t.url));var e="function"==typeof this.trust?this.trust(t):this.trust;return Boolean(e)},t}(),p=function(){function t(t,e,r){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=t,this.size=e,this.cramped=r}var e=t.prototype;return e.sup=function(){return d[f[this.id]]},e.sub=function(){return d[g[this.id]]},e.fracNum=function(){return d[x[this.id]]},e.fracDen=function(){return d[v[this.id]]},e.cramp=function(){return d[b[this.id]]},e.text=function(){return d[y[this.id]]},e.isTight=function(){return this.size>=2},t}(),d=[new p(0,0,!1),new p(1,0,!0),new p(2,1,!1),new p(3,1,!0),new p(4,2,!1),new p(5,2,!0),new p(6,3,!1),new p(7,3,!0)],f=[4,5,4,5,6,7,6,7],g=[5,5,5,5,7,7,7,7],x=[2,3,4,5,6,7,6,7],v=[3,3,5,5,7,7,7,7],b=[1,1,3,3,5,5,7,7],y=[0,1,2,3,2,3,2,3],w={DISPLAY:d[0],TEXT:d[2],SCRIPT:d[4],SCRIPTSCRIPT:d[6]},k=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];var S=[];function M(t){for(var e=0;e=S[e]&&t<=S[e+1])return!0;return!1}k.forEach(function(t){return t.blocks.forEach(function(t){return S.push.apply(S,t)})});var z={doubleleftarrow:"M262 157\nl10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3\n 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28\n 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\nm8 0v40h399730v-40zm0 194v40h399730v-40z",doublerightarrow:"M399738 392l\n-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5\n 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88\n-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68\n-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\nc-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z",leftarrow:"M400000 241H110l3-3c68.7-52.7 113.7-120\n 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8\n-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247\nc-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208\n 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3\n 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202\n l-3-3h399890zM100 241v40h399900v-40z",leftbrace:"M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\n 5-6 9-10 13-.7 1-7.3 1-20 1H6z",leftbraceunder:"M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13\n 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z",leftgroup:"M400000 80\nH435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0\n 435 0h399565z",leftgroupunder:"M400000 262\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\n 435 219h399565z",leftharpoon:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\n-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5\n-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7\n-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z",leftharpoonplus:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5\n 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3\n-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\nm0 0v40h400000v-40z",leftharpoondown:"M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\n 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667\n-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z",leftharpoondownplus:"M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12\n 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z",lefthook:"M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\n-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3\n-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21\n 71.5 23h399859zM103 281v-40h399897v40z",leftlinesegment:"M40 281 V428 H0 V94 H40 V241 H400000 v40z\nM40 281 V428 H0 V94 H40 V241 H400000 v40z",leftmapsto:"M40 281 V448H0V74H40V241H400000v40z\nM40 281 V448H0V74H40V241H400000v40z",leftToFrom:"M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\nc28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z",longequal:"M0 50 h400000 v40H0z m0 194h40000v40H0z\nM0 50 h400000 v40H0z m0 194h40000v40H0z",midbrace:"M200428 334\nc-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\n 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z",midbraceunder:"M199572 214\nc100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\n 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0\n-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z",oiintSize1:"M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\nm368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8\n60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z",oiintSize2:"M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\nc0 110 84 276 504 276s502.4-166 502.4-276z",oiiintSize1:"M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\n85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z",oiiintSize2:"M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\nc0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z",rightarrow:"M0 241v40h399891c-47.3 35.3-84 78-110 128\n-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20\n 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7\n 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85\n-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n 151.7 139 205zm0 0v40h399900v-40z",rightbrace:"M400000 542l\n-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\nc124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z",rightbraceunder:"M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\n-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z",rightgroup:"M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0\n 3-1 3-3v-38c-76-158-257-219-435-219H0z",rightgroupunder:"M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18\n 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z",rightharpoon:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3\n-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2\n-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58\n 69.2 92 94.5zm0 0v40h399900v-40z",rightharpoonplus:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11\n-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7\n 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z\nm0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z",rightharpoondown:"M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8\n 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5\n-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95\n-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z",rightharpoondownplus:"M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8\n 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3\n 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\nm0-194v40h400000v-40zm0 0v40h400000v-40z",righthook:"M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3\n 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0\n-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z",rightlinesegment:"M399960 241 V94 h40 V428 h-40 V281 H0 v-40z\nM399960 241 V94 h40 V428 h-40 V281 H0 v-40z",rightToFrom:"M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\n-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z",twoheadleftarrow:"M0 167c68 40\n 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\n 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z",twoheadrightarrow:"M400000 167\nc-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3\n 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\n 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z",tilde1:"M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\n-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0\n 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\n-68.267.847-113-73.952-191-73.952z",tilde2:"M344 55.266c-142 0-300.638 81.316-311.5 86.418\n-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\nc1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751\n 181.476 676 181.476c-149 0-189-126.21-332-126.21z",tilde3:"M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\n -338 0-409-156.573-744-156.573z",tilde4:"M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\n -175.236-744-175.236z",vec:"M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\n-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\nc-16-25.333-24-45-24-59z",widehat1:"M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\nc-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z",widehat2:"M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat3:"M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat4:"M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widecheck1:"M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\n-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z",widecheck2:"M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck3:"M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck4:"M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",baraboveleftarrow:"M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z",rightarrowabovebar:"M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z",baraboveshortleftharpoon:"M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\nc2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z",rightharpoonaboveshortbar:"M0,241 l0,40c399126,0,399993,0,399993,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z",shortbaraboveleftharpoon:"M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z",shortrightharpoonabovebar:"M53,241l0,40c398570,0,399437,0,399437,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z"},A=function(){function t(t){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=t,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}var e=t.prototype;return e.hasClass=function(t){return c.contains(this.classes,t)},e.toNode=function(){for(var t=document.createDocumentFragment(),e=0;e";for(var i=0;i"},N=function(){function t(t,e,r,a){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,B.call(this,t,r,a),this.children=e||[]}var e=t.prototype;return e.setAttribute=function(t,e){this.attributes[t]=e},e.hasClass=function(t){return c.contains(this.classes,t)},e.toNode=function(){return C.call(this,"span")},e.toMarkup=function(){return q.call(this,"span")},t}(),I=function(){function t(t,e,r,a){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,B.call(this,e,a),this.children=r||[],this.setAttribute("href",t)}var e=t.prototype;return e.setAttribute=function(t,e){this.attributes[t]=e},e.hasClass=function(t){return c.contains(this.classes,t)},e.toNode=function(){return C.call(this,"a")},e.toMarkup=function(){return q.call(this,"a")},t}(),R=function(){function t(t,e,r){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=e,this.src=t,this.classes=["mord"],this.style=r}var e=t.prototype;return e.hasClass=function(t){return c.contains(this.classes,t)},e.toNode=function(){var t=document.createElement("img");for(var e in t.src=this.src,t.alt=this.alt,t.className="mord",this.style)this.style.hasOwnProperty(e)&&(t.style[e]=this.style[e]);return t},e.toMarkup=function(){var t=" "},t}(),O={"\xee":"\u0131\u0302","\xef":"\u0131\u0308","\xed":"\u0131\u0301","\xec":"\u0131\u0300"},E=function(){function t(t,e,r,a,n,i,o,s){this.text=void 0,this.height=void 0,this.depth=void 0,this.italic=void 0,this.skew=void 0,this.width=void 0,this.maxFontSize=void 0,this.classes=void 0,this.style=void 0,this.text=t,this.height=e||0,this.depth=r||0,this.italic=a||0,this.skew=n||0,this.width=i||0,this.classes=o||[],this.style=s||{},this.maxFontSize=0;var h=function(t){for(var e=0;e=n[0]&&t<=n[1])return r.name}return null}(this.text.charCodeAt(0));h&&this.classes.push(h+"_fallback"),/[\xee\xef\xed\xec]/.test(this.text)&&(this.text=O[this.text])}var e=t.prototype;return e.hasClass=function(t){return c.contains(this.classes,t)},e.toNode=function(){var t=document.createTextNode(this.text),e=null;for(var r in this.italic>0&&((e=document.createElement("span")).style.marginRight=this.italic+"em"),this.classes.length>0&&((e=e||document.createElement("span")).className=T(this.classes)),this.style)this.style.hasOwnProperty(r)&&((e=e||document.createElement("span")).style[r]=this.style[r]);return e?(e.appendChild(t),e):t},e.toMarkup=function(){var t=!1,e="0&&(r+="margin-right:"+this.italic+"em;"),this.style)this.style.hasOwnProperty(a)&&(r+=c.hyphenate(a)+":"+this.style[a]+";");r&&(t=!0,e+=' style="'+c.escape(r)+'"');var n=c.escape(this.text);return t?(e+=">",e+=n,e+=" "):n},t}(),L=function(){function t(t,e){this.children=void 0,this.attributes=void 0,this.children=t||[],this.attributes=e||{}}var e=t.prototype;return e.toNode=function(){var t=document.createElementNS("http://www.w3.org/2000/svg","svg");for(var e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&t.setAttribute(e,this.attributes[e]);for(var r=0;r";for(var r=0;r"},t}(),H=function(){function t(t,e){this.pathName=void 0,this.alternate=void 0,this.pathName=t,this.alternate=e}var e=t.prototype;return e.toNode=function(){var t=document.createElementNS("http://www.w3.org/2000/svg","path");return this.alternate?t.setAttribute("d",this.alternate):t.setAttribute("d",z[this.pathName]),t},e.toMarkup=function(){return this.alternate?" ":" "},t}(),P=function(){function t(t){this.attributes=void 0,this.attributes=t||{}}var e=t.prototype;return e.toNode=function(){var t=document.createElementNS("http://www.w3.org/2000/svg","line");for(var e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&t.setAttribute(e,this.attributes[e]);return t},e.toMarkup=function(){var t=" "},t}();function D(t){if(t instanceof E)return t;throw new Error("Expected symbolNode but got "+String(t)+".")}var F={"AMS-Regular":{65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473]},"Fraktur-Regular":{33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],163:[0,.69444,0,0,.86853],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],163:[0,.69444,0,0,.76909],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],305:[0,.43056,0,.02778,.32246],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],567:[.19444,.43056,0,.08334,.38403],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.12,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,1],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.67,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.9,0,0,.278],8943:[-.19,.31,0,0,1.172],8945:[-.1,.82,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.744,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.744,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333]},"Math-Italic":{65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059]},"Math-Regular":{65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059]},"SansSerif-Bold":{33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212]},"Size1-Regular":{40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},V={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},U={"\xc5":"A","\xc7":"C","\xd0":"D","\xde":"o","\xe5":"a","\xe7":"c","\xf0":"d","\xfe":"o","\u0410":"A","\u0411":"B","\u0412":"B","\u0413":"F","\u0414":"A","\u0415":"E","\u0416":"K","\u0417":"3","\u0418":"N","\u0419":"N","\u041a":"K","\u041b":"N","\u041c":"M","\u041d":"H","\u041e":"O","\u041f":"N","\u0420":"P","\u0421":"C","\u0422":"T","\u0423":"y","\u0424":"O","\u0425":"X","\u0426":"U","\u0427":"h","\u0428":"W","\u0429":"W","\u042a":"B","\u042b":"X","\u042c":"B","\u042d":"3","\u042e":"X","\u042f":"R","\u0430":"a","\u0431":"b","\u0432":"a","\u0433":"r","\u0434":"y","\u0435":"e","\u0436":"m","\u0437":"e","\u0438":"n","\u0439":"n","\u043a":"n","\u043b":"n","\u043c":"m","\u043d":"n","\u043e":"o","\u043f":"n","\u0440":"p","\u0441":"c","\u0442":"o","\u0443":"y","\u0444":"b","\u0445":"x","\u0446":"n","\u0447":"n","\u0448":"w","\u0449":"w","\u044a":"a","\u044b":"m","\u044c":"a","\u044d":"e","\u044e":"m","\u044f":"r"};function G(t,e,r){if(!F[e])throw new Error("Font metrics not found for font: "+e+".");var a=t.charCodeAt(0),n=F[e][a];if(!n&&t[0]in U&&(a=U[t[0]].charCodeAt(0),n=F[e][a]),n||"text"!==r||M(a)&&(n=F[e][77]),n)return{depth:n[0],height:n[1],italic:n[2],skew:n[3],width:n[4]}}var Y={};var W={bin:1,close:1,inner:1,open:1,punct:1,rel:1},X={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},_={math:{},text:{}},j=_;function $(t,e,r,a,n,i){_[t][n]={font:e,group:r,replace:a},i&&a&&(_[t][a]=_[t][n])}var Z="main",K="ams",J="bin",Q="mathord",tt="op-token",et="rel";$("math",Z,et,"\u2261","\\equiv",!0),$("math",Z,et,"\u227a","\\prec",!0),$("math",Z,et,"\u227b","\\succ",!0),$("math",Z,et,"\u223c","\\sim",!0),$("math",Z,et,"\u22a5","\\perp"),$("math",Z,et,"\u2aaf","\\preceq",!0),$("math",Z,et,"\u2ab0","\\succeq",!0),$("math",Z,et,"\u2243","\\simeq",!0),$("math",Z,et,"\u2223","\\mid",!0),$("math",Z,et,"\u226a","\\ll",!0),$("math",Z,et,"\u226b","\\gg",!0),$("math",Z,et,"\u224d","\\asymp",!0),$("math",Z,et,"\u2225","\\parallel"),$("math",Z,et,"\u22c8","\\bowtie",!0),$("math",Z,et,"\u2323","\\smile",!0),$("math",Z,et,"\u2291","\\sqsubseteq",!0),$("math",Z,et,"\u2292","\\sqsupseteq",!0),$("math",Z,et,"\u2250","\\doteq",!0),$("math",Z,et,"\u2322","\\frown",!0),$("math",Z,et,"\u220b","\\ni",!0),$("math",Z,et,"\u221d","\\propto",!0),$("math",Z,et,"\u22a2","\\vdash",!0),$("math",Z,et,"\u22a3","\\dashv",!0),$("math",Z,et,"\u220b","\\owns"),$("math",Z,"punct",".","\\ldotp"),$("math",Z,"punct","\u22c5","\\cdotp"),$("math",Z,"textord","#","\\#"),$("text",Z,"textord","#","\\#"),$("math",Z,"textord","&","\\&"),$("text",Z,"textord","&","\\&"),$("math",Z,"textord","\u2135","\\aleph",!0),$("math",Z,"textord","\u2200","\\forall",!0),$("math",Z,"textord","\u210f","\\hbar",!0),$("math",Z,"textord","\u2203","\\exists",!0),$("math",Z,"textord","\u2207","\\nabla",!0),$("math",Z,"textord","\u266d","\\flat",!0),$("math",Z,"textord","\u2113","\\ell",!0),$("math",Z,"textord","\u266e","\\natural",!0),$("math",Z,"textord","\u2663","\\clubsuit",!0),$("math",Z,"textord","\u2118","\\wp",!0),$("math",Z,"textord","\u266f","\\sharp",!0),$("math",Z,"textord","\u2662","\\diamondsuit",!0),$("math",Z,"textord","\u211c","\\Re",!0),$("math",Z,"textord","\u2661","\\heartsuit",!0),$("math",Z,"textord","\u2111","\\Im",!0),$("math",Z,"textord","\u2660","\\spadesuit",!0),$("text",Z,"textord","\xa7","\\S",!0),$("text",Z,"textord","\xb6","\\P",!0),$("math",Z,"textord","\u2020","\\dag"),$("text",Z,"textord","\u2020","\\dag"),$("text",Z,"textord","\u2020","\\textdagger"),$("math",Z,"textord","\u2021","\\ddag"),$("text",Z,"textord","\u2021","\\ddag"),$("text",Z,"textord","\u2021","\\textdaggerdbl"),$("math",Z,"close","\u23b1","\\rmoustache",!0),$("math",Z,"open","\u23b0","\\lmoustache",!0),$("math",Z,"close","\u27ef","\\rgroup",!0),$("math",Z,"open","\u27ee","\\lgroup",!0),$("math",Z,J,"\u2213","\\mp",!0),$("math",Z,J,"\u2296","\\ominus",!0),$("math",Z,J,"\u228e","\\uplus",!0),$("math",Z,J,"\u2293","\\sqcap",!0),$("math",Z,J,"\u2217","\\ast"),$("math",Z,J,"\u2294","\\sqcup",!0),$("math",Z,J,"\u25ef","\\bigcirc"),$("math",Z,J,"\u2219","\\bullet"),$("math",Z,J,"\u2021","\\ddagger"),$("math",Z,J,"\u2240","\\wr",!0),$("math",Z,J,"\u2a3f","\\amalg"),$("math",Z,J,"&","\\And"),$("math",Z,et,"\u27f5","\\longleftarrow",!0),$("math",Z,et,"\u21d0","\\Leftarrow",!0),$("math",Z,et,"\u27f8","\\Longleftarrow",!0),$("math",Z,et,"\u27f6","\\longrightarrow",!0),$("math",Z,et,"\u21d2","\\Rightarrow",!0),$("math",Z,et,"\u27f9","\\Longrightarrow",!0),$("math",Z,et,"\u2194","\\leftrightarrow",!0),$("math",Z,et,"\u27f7","\\longleftrightarrow",!0),$("math",Z,et,"\u21d4","\\Leftrightarrow",!0),$("math",Z,et,"\u27fa","\\Longleftrightarrow",!0),$("math",Z,et,"\u21a6","\\mapsto",!0),$("math",Z,et,"\u27fc","\\longmapsto",!0),$("math",Z,et,"\u2197","\\nearrow",!0),$("math",Z,et,"\u21a9","\\hookleftarrow",!0),$("math",Z,et,"\u21aa","\\hookrightarrow",!0),$("math",Z,et,"\u2198","\\searrow",!0),$("math",Z,et,"\u21bc","\\leftharpoonup",!0),$("math",Z,et,"\u21c0","\\rightharpoonup",!0),$("math",Z,et,"\u2199","\\swarrow",!0),$("math",Z,et,"\u21bd","\\leftharpoondown",!0),$("math",Z,et,"\u21c1","\\rightharpoondown",!0),$("math",Z,et,"\u2196","\\nwarrow",!0),$("math",Z,et,"\u21cc","\\rightleftharpoons",!0),$("math",K,et,"\u226e","\\nless",!0),$("math",K,et,"\ue010","\\@nleqslant"),$("math",K,et,"\ue011","\\@nleqq"),$("math",K,et,"\u2a87","\\lneq",!0),$("math",K,et,"\u2268","\\lneqq",!0),$("math",K,et,"\ue00c","\\@lvertneqq"),$("math",K,et,"\u22e6","\\lnsim",!0),$("math",K,et,"\u2a89","\\lnapprox",!0),$("math",K,et,"\u2280","\\nprec",!0),$("math",K,et,"\u22e0","\\npreceq",!0),$("math",K,et,"\u22e8","\\precnsim",!0),$("math",K,et,"\u2ab9","\\precnapprox",!0),$("math",K,et,"\u2241","\\nsim",!0),$("math",K,et,"\ue006","\\@nshortmid"),$("math",K,et,"\u2224","\\nmid",!0),$("math",K,et,"\u22ac","\\nvdash",!0),$("math",K,et,"\u22ad","\\nvDash",!0),$("math",K,et,"\u22ea","\\ntriangleleft"),$("math",K,et,"\u22ec","\\ntrianglelefteq",!0),$("math",K,et,"\u228a","\\subsetneq",!0),$("math",K,et,"\ue01a","\\@varsubsetneq"),$("math",K,et,"\u2acb","\\subsetneqq",!0),$("math",K,et,"\ue017","\\@varsubsetneqq"),$("math",K,et,"\u226f","\\ngtr",!0),$("math",K,et,"\ue00f","\\@ngeqslant"),$("math",K,et,"\ue00e","\\@ngeqq"),$("math",K,et,"\u2a88","\\gneq",!0),$("math",K,et,"\u2269","\\gneqq",!0),$("math",K,et,"\ue00d","\\@gvertneqq"),$("math",K,et,"\u22e7","\\gnsim",!0),$("math",K,et,"\u2a8a","\\gnapprox",!0),$("math",K,et,"\u2281","\\nsucc",!0),$("math",K,et,"\u22e1","\\nsucceq",!0),$("math",K,et,"\u22e9","\\succnsim",!0),$("math",K,et,"\u2aba","\\succnapprox",!0),$("math",K,et,"\u2246","\\ncong",!0),$("math",K,et,"\ue007","\\@nshortparallel"),$("math",K,et,"\u2226","\\nparallel",!0),$("math",K,et,"\u22af","\\nVDash",!0),$("math",K,et,"\u22eb","\\ntriangleright"),$("math",K,et,"\u22ed","\\ntrianglerighteq",!0),$("math",K,et,"\ue018","\\@nsupseteqq"),$("math",K,et,"\u228b","\\supsetneq",!0),$("math",K,et,"\ue01b","\\@varsupsetneq"),$("math",K,et,"\u2acc","\\supsetneqq",!0),$("math",K,et,"\ue019","\\@varsupsetneqq"),$("math",K,et,"\u22ae","\\nVdash",!0),$("math",K,et,"\u2ab5","\\precneqq",!0),$("math",K,et,"\u2ab6","\\succneqq",!0),$("math",K,et,"\ue016","\\@nsubseteqq"),$("math",K,J,"\u22b4","\\unlhd"),$("math",K,J,"\u22b5","\\unrhd"),$("math",K,et,"\u219a","\\nleftarrow",!0),$("math",K,et,"\u219b","\\nrightarrow",!0),$("math",K,et,"\u21cd","\\nLeftarrow",!0),$("math",K,et,"\u21cf","\\nRightarrow",!0),$("math",K,et,"\u21ae","\\nleftrightarrow",!0),$("math",K,et,"\u21ce","\\nLeftrightarrow",!0),$("math",K,et,"\u25b3","\\vartriangle"),$("math",K,"textord","\u210f","\\hslash"),$("math",K,"textord","\u25bd","\\triangledown"),$("math",K,"textord","\u25ca","\\lozenge"),$("math",K,"textord","\u24c8","\\circledS"),$("math",K,"textord","\xae","\\circledR"),$("text",K,"textord","\xae","\\circledR"),$("math",K,"textord","\u2221","\\measuredangle",!0),$("math",K,"textord","\u2204","\\nexists"),$("math",K,"textord","\u2127","\\mho"),$("math",K,"textord","\u2132","\\Finv",!0),$("math",K,"textord","\u2141","\\Game",!0),$("math",K,"textord","\u2035","\\backprime"),$("math",K,"textord","\u25b2","\\blacktriangle"),$("math",K,"textord","\u25bc","\\blacktriangledown"),$("math",K,"textord","\u25a0","\\blacksquare"),$("math",K,"textord","\u29eb","\\blacklozenge"),$("math",K,"textord","\u2605","\\bigstar"),$("math",K,"textord","\u2222","\\sphericalangle",!0),$("math",K,"textord","\u2201","\\complement",!0),$("math",K,"textord","\xf0","\\eth",!0),$("math",K,"textord","\u2571","\\diagup"),$("math",K,"textord","\u2572","\\diagdown"),$("math",K,"textord","\u25a1","\\square"),$("math",K,"textord","\u25a1","\\Box"),$("math",K,"textord","\u25ca","\\Diamond"),$("math",K,"textord","\xa5","\\yen",!0),$("text",K,"textord","\xa5","\\yen",!0),$("math",K,"textord","\u2713","\\checkmark",!0),$("text",K,"textord","\u2713","\\checkmark"),$("math",K,"textord","\u2136","\\beth",!0),$("math",K,"textord","\u2138","\\daleth",!0),$("math",K,"textord","\u2137","\\gimel",!0),$("math",K,"textord","\u03dd","\\digamma",!0),$("math",K,"textord","\u03f0","\\varkappa"),$("math",K,"open","\u250c","\\ulcorner",!0),$("math",K,"close","\u2510","\\urcorner",!0),$("math",K,"open","\u2514","\\llcorner",!0),$("math",K,"close","\u2518","\\lrcorner",!0),$("math",K,et,"\u2266","\\leqq",!0),$("math",K,et,"\u2a7d","\\leqslant",!0),$("math",K,et,"\u2a95","\\eqslantless",!0),$("math",K,et,"\u2272","\\lesssim",!0),$("math",K,et,"\u2a85","\\lessapprox",!0),$("math",K,et,"\u224a","\\approxeq",!0),$("math",K,J,"\u22d6","\\lessdot"),$("math",K,et,"\u22d8","\\lll",!0),$("math",K,et,"\u2276","\\lessgtr",!0),$("math",K,et,"\u22da","\\lesseqgtr",!0),$("math",K,et,"\u2a8b","\\lesseqqgtr",!0),$("math",K,et,"\u2251","\\doteqdot"),$("math",K,et,"\u2253","\\risingdotseq",!0),$("math",K,et,"\u2252","\\fallingdotseq",!0),$("math",K,et,"\u223d","\\backsim",!0),$("math",K,et,"\u22cd","\\backsimeq",!0),$("math",K,et,"\u2ac5","\\subseteqq",!0),$("math",K,et,"\u22d0","\\Subset",!0),$("math",K,et,"\u228f","\\sqsubset",!0),$("math",K,et,"\u227c","\\preccurlyeq",!0),$("math",K,et,"\u22de","\\curlyeqprec",!0),$("math",K,et,"\u227e","\\precsim",!0),$("math",K,et,"\u2ab7","\\precapprox",!0),$("math",K,et,"\u22b2","\\vartriangleleft"),$("math",K,et,"\u22b4","\\trianglelefteq"),$("math",K,et,"\u22a8","\\vDash",!0),$("math",K,et,"\u22aa","\\Vvdash",!0),$("math",K,et,"\u2323","\\smallsmile"),$("math",K,et,"\u2322","\\smallfrown"),$("math",K,et,"\u224f","\\bumpeq",!0),$("math",K,et,"\u224e","\\Bumpeq",!0),$("math",K,et,"\u2267","\\geqq",!0),$("math",K,et,"\u2a7e","\\geqslant",!0),$("math",K,et,"\u2a96","\\eqslantgtr",!0),$("math",K,et,"\u2273","\\gtrsim",!0),$("math",K,et,"\u2a86","\\gtrapprox",!0),$("math",K,J,"\u22d7","\\gtrdot"),$("math",K,et,"\u22d9","\\ggg",!0),$("math",K,et,"\u2277","\\gtrless",!0),$("math",K,et,"\u22db","\\gtreqless",!0),$("math",K,et,"\u2a8c","\\gtreqqless",!0),$("math",K,et,"\u2256","\\eqcirc",!0),$("math",K,et,"\u2257","\\circeq",!0),$("math",K,et,"\u225c","\\triangleq",!0),$("math",K,et,"\u223c","\\thicksim"),$("math",K,et,"\u2248","\\thickapprox"),$("math",K,et,"\u2ac6","\\supseteqq",!0),$("math",K,et,"\u22d1","\\Supset",!0),$("math",K,et,"\u2290","\\sqsupset",!0),$("math",K,et,"\u227d","\\succcurlyeq",!0),$("math",K,et,"\u22df","\\curlyeqsucc",!0),$("math",K,et,"\u227f","\\succsim",!0),$("math",K,et,"\u2ab8","\\succapprox",!0),$("math",K,et,"\u22b3","\\vartriangleright"),$("math",K,et,"\u22b5","\\trianglerighteq"),$("math",K,et,"\u22a9","\\Vdash",!0),$("math",K,et,"\u2223","\\shortmid"),$("math",K,et,"\u2225","\\shortparallel"),$("math",K,et,"\u226c","\\between",!0),$("math",K,et,"\u22d4","\\pitchfork",!0),$("math",K,et,"\u221d","\\varpropto"),$("math",K,et,"\u25c0","\\blacktriangleleft"),$("math",K,et,"\u2234","\\therefore",!0),$("math",K,et,"\u220d","\\backepsilon"),$("math",K,et,"\u25b6","\\blacktriangleright"),$("math",K,et,"\u2235","\\because",!0),$("math",K,et,"\u22d8","\\llless"),$("math",K,et,"\u22d9","\\gggtr"),$("math",K,J,"\u22b2","\\lhd"),$("math",K,J,"\u22b3","\\rhd"),$("math",K,et,"\u2242","\\eqsim",!0),$("math",Z,et,"\u22c8","\\Join"),$("math",K,et,"\u2251","\\Doteq",!0),$("math",K,J,"\u2214","\\dotplus",!0),$("math",K,J,"\u2216","\\smallsetminus"),$("math",K,J,"\u22d2","\\Cap",!0),$("math",K,J,"\u22d3","\\Cup",!0),$("math",K,J,"\u2a5e","\\doublebarwedge",!0),$("math",K,J,"\u229f","\\boxminus",!0),$("math",K,J,"\u229e","\\boxplus",!0),$("math",K,J,"\u22c7","\\divideontimes",!0),$("math",K,J,"\u22c9","\\ltimes",!0),$("math",K,J,"\u22ca","\\rtimes",!0),$("math",K,J,"\u22cb","\\leftthreetimes",!0),$("math",K,J,"\u22cc","\\rightthreetimes",!0),$("math",K,J,"\u22cf","\\curlywedge",!0),$("math",K,J,"\u22ce","\\curlyvee",!0),$("math",K,J,"\u229d","\\circleddash",!0),$("math",K,J,"\u229b","\\circledast",!0),$("math",K,J,"\u22c5","\\centerdot"),$("math",K,J,"\u22ba","\\intercal",!0),$("math",K,J,"\u22d2","\\doublecap"),$("math",K,J,"\u22d3","\\doublecup"),$("math",K,J,"\u22a0","\\boxtimes",!0),$("math",K,et,"\u21e2","\\dashrightarrow",!0),$("math",K,et,"\u21e0","\\dashleftarrow",!0),$("math",K,et,"\u21c7","\\leftleftarrows",!0),$("math",K,et,"\u21c6","\\leftrightarrows",!0),$("math",K,et,"\u21da","\\Lleftarrow",!0),$("math",K,et,"\u219e","\\twoheadleftarrow",!0),$("math",K,et,"\u21a2","\\leftarrowtail",!0),$("math",K,et,"\u21ab","\\looparrowleft",!0),$("math",K,et,"\u21cb","\\leftrightharpoons",!0),$("math",K,et,"\u21b6","\\curvearrowleft",!0),$("math",K,et,"\u21ba","\\circlearrowleft",!0),$("math",K,et,"\u21b0","\\Lsh",!0),$("math",K,et,"\u21c8","\\upuparrows",!0),$("math",K,et,"\u21bf","\\upharpoonleft",!0),$("math",K,et,"\u21c3","\\downharpoonleft",!0),$("math",K,et,"\u22b8","\\multimap",!0),$("math",K,et,"\u21ad","\\leftrightsquigarrow",!0),$("math",K,et,"\u21c9","\\rightrightarrows",!0),$("math",K,et,"\u21c4","\\rightleftarrows",!0),$("math",K,et,"\u21a0","\\twoheadrightarrow",!0),$("math",K,et,"\u21a3","\\rightarrowtail",!0),$("math",K,et,"\u21ac","\\looparrowright",!0),$("math",K,et,"\u21b7","\\curvearrowright",!0),$("math",K,et,"\u21bb","\\circlearrowright",!0),$("math",K,et,"\u21b1","\\Rsh",!0),$("math",K,et,"\u21ca","\\downdownarrows",!0),$("math",K,et,"\u21be","\\upharpoonright",!0),$("math",K,et,"\u21c2","\\downharpoonright",!0),$("math",K,et,"\u21dd","\\rightsquigarrow",!0),$("math",K,et,"\u21dd","\\leadsto"),$("math",K,et,"\u21db","\\Rrightarrow",!0),$("math",K,et,"\u21be","\\restriction"),$("math",Z,"textord","\u2018","`"),$("math",Z,"textord","$","\\$"),$("text",Z,"textord","$","\\$"),$("text",Z,"textord","$","\\textdollar"),$("math",Z,"textord","%","\\%"),$("text",Z,"textord","%","\\%"),$("math",Z,"textord","_","\\_"),$("text",Z,"textord","_","\\_"),$("text",Z,"textord","_","\\textunderscore"),$("math",Z,"textord","\u2220","\\angle",!0),$("math",Z,"textord","\u221e","\\infty",!0),$("math",Z,"textord","\u2032","\\prime"),$("math",Z,"textord","\u25b3","\\triangle"),$("math",Z,"textord","\u0393","\\Gamma",!0),$("math",Z,"textord","\u0394","\\Delta",!0),$("math",Z,"textord","\u0398","\\Theta",!0),$("math",Z,"textord","\u039b","\\Lambda",!0),$("math",Z,"textord","\u039e","\\Xi",!0),$("math",Z,"textord","\u03a0","\\Pi",!0),$("math",Z,"textord","\u03a3","\\Sigma",!0),$("math",Z,"textord","\u03a5","\\Upsilon",!0),$("math",Z,"textord","\u03a6","\\Phi",!0),$("math",Z,"textord","\u03a8","\\Psi",!0),$("math",Z,"textord","\u03a9","\\Omega",!0),$("math",Z,"textord","A","\u0391"),$("math",Z,"textord","B","\u0392"),$("math",Z,"textord","E","\u0395"),$("math",Z,"textord","Z","\u0396"),$("math",Z,"textord","H","\u0397"),$("math",Z,"textord","I","\u0399"),$("math",Z,"textord","K","\u039a"),$("math",Z,"textord","M","\u039c"),$("math",Z,"textord","N","\u039d"),$("math",Z,"textord","O","\u039f"),$("math",Z,"textord","P","\u03a1"),$("math",Z,"textord","T","\u03a4"),$("math",Z,"textord","X","\u03a7"),$("math",Z,"textord","\xac","\\neg",!0),$("math",Z,"textord","\xac","\\lnot"),$("math",Z,"textord","\u22a4","\\top"),$("math",Z,"textord","\u22a5","\\bot"),$("math",Z,"textord","\u2205","\\emptyset"),$("math",K,"textord","\u2205","\\varnothing"),$("math",Z,Q,"\u03b1","\\alpha",!0),$("math",Z,Q,"\u03b2","\\beta",!0),$("math",Z,Q,"\u03b3","\\gamma",!0),$("math",Z,Q,"\u03b4","\\delta",!0),$("math",Z,Q,"\u03f5","\\epsilon",!0),$("math",Z,Q,"\u03b6","\\zeta",!0),$("math",Z,Q,"\u03b7","\\eta",!0),$("math",Z,Q,"\u03b8","\\theta",!0),$("math",Z,Q,"\u03b9","\\iota",!0),$("math",Z,Q,"\u03ba","\\kappa",!0),$("math",Z,Q,"\u03bb","\\lambda",!0),$("math",Z,Q,"\u03bc","\\mu",!0),$("math",Z,Q,"\u03bd","\\nu",!0),$("math",Z,Q,"\u03be","\\xi",!0),$("math",Z,Q,"\u03bf","\\omicron",!0),$("math",Z,Q,"\u03c0","\\pi",!0),$("math",Z,Q,"\u03c1","\\rho",!0),$("math",Z,Q,"\u03c3","\\sigma",!0),$("math",Z,Q,"\u03c4","\\tau",!0),$("math",Z,Q,"\u03c5","\\upsilon",!0),$("math",Z,Q,"\u03d5","\\phi",!0),$("math",Z,Q,"\u03c7","\\chi",!0),$("math",Z,Q,"\u03c8","\\psi",!0),$("math",Z,Q,"\u03c9","\\omega",!0),$("math",Z,Q,"\u03b5","\\varepsilon",!0),$("math",Z,Q,"\u03d1","\\vartheta",!0),$("math",Z,Q,"\u03d6","\\varpi",!0),$("math",Z,Q,"\u03f1","\\varrho",!0),$("math",Z,Q,"\u03c2","\\varsigma",!0),$("math",Z,Q,"\u03c6","\\varphi",!0),$("math",Z,J,"\u2217","*"),$("math",Z,J,"+","+"),$("math",Z,J,"\u2212","-"),$("math",Z,J,"\u22c5","\\cdot",!0),$("math",Z,J,"\u2218","\\circ"),$("math",Z,J,"\xf7","\\div",!0),$("math",Z,J,"\xb1","\\pm",!0),$("math",Z,J,"\xd7","\\times",!0),$("math",Z,J,"\u2229","\\cap",!0),$("math",Z,J,"\u222a","\\cup",!0),$("math",Z,J,"\u2216","\\setminus"),$("math",Z,J,"\u2227","\\land"),$("math",Z,J,"\u2228","\\lor"),$("math",Z,J,"\u2227","\\wedge",!0),$("math",Z,J,"\u2228","\\vee",!0),$("math",Z,"textord","\u221a","\\surd"),$("math",Z,"open","(","("),$("math",Z,"open","[","["),$("math",Z,"open","\u27e8","\\langle",!0),$("math",Z,"open","\u2223","\\lvert"),$("math",Z,"open","\u2225","\\lVert"),$("math",Z,"close",")",")"),$("math",Z,"close","]","]"),$("math",Z,"close","?","?"),$("math",Z,"close","!","!"),$("math",Z,"close","\u27e9","\\rangle",!0),$("math",Z,"close","\u2223","\\rvert"),$("math",Z,"close","\u2225","\\rVert"),$("math",Z,et,"=","="),$("math",Z,et,"<","<"),$("math",Z,et,">",">"),$("math",Z,et,":",":"),$("math",Z,et,"\u2248","\\approx",!0),$("math",Z,et,"\u2245","\\cong",!0),$("math",Z,et,"\u2265","\\ge"),$("math",Z,et,"\u2265","\\geq",!0),$("math",Z,et,"\u2190","\\gets"),$("math",Z,et,">","\\gt"),$("math",Z,et,"\u2208","\\in",!0),$("math",Z,et,"\ue020","\\@not"),$("math",Z,et,"\u2282","\\subset",!0),$("math",Z,et,"\u2283","\\supset",!0),$("math",Z,et,"\u2286","\\subseteq",!0),$("math",Z,et,"\u2287","\\supseteq",!0),$("math",K,et,"\u2288","\\nsubseteq",!0),$("math",K,et,"\u2289","\\nsupseteq",!0),$("math",Z,et,"\u22a8","\\models"),$("math",Z,et,"\u2190","\\leftarrow",!0),$("math",Z,et,"\u2264","\\le"),$("math",Z,et,"\u2264","\\leq",!0),$("math",Z,et,"<","\\lt"),$("math",Z,et,"\u2192","\\rightarrow",!0),$("math",Z,et,"\u2192","\\to"),$("math",K,et,"\u2271","\\ngeq",!0),$("math",K,et,"\u2270","\\nleq",!0),$("math",Z,"spacing","\xa0","\\ "),$("math",Z,"spacing","\xa0","~"),$("math",Z,"spacing","\xa0","\\space"),$("math",Z,"spacing","\xa0","\\nobreakspace"),$("text",Z,"spacing","\xa0","\\ "),$("text",Z,"spacing","\xa0","~"),$("text",Z,"spacing","\xa0","\\space"),$("text",Z,"spacing","\xa0","\\nobreakspace"),$("math",Z,"spacing",null,"\\nobreak"),$("math",Z,"spacing",null,"\\allowbreak"),$("math",Z,"punct",",",","),$("math",Z,"punct",";",";"),$("math",K,J,"\u22bc","\\barwedge",!0),$("math",K,J,"\u22bb","\\veebar",!0),$("math",Z,J,"\u2299","\\odot",!0),$("math",Z,J,"\u2295","\\oplus",!0),$("math",Z,J,"\u2297","\\otimes",!0),$("math",Z,"textord","\u2202","\\partial",!0),$("math",Z,J,"\u2298","\\oslash",!0),$("math",K,J,"\u229a","\\circledcirc",!0),$("math",K,J,"\u22a1","\\boxdot",!0),$("math",Z,J,"\u25b3","\\bigtriangleup"),$("math",Z,J,"\u25bd","\\bigtriangledown"),$("math",Z,J,"\u2020","\\dagger"),$("math",Z,J,"\u22c4","\\diamond"),$("math",Z,J,"\u22c6","\\star"),$("math",Z,J,"\u25c3","\\triangleleft"),$("math",Z,J,"\u25b9","\\triangleright"),$("math",Z,"open","{","\\{"),$("text",Z,"textord","{","\\{"),$("text",Z,"textord","{","\\textbraceleft"),$("math",Z,"close","}","\\}"),$("text",Z,"textord","}","\\}"),$("text",Z,"textord","}","\\textbraceright"),$("math",Z,"open","{","\\lbrace"),$("math",Z,"close","}","\\rbrace"),$("math",Z,"open","[","\\lbrack"),$("text",Z,"textord","[","\\lbrack"),$("math",Z,"close","]","\\rbrack"),$("text",Z,"textord","]","\\rbrack"),$("math",Z,"open","(","\\lparen"),$("math",Z,"close",")","\\rparen"),$("text",Z,"textord","<","\\textless"),$("text",Z,"textord",">","\\textgreater"),$("math",Z,"open","\u230a","\\lfloor",!0),$("math",Z,"close","\u230b","\\rfloor",!0),$("math",Z,"open","\u2308","\\lceil",!0),$("math",Z,"close","\u2309","\\rceil",!0),$("math",Z,"textord","\\","\\backslash"),$("math",Z,"textord","\u2223","|"),$("math",Z,"textord","\u2223","\\vert"),$("text",Z,"textord","|","\\textbar"),$("math",Z,"textord","\u2225","\\|"),$("math",Z,"textord","\u2225","\\Vert"),$("text",Z,"textord","\u2225","\\textbardbl"),$("text",Z,"textord","~","\\textasciitilde"),$("text",Z,"textord","\\","\\textbackslash"),$("text",Z,"textord","^","\\textasciicircum"),$("math",Z,et,"\u2191","\\uparrow",!0),$("math",Z,et,"\u21d1","\\Uparrow",!0),$("math",Z,et,"\u2193","\\downarrow",!0),$("math",Z,et,"\u21d3","\\Downarrow",!0),$("math",Z,et,"\u2195","\\updownarrow",!0),$("math",Z,et,"\u21d5","\\Updownarrow",!0),$("math",Z,tt,"\u2210","\\coprod"),$("math",Z,tt,"\u22c1","\\bigvee"),$("math",Z,tt,"\u22c0","\\bigwedge"),$("math",Z,tt,"\u2a04","\\biguplus"),$("math",Z,tt,"\u22c2","\\bigcap"),$("math",Z,tt,"\u22c3","\\bigcup"),$("math",Z,tt,"\u222b","\\int"),$("math",Z,tt,"\u222b","\\intop"),$("math",Z,tt,"\u222c","\\iint"),$("math",Z,tt,"\u222d","\\iiint"),$("math",Z,tt,"\u220f","\\prod"),$("math",Z,tt,"\u2211","\\sum"),$("math",Z,tt,"\u2a02","\\bigotimes"),$("math",Z,tt,"\u2a01","\\bigoplus"),$("math",Z,tt,"\u2a00","\\bigodot"),$("math",Z,tt,"\u222e","\\oint"),$("math",Z,tt,"\u222f","\\oiint"),$("math",Z,tt,"\u2230","\\oiiint"),$("math",Z,tt,"\u2a06","\\bigsqcup"),$("math",Z,tt,"\u222b","\\smallint"),$("text",Z,"inner","\u2026","\\textellipsis"),$("math",Z,"inner","\u2026","\\mathellipsis"),$("text",Z,"inner","\u2026","\\ldots",!0),$("math",Z,"inner","\u2026","\\ldots",!0),$("math",Z,"inner","\u22ef","\\@cdots",!0),$("math",Z,"inner","\u22f1","\\ddots",!0),$("math",Z,"textord","\u22ee","\\varvdots"),$("math",Z,"accent-token","\u02ca","\\acute"),$("math",Z,"accent-token","\u02cb","\\grave"),$("math",Z,"accent-token","\xa8","\\ddot"),$("math",Z,"accent-token","~","\\tilde"),$("math",Z,"accent-token","\u02c9","\\bar"),$("math",Z,"accent-token","\u02d8","\\breve"),$("math",Z,"accent-token","\u02c7","\\check"),$("math",Z,"accent-token","^","\\hat"),$("math",Z,"accent-token","\u20d7","\\vec"),$("math",Z,"accent-token","\u02d9","\\dot"),$("math",Z,"accent-token","\u02da","\\mathring"),$("math",Z,Q,"\u0131","\\imath",!0),$("math",Z,Q,"\u0237","\\jmath",!0),$("text",Z,"textord","\u0131","\\i",!0),$("text",Z,"textord","\u0237","\\j",!0),$("text",Z,"textord","\xdf","\\ss",!0),$("text",Z,"textord","\xe6","\\ae",!0),$("text",Z,"textord","\xe6","\\ae",!0),$("text",Z,"textord","\u0153","\\oe",!0),$("text",Z,"textord","\xf8","\\o",!0),$("text",Z,"textord","\xc6","\\AE",!0),$("text",Z,"textord","\u0152","\\OE",!0),$("text",Z,"textord","\xd8","\\O",!0),$("text",Z,"accent-token","\u02ca","\\'"),$("text",Z,"accent-token","\u02cb","\\`"),$("text",Z,"accent-token","\u02c6","\\^"),$("text",Z,"accent-token","\u02dc","\\~"),$("text",Z,"accent-token","\u02c9","\\="),$("text",Z,"accent-token","\u02d8","\\u"),$("text",Z,"accent-token","\u02d9","\\."),$("text",Z,"accent-token","\u02da","\\r"),$("text",Z,"accent-token","\u02c7","\\v"),$("text",Z,"accent-token","\xa8",'\\"'),$("text",Z,"accent-token","\u02dd","\\H"),$("text",Z,"accent-token","\u25ef","\\textcircled");var rt={"--":!0,"---":!0,"``":!0,"''":!0};$("text",Z,"textord","\u2013","--"),$("text",Z,"textord","\u2013","\\textendash"),$("text",Z,"textord","\u2014","---"),$("text",Z,"textord","\u2014","\\textemdash"),$("text",Z,"textord","\u2018","`"),$("text",Z,"textord","\u2018","\\textquoteleft"),$("text",Z,"textord","\u2019","'"),$("text",Z,"textord","\u2019","\\textquoteright"),$("text",Z,"textord","\u201c","``"),$("text",Z,"textord","\u201c","\\textquotedblleft"),$("text",Z,"textord","\u201d","''"),$("text",Z,"textord","\u201d","\\textquotedblright"),$("math",Z,"textord","\xb0","\\degree",!0),$("text",Z,"textord","\xb0","\\degree"),$("text",Z,"textord","\xb0","\\textdegree",!0),$("math",Z,Q,"\xa3","\\pounds"),$("math",Z,Q,"\xa3","\\mathsterling",!0),$("text",Z,Q,"\xa3","\\pounds"),$("text",Z,Q,"\xa3","\\textsterling",!0),$("math",K,"textord","\u2720","\\maltese"),$("text",K,"textord","\u2720","\\maltese"),$("text",Z,"spacing","\xa0","\\ "),$("text",Z,"spacing","\xa0"," "),$("text",Z,"spacing","\xa0","~");for(var at=0;at<'0123456789/@."'.length;at++){var nt='0123456789/@."'.charAt(at);$("math",Z,"textord",nt,nt)}for(var it=0;it<'0123456789!@*()-=+[]<>|";:?/.,'.length;it++){var ot='0123456789!@*()-=+[]<>|";:?/.,'.charAt(it);$("text",Z,"textord",ot,ot)}for(var st="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",ht=0;ht=5?0:t>=3?1:2]){var r=Y[e]={cssEmPerMu:V.quad[e]/18};for(var a in V)V.hasOwnProperty(a)&&(r[a]=V[a][e])}return Y[e]}(this.size)),this._fontMetrics},e.getColor=function(){return this.phantom?"transparent":this.color},t}();kt.BASESIZE=6;var St=kt,Mt={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:1.00375,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:1.00375},zt={ex:!0,em:!0,mu:!0},At=function(t){return"string"!=typeof t&&(t=t.unit),t in Mt||t in zt||"ex"===t},Tt=function(t,e){var r;if(t.unit in Mt)r=Mt[t.unit]/e.fontMetrics().ptPerEm/e.sizeMultiplier;else if("mu"===t.unit)r=e.fontMetrics().cssEmPerMu;else{var a;if(a=e.style.isTight()?e.havingStyle(e.style.text()):e,"ex"===t.unit)r=a.fontMetrics().xHeight;else{if("em"!==t.unit)throw new o("Invalid unit: '"+t.unit+"'");r=a.fontMetrics().quad}a!==e&&(r*=a.sizeMultiplier/e.sizeMultiplier)}return Math.min(t.number*r,e.maxSize)},Bt=["\\imath","\u0131","\\jmath","\u0237","\\pounds","\\mathsterling","\\textsterling","\xa3"],Ct=function(t,e,r){return j[r][t]&&j[r][t].replace&&(t=j[r][t].replace),{value:t,metrics:G(t,e,r)}},qt=function(t,e,r,a,n){var i,o=Ct(t,e,r),s=o.metrics;if(t=o.value,s){var h=s.italic;("text"===r||a&&"mathit"===a.font)&&(h=0),i=new E(t,s.height,s.depth,h,s.skew,s.width,n)}else"undefined"!=typeof console&&console.warn("No character metrics for '"+t+"' in style '"+e+"' and mode '"+r+"'"),i=new E(t,0,0,0,0,0,n);if(a){i.maxFontSize=a.sizeMultiplier,a.style.isTight()&&i.classes.push("mtight");var l=a.getColor();l&&(i.style.color=l)}return i},Nt=function(t,e){if(T(t.classes)!==T(e.classes)||t.skew!==e.skew||t.maxFontSize!==e.maxFontSize)return!1;for(var r in t.style)if(t.style.hasOwnProperty(r)&&t.style[r]!==e.style[r])return!1;for(var a in e.style)if(e.style.hasOwnProperty(a)&&t.style[a]!==e.style[a])return!1;return!0},It=function(t){for(var e=0,r=0,a=0,n=0;ne&&(e=i.height),i.depth>r&&(r=i.depth),i.maxFontSize>a&&(a=i.maxFontSize)}t.height=e,t.depth=r,t.maxFontSize=a},Rt=function(t,e,r,a){var n=new N(t,e,r,a);return It(n),n},Ot=function(t,e,r,a){return new N(t,e,r,a)},Et=function(t){var e=new A(t);return It(e),e},Lt=function(t,e,r){var a="";switch(t){case"amsrm":a="AMS";break;case"textrm":a="Main";break;case"textsf":a="SansSerif";break;case"texttt":a="Typewriter";break;default:a=t}return a+"-"+("textbf"===e&&"textit"===r?"BoldItalic":"textbf"===e?"Bold":"textit"===e?"Italic":"Regular")},Ht={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},Pt={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},Dt={fontMap:Ht,makeSymbol:qt,mathsym:function(t,e,r,a){return void 0===a&&(a=[]),"boldsymbol"===r.font&&Ct(t,"Main-Bold",e).metrics?qt(t,"Main-Bold",e,r,a.concat(["mathbf"])):"\\"===t||"main"===j[e][t].font?qt(t,"Main-Regular",e,r,a):qt(t,"AMS-Regular",e,r,a.concat(["amsrm"]))},makeSpan:Rt,makeSvgSpan:Ot,makeLineSpan:function(t,e,r){var a=Rt([t],[],e);return a.height=Math.max(r||e.fontMetrics().defaultRuleThickness,e.minRuleThickness),a.style.borderBottomWidth=a.height+"em",a.maxFontSize=1,a},makeAnchor:function(t,e,r,a){var n=new I(t,e,r,a);return It(n),n},makeFragment:Et,wrapFragment:function(t,e){return t instanceof A?Rt([],[t],e):t},makeVList:function(t,e){for(var r=function(t){if("individualShift"===t.positionType){for(var e=t.children,r=[e[0]],a=-e[0].shift-e[0].elem.depth,n=a,i=1;i0&&(i.push(pe(o,e)),o=[]),i.push(n[s]));o.length>0&&i.push(pe(o,e)),r&&((a=pe(se(r,e,!0))).classes=["tag"],i.push(a));var l=re(["katex-html"],i);if(l.setAttribute("aria-hidden","true"),a){var m=a.children[0];m.style.height=l.height+l.depth+"em",m.style.verticalAlign=-l.depth+"em"}return l}function fe(t){return new A(t)}var ge=function(){function t(t,e){this.type=void 0,this.attributes=void 0,this.children=void 0,this.type=t,this.attributes={},this.children=e||[]}var e=t.prototype;return e.setAttribute=function(t,e){this.attributes[t]=e},e.getAttribute=function(t){return this.attributes[t]},e.toNode=function(){var t=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&t.setAttribute(e,this.attributes[e]);for(var r=0;r";for(var r=0;r"},e.toText=function(){return this.children.map(function(t){return t.toText()}).join("")},t}(),xe=function(){function t(t){this.text=void 0,this.text=t}var e=t.prototype;return e.toNode=function(){return document.createTextNode(this.text)},e.toMarkup=function(){return c.escape(this.toText())},e.toText=function(){return this.text},t}(),ve={MathNode:ge,TextNode:xe,SpaceNode:function(){function t(t){this.width=void 0,this.character=void 0,this.width=t,this.character=t>=.05555&&t<=.05556?"\u200a":t>=.1666&&t<=.1667?"\u2009":t>=.2222&&t<=.2223?"\u2005":t>=.2777&&t<=.2778?"\u2005\u200a":t>=-.05556&&t<=-.05555?"\u200a\u2063":t>=-.1667&&t<=-.1666?"\u2009\u2063":t>=-.2223&&t<=-.2222?"\u205f\u2063":t>=-.2778&&t<=-.2777?"\u2005\u2063":null}var e=t.prototype;return e.toNode=function(){if(this.character)return document.createTextNode(this.character);var t=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return t.setAttribute("width",this.width+"em"),t},e.toMarkup=function(){return this.character?""+this.character+" ":' '},e.toText=function(){return this.character?this.character:" "},t}(),newDocumentFragment:fe},be=function(t,e,r){return!j[e][t]||!j[e][t].replace||55349===t.charCodeAt(0)||rt.hasOwnProperty(t)&&r&&(r.fontFamily&&"tt"===r.fontFamily.substr(4,2)||r.font&&"tt"===r.font.substr(4,2))||(t=j[e][t].replace),new ve.TextNode(t)},ye=function(t){return 1===t.length?t[0]:new ve.MathNode("mrow",t)},we=function(t,e){if("texttt"===e.fontFamily)return"monospace";if("textsf"===e.fontFamily)return"textit"===e.fontShape&&"textbf"===e.fontWeight?"sans-serif-bold-italic":"textit"===e.fontShape?"sans-serif-italic":"textbf"===e.fontWeight?"bold-sans-serif":"sans-serif";if("textit"===e.fontShape&&"textbf"===e.fontWeight)return"bold-italic";if("textit"===e.fontShape)return"italic";if("textbf"===e.fontWeight)return"bold";var r=e.font;if(!r||"mathnormal"===r)return null;var a=t.mode;if("mathit"===r)return"italic";if("boldsymbol"===r)return"bold-italic";if("mathbf"===r)return"bold";if("mathbb"===r)return"double-struck";if("mathfrak"===r)return"fraktur";if("mathscr"===r||"mathcal"===r)return"script";if("mathsf"===r)return"sans-serif";if("mathtt"===r)return"monospace";var n=t.text;return c.contains(["\\imath","\\jmath"],n)?null:(j[a][n]&&j[a][n].replace&&(n=j[a][n].replace),G(n,Dt.fontMap[r].fontName,a)?Dt.fontMap[r].variant:null)},ke=function(t,e,r){if(1===t.length){var a=Me(t[0],e);return r&&a instanceof ge&&"mo"===a.type&&(a.setAttribute("lspace","0em"),a.setAttribute("rspace","0em")),[a]}for(var n,i=[],o=0;o0&&(p.text=p.text.slice(0,1)+"\u0338"+p.text.slice(1),i.pop())}}}i.push(s),n=s}return i},Se=function(t,e,r){return ye(ke(t,e,r))},Me=function(t,e){if(!t)return new ve.MathNode("mrow");if(Jt[t.type])return Jt[t.type](t,e);throw new o("Got group of unknown type: '"+t.type+"'")};function ze(t,e,r,a){var n,i=ke(t,r);n=1===i.length&&i[0]instanceof ge&&c.contains(["mrow","mtable"],i[0].type)?i[0]:new ve.MathNode("mrow",i);var o=new ve.MathNode("annotation",[new ve.TextNode(e)]);o.setAttribute("encoding","application/x-tex");var s=new ve.MathNode("semantics",[n,o]),h=new ve.MathNode("math",[s]);h.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML");var l=a?"katex":"katex-mathml";return Dt.makeSpan([l],[h])}var Ae=function(t){return new St({style:t.displayMode?w.DISPLAY:w.TEXT,maxSize:t.maxSize,minRuleThickness:t.minRuleThickness})},Te=function(t,e){if(e.displayMode){var r=["katex-display"];e.leqno&&r.push("leqno"),e.fleqn&&r.push("fleqn"),t=Dt.makeSpan(r,[t])}return t},Be=function(t,e,r){var a,n=Ae(r);if("mathml"===r.output)return ze(t,e,n,!0);if("html"===r.output){var i=de(t,n);a=Dt.makeSpan(["katex"],[i])}else{var o=ze(t,e,n,!1),s=de(t,n);a=Dt.makeSpan(["katex"],[o,s])}return Te(a,r)},Ce={widehat:"^",widecheck:"\u02c7",widetilde:"~",utilde:"~",overleftarrow:"\u2190",underleftarrow:"\u2190",xleftarrow:"\u2190",overrightarrow:"\u2192",underrightarrow:"\u2192",xrightarrow:"\u2192",underbrace:"\u23df",overbrace:"\u23de",overgroup:"\u23e0",undergroup:"\u23e1",overleftrightarrow:"\u2194",underleftrightarrow:"\u2194",xleftrightarrow:"\u2194",Overrightarrow:"\u21d2",xRightarrow:"\u21d2",overleftharpoon:"\u21bc",xleftharpoonup:"\u21bc",overrightharpoon:"\u21c0",xrightharpoonup:"\u21c0",xLeftarrow:"\u21d0",xLeftrightarrow:"\u21d4",xhookleftarrow:"\u21a9",xhookrightarrow:"\u21aa",xmapsto:"\u21a6",xrightharpoondown:"\u21c1",xleftharpoondown:"\u21bd",xrightleftharpoons:"\u21cc",xleftrightharpoons:"\u21cb",xtwoheadleftarrow:"\u219e",xtwoheadrightarrow:"\u21a0",xlongequal:"=",xtofrom:"\u21c4",xrightleftarrows:"\u21c4",xrightequilibrium:"\u21cc",xleftequilibrium:"\u21cb"},qe={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},Ne=function(t){return"ordgroup"===t.type?t.body.length:1},Ie=function(t,e,r,a){var n,i=t.height+t.depth+2*r;if(/fbox|color/.test(e)){if(n=Dt.makeSpan(["stretchy",e],[],a),"fbox"===e){var o=a.color&&a.getColor();o&&(n.style.borderColor=o)}}else{var s=[];/^[bx]cancel$/.test(e)&&s.push(new P({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(e)&&s.push(new P({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var h=new L(s,{width:"100%",height:i+"em"});n=Dt.makeSvgSpan([],[h],a)}return n.height=i,n.style.height=i+"em",n},Re=function(t){var e=new ve.MathNode("mo",[new ve.TextNode(Ce[t.substr(1)])]);return e.setAttribute("stretchy","true"),e},Oe=function(t,e){var r=function(){var r=4e5,a=t.label.substr(1);if(c.contains(["widehat","widecheck","widetilde","utilde"],a)){var n,i,o,s=Ne(t.base);if(s>5)"widehat"===a||"widecheck"===a?(n=420,r=2364,o=.42,i=a+"4"):(n=312,r=2340,o=.34,i="tilde4");else{var h=[1,1,2,2,3,3][s];"widehat"===a||"widecheck"===a?(r=[0,1062,2364,2364,2364][h],n=[0,239,300,360,420][h],o=[0,.24,.3,.3,.36,.42][h],i=a+h):(r=[0,600,1033,2339,2340][h],n=[0,260,286,306,312][h],o=[0,.26,.286,.3,.306,.34][h],i="tilde"+h)}var l=new H(i),m=new L([l],{width:"100%",height:o+"em",viewBox:"0 0 "+r+" "+n,preserveAspectRatio:"none"});return{span:Dt.makeSvgSpan([],[m],e),minWidth:0,height:o}}var u,p,d=[],f=qe[a],g=f[0],x=f[1],v=f[2],b=v/1e3,y=g.length;if(1===y)u=["hide-tail"],p=[f[3]];else if(2===y)u=["halfarrow-left","halfarrow-right"],p=["xMinYMin","xMaxYMin"];else{if(3!==y)throw new Error("Correct katexImagesData or update code here to support\n "+y+" children.");u=["brace-left","brace-center","brace-right"],p=["xMinYMin","xMidYMin","xMaxYMin"]}for(var w=0;w0&&(a.style.minWidth=n+"em"),a},Ee=function(t,e){var r,a,n,i=Vt(t,"supsub");i?(r=(a=Ft(i.base,"accent")).base,i.base=r,n=function(t){if(t instanceof N)return t;throw new Error("Expected span but got "+String(t)+".")}(ue(i,e)),i.base=a):r=(a=Ft(t,"accent")).base;var o=ue(r,e.havingCrampedStyle()),s=0;if(a.isShifty&&c.isCharacterBox(r)){var h=c.getBaseElem(r);s=D(ue(h,e.havingCrampedStyle())).skew}var l,m=Math.min(o.height,e.fontMetrics().xHeight);if(a.isStretchy)l=Oe(a,e),l=Dt.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:o},{type:"elem",elem:l,wrapperClasses:["svg-align"],wrapperStyle:s>0?{width:"calc(100% - "+2*s+"em)",marginLeft:2*s+"em"}:void 0}]},e);else{var u,p;"\\vec"===a.label?(u=Dt.staticSvg("vec",e),p=Dt.svgData.vec[1]):((u=D(u=Dt.makeOrd({mode:a.mode,text:a.label},e,"textord"))).italic=0,p=u.width),l=Dt.makeSpan(["accent-body"],[u]);var d="\\textcircled"===a.label;d&&(l.classes.push("accent-full"),m=o.height);var f=s;d||(f-=p/2),l.style.left=f+"em","\\textcircled"===a.label&&(l.style.top=".2em"),l=Dt.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:o},{type:"kern",size:-m},{type:"elem",elem:l}]},e)}var g=Dt.makeSpan(["mord","accent"],[l],e);return n?(n.children[0]=g,n.height=Math.max(g.height,n.height),n.classes[0]="mord",n):g},Le=function(t,e){var r=t.isStretchy?Re(t.label):new ve.MathNode("mo",[be(t.label,t.mode)]),a=new ve.MathNode("mover",[Me(t.base,e),r]);return a.setAttribute("accent","true"),a},He=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(function(t){return"\\"+t}).join("|"));Qt({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:function(t,e){var r=e[0],a=!He.test(t.funcName),n=!a||"\\widehat"===t.funcName||"\\widetilde"===t.funcName||"\\widecheck"===t.funcName;return{type:"accent",mode:t.parser.mode,label:t.funcName,isStretchy:a,isShifty:n,base:r}},htmlBuilder:Ee,mathmlBuilder:Le}),Qt({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!1},handler:function(t,e){var r=e[0];return{type:"accent",mode:t.parser.mode,label:t.funcName,isStretchy:!1,isShifty:!0,base:r}},htmlBuilder:Ee,mathmlBuilder:Le}),Qt({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:function(t,e){var r=t.parser,a=t.funcName,n=e[0];return{type:"accentUnder",mode:r.mode,label:a,base:n}},htmlBuilder:function(t,e){var r=ue(t.base,e),a=Oe(t,e),n="\\utilde"===t.label?.12:0,i=Dt.makeVList({positionType:"bottom",positionData:a.height+n,children:[{type:"elem",elem:a,wrapperClasses:["svg-align"]},{type:"kern",size:n},{type:"elem",elem:r}]},e);return Dt.makeSpan(["mord","accentunder"],[i],e)},mathmlBuilder:function(t,e){var r=Re(t.label),a=new ve.MathNode("munder",[Me(t.base,e),r]);return a.setAttribute("accentunder","true"),a}});var Pe=function(t){var e=new ve.MathNode("mpadded",t?[t]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e};Qt({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium"],props:{numArgs:1,numOptionalArgs:1},handler:function(t,e,r){var a=t.parser,n=t.funcName;return{type:"xArrow",mode:a.mode,label:n,body:e[0],below:r[0]}},htmlBuilder:function(t,e){var r,a=e.style,n=e.havingStyle(a.sup()),i=Dt.wrapFragment(ue(t.body,n,e),e);i.classes.push("x-arrow-pad"),t.below&&(n=e.havingStyle(a.sub()),(r=Dt.wrapFragment(ue(t.below,n,e),e)).classes.push("x-arrow-pad"));var o,s=Oe(t,e),h=-e.fontMetrics().axisHeight+.5*s.height,l=-e.fontMetrics().axisHeight-.5*s.height-.111;if((i.depth>.25||"\\xleftequilibrium"===t.label)&&(l-=i.depth),r){var m=-e.fontMetrics().axisHeight+r.height+.5*s.height+.111;o=Dt.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:l},{type:"elem",elem:s,shift:h},{type:"elem",elem:r,shift:m}]},e)}else o=Dt.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:l},{type:"elem",elem:s,shift:h}]},e);return o.children[0].children[0].children[1].classes.push("svg-align"),Dt.makeSpan(["mrel","x-arrow"],[o],e)},mathmlBuilder:function(t,e){var r,a=Re(t.label);if(t.body){var n=Pe(Me(t.body,e));if(t.below){var i=Pe(Me(t.below,e));r=new ve.MathNode("munderover",[a,i,n])}else r=new ve.MathNode("mover",[a,n])}else if(t.below){var o=Pe(Me(t.below,e));r=new ve.MathNode("munder",[a,o])}else r=Pe(),r=new ve.MathNode("mover",[a,r]);return r}}),Qt({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler:function(t,e){for(var r=t.parser,a=Ft(e[0],"ordgroup").body,n="",i=0;i","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],Je=[0,1.2,1.8,2.4,3],Qe=[{type:"small",style:w.SCRIPTSCRIPT},{type:"small",style:w.SCRIPT},{type:"small",style:w.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],tr=[{type:"small",style:w.SCRIPTSCRIPT},{type:"small",style:w.SCRIPT},{type:"small",style:w.TEXT},{type:"stack"}],er=[{type:"small",style:w.SCRIPTSCRIPT},{type:"small",style:w.SCRIPT},{type:"small",style:w.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],rr=function(t){if("small"===t.type)return"Main-Regular";if("large"===t.type)return"Size"+t.size+"-Regular";if("stack"===t.type)return"Size4-Regular";throw new Error("Add support for delim type '"+t.type+"' here.")},ar=function(t,e,r,a){for(var n=Math.min(2,3-a.style.size);ne)return r[n]}return r[r.length-1]},nr=function(t,e,r,a,n,i){var o;"<"===t||"\\lt"===t||"\u27e8"===t?t="\\langle":">"!==t&&"\\gt"!==t&&"\u27e9"!==t||(t="\\rangle"),o=c.contains(Ke,t)?Qe:c.contains($e,t)?er:tr;var s=ar(t,e,o,a);return"small"===s.type?function(t,e,r,a,n,i){var o=Dt.makeSymbol(t,"Main-Regular",n,a),s=Ue(o,e,a,i);return r&&Ge(s,a,e),s}(t,s.style,r,a,n,i):"large"===s.type?Ye(t,s.size,r,a,n,i):_e(t,e,r,a,n,i)},ir=function(t,e){var r,a,n=e.havingBaseSizing(),i=ar("\\surd",t*n.sizeMultiplier,er,n),o=n.sizeMultiplier,s=Math.max(0,e.minRuleThickness-e.fontMetrics().sqrtRuleThickness),h=0,l=0,m=0;return"small"===i.type?(t<1?o=1:t<1.4&&(o=.7),l=(1+s)/o,(r=je("sqrtMain",h=(1+s+.08)/o,m=1e3+1e3*s+80,s,e)).style.minWidth="0.853em",a=.833/o):"large"===i.type?(m=1080*Je[i.size],l=(Je[i.size]+s)/o,h=(Je[i.size]+s+.08)/o,(r=je("sqrtSize"+i.size,h,m,s,e)).style.minWidth="1.02em",a=1/o):(h=t+s+.08,l=t+s,m=Math.floor(1e3*t+s)+80,(r=je("sqrtTall",h,m,s,e)).style.minWidth="0.742em",a=1.056),r.height=l,r.style.height=h+"em",{span:r,advanceWidth:a,ruleWidth:(e.fontMetrics().sqrtRuleThickness+s)*o}},or=function(t,e,r,a,n){if("<"===t||"\\lt"===t||"\u27e8"===t?t="\\langle":">"!==t&&"\\gt"!==t&&"\u27e9"!==t||(t="\\rangle"),c.contains($e,t)||c.contains(Ke,t))return Ye(t,e,!1,r,a,n);if(c.contains(Ze,t))return _e(t,Je[e],!1,r,a,n);throw new o("Illegal delimiter: '"+t+"'")},sr=nr,hr=function(t,e,r,a,n,i){var o=a.fontMetrics().axisHeight*a.sizeMultiplier,s=5/a.fontMetrics().ptPerEm,h=Math.max(e-o,r+o),l=Math.max(h/500*901,2*h-s);return nr(t,l,!0,a,n,i)},lr={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},mr=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230a","\u230b","\\lceil","\\rceil","\u2308","\u2309","<",">","\\langle","\u27e8","\\rangle","\u27e9","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27ee","\u27ef","\\lmoustache","\\rmoustache","\u23b0","\u23b1","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];function cr(t,e){var r=Yt(t);if(r&&c.contains(mr,r.text))return r;throw new o("Invalid delimiter: '"+(r?r.text:JSON.stringify(t))+"' after '"+e.funcName+"'",t)}function ur(t){if(!t.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}Qt({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1},handler:function(t,e){var r=cr(e[0],t);return{type:"delimsizing",mode:t.parser.mode,size:lr[t.funcName].size,mclass:lr[t.funcName].mclass,delim:r.text}},htmlBuilder:function(t,e){return"."===t.delim?Dt.makeSpan([t.mclass]):or(t.delim,t.size,e,t.mode,[t.mclass])},mathmlBuilder:function(t){var e=[];"."!==t.delim&&e.push(be(t.delim,t.mode));var r=new ve.MathNode("mo",e);return"mopen"===t.mclass||"mclose"===t.mclass?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r}}),Qt({type:"leftright-right",names:["\\right"],props:{numArgs:1},handler:function(t,e){var r=t.parser.gullet.macros.get("\\current@color");if(r&&"string"!=typeof r)throw new o("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:t.parser.mode,delim:cr(e[0],t).text,color:r}}}),Qt({type:"leftright",names:["\\left"],props:{numArgs:1},handler:function(t,e){var r=cr(e[0],t),a=t.parser;++a.leftrightDepth;var n=a.parseExpression(!1);--a.leftrightDepth,a.expect("\\right",!1);var i=Ft(a.parseFunction(),"leftright-right");return{type:"leftright",mode:a.mode,body:n,left:r.text,right:i.delim,rightColor:i.color}},htmlBuilder:function(t,e){ur(t);for(var r,a,n=se(t.body,e,!0,["mopen","mclose"]),i=0,o=0,s=!1,h=0;h-1?"mpadded":"menclose",[Me(t.body,e)]);switch(t.label){case"\\cancel":a.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":a.setAttribute("notation","downdiagonalstrike");break;case"\\sout":a.setAttribute("notation","horizontalstrike");break;case"\\fbox":a.setAttribute("notation","box");break;case"\\fcolorbox":case"\\colorbox":if(r=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,a.setAttribute("width","+"+2*r+"pt"),a.setAttribute("height","+"+2*r+"pt"),a.setAttribute("lspace",r+"pt"),a.setAttribute("voffset",r+"pt"),"\\fcolorbox"===t.label){var n=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);a.setAttribute("style","border: "+n+"em solid "+String(t.borderColor))}break;case"\\xcancel":a.setAttribute("notation","updiagonalstrike downdiagonalstrike")}return t.backgroundColor&&a.setAttribute("mathbackground",t.backgroundColor),a};Qt({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,greediness:3,argTypes:["color","text"]},handler:function(t,e,r){var a=t.parser,n=t.funcName,i=Ft(e[0],"color-token").color,o=e[1];return{type:"enclose",mode:a.mode,label:n,backgroundColor:i,body:o}},htmlBuilder:pr,mathmlBuilder:dr}),Qt({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,greediness:3,argTypes:["color","color","text"]},handler:function(t,e,r){var a=t.parser,n=t.funcName,i=Ft(e[0],"color-token").color,o=Ft(e[1],"color-token").color,s=e[2];return{type:"enclose",mode:a.mode,label:n,backgroundColor:o,borderColor:i,body:s}},htmlBuilder:pr,mathmlBuilder:dr}),Qt({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler:function(t,e){return{type:"enclose",mode:t.parser.mode,label:"\\fbox",body:e[0]}}}),Qt({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout"],props:{numArgs:1},handler:function(t,e,r){var a=t.parser,n=t.funcName,i=e[0];return{type:"enclose",mode:a.mode,label:n,body:i}},htmlBuilder:pr,mathmlBuilder:dr});var fr={};function gr(t){for(var e=t.type,r=t.names,a=t.props,n=t.handler,i=t.htmlBuilder,o=t.mathmlBuilder,s={type:e,numArgs:a.numArgs||0,greediness:1,allowedInText:!1,numOptionalArgs:0,handler:n},h=0;h0&&(b+=.25),l.push({pos:b,isDashed:t[e]})}for(y(i[0]),r=0;r0&&(M<(B+=v)&&(M=B),B=0),t.addJot&&(M+=f),z.height=S,z.depth=M,b+=S,z.pos=b,b+=M+B,h[r]=z,y(i[r+1])}var C,q,N=b/2+e.fontMetrics().axisHeight,I=t.cols||[],R=[];for(a=0,q=0;a=s)){var P=void 0;(a>0||t.hskipBeforeAndAfter)&&0!==(P=c.deflt(O.pregap,p))&&((C=Dt.makeSpan(["arraycolsep"],[])).style.width=P+"em",R.push(C));var D=[];for(r=0;r0){for(var G=Dt.makeLineSpan("hline",e,m),Y=Dt.makeLineSpan("hdashline",e,m),W=[{type:"elem",elem:h,shift:0}];l.length>0;){var X=l.pop(),_=X.pos-N;X.isDashed?W.push({type:"elem",elem:Y,shift:_}):W.push({type:"elem",elem:G,shift:_})}h=Dt.makeVList({positionType:"individualShift",children:W},e)}return Dt.makeSpan(["mord"],[h],e)},wr={c:"center ",l:"left ",r:"right "},kr=function(t,e){var r=new ve.MathNode("mtable",t.body.map(function(t){return new ve.MathNode("mtr",t.map(function(t){return new ve.MathNode("mtd",[Me(t,e)])}))})),a=.5===t.arraystretch?.1:.16+t.arraystretch-1+(t.addJot?.09:0);r.setAttribute("rowspacing",a+"em");var n="",i="";if(t.cols){var o=t.cols,s="",h=!1,l=0,m=o.length;"separator"===o[0].type&&(n+="top ",l=1),"separator"===o[o.length-1].type&&(n+="bottom ",m-=1);for(var c=l;c0?"left ":"",n+=g[g.length-1].length>0?"right ":"";for(var x=1;x0&&c&&(d=1),a[u]={type:"align",align:p,pregap:d,postgap:0}}return n.colSeparationType=c?"align":"alignat",n};gr({type:"array",names:["array","darray"],props:{numArgs:1},handler:function(t,e){var r={cols:(Yt(e[0])?[e[0]]:Ft(e[0],"ordgroup").body).map(function(t){var e=Gt(t).text;if(-1!=="lcr".indexOf(e))return{type:"align",align:e};if("|"===e)return{type:"separator",separator:"|"};if(":"===e)return{type:"separator",separator:":"};throw new o("Unknown column alignment: "+e,t)}),hskipBeforeAndAfter:!0};return vr(t.parser,r,br(t.envName))},htmlBuilder:yr,mathmlBuilder:kr}),gr({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix"],props:{numArgs:0},handler:function(t){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[t.envName],r=vr(t.parser,{hskipBeforeAndAfter:!1},br(t.envName));return e?{type:"leftright",mode:t.mode,body:[r],left:e[0],right:e[1],rightColor:void 0}:r},htmlBuilder:yr,mathmlBuilder:kr}),gr({type:"array",names:["smallmatrix"],props:{numArgs:0},handler:function(t){var e=vr(t.parser,{arraystretch:.5},"script");return e.colSeparationType="small",e},htmlBuilder:yr,mathmlBuilder:kr}),gr({type:"array",names:["subarray"],props:{numArgs:1},handler:function(t,e){var r=(Yt(e[0])?[e[0]]:Ft(e[0],"ordgroup").body).map(function(t){var e=Gt(t).text;if(-1!=="lc".indexOf(e))return{type:"align",align:e};throw new o("Unknown column alignment: "+e,t)});if(r.length>1)throw new o("{subarray} can contain only one column");var a={cols:r,hskipBeforeAndAfter:!1,arraystretch:.5};if((a=vr(t.parser,a,"script")).body[0].length>1)throw new o("{subarray} can contain only one column");return a},htmlBuilder:yr,mathmlBuilder:kr}),gr({type:"array",names:["cases","dcases"],props:{numArgs:0},handler:function(t){var e=vr(t.parser,{arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},br(t.envName));return{type:"leftright",mode:t.mode,body:[e],left:"\\{",right:".",rightColor:void 0}},htmlBuilder:yr,mathmlBuilder:kr}),gr({type:"array",names:["aligned"],props:{numArgs:0},handler:Sr,htmlBuilder:yr,mathmlBuilder:kr}),gr({type:"array",names:["gathered"],props:{numArgs:0},handler:function(t){return vr(t.parser,{cols:[{type:"align",align:"c"}],addJot:!0},"display")},htmlBuilder:yr,mathmlBuilder:kr}),gr({type:"array",names:["alignedat"],props:{numArgs:1},handler:Sr,htmlBuilder:yr,mathmlBuilder:kr}),Qt({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler:function(t,e){throw new o(t.funcName+" valid only within array environment")}});var Mr=fr;Qt({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler:function(t,e){var r=t.parser,a=t.funcName,n=e[0];if("ordgroup"!==n.type)throw new o("Invalid environment name",n);for(var i="",s=0;s=w.SCRIPT.id?r.text():w.DISPLAY:"text"===t&&r.size===w.DISPLAY.size?r=w.TEXT:"script"===t?r=w.SCRIPT:"scriptscript"===t&&(r=w.SCRIPTSCRIPT),r},Rr=function(t,e){var r,a=Ir(t.size,e.style),n=a.fracNum(),i=a.fracDen();r=e.havingStyle(n);var o=ue(t.numer,r,e);if(t.continued){var s=8.5/e.fontMetrics().ptPerEm,h=3.5/e.fontMetrics().ptPerEm;o.height=o.height0?3*c:7*c,d=e.fontMetrics().denom1):(m>0?(u=e.fontMetrics().num2,p=c):(u=e.fontMetrics().num3,p=3*c),d=e.fontMetrics().denom2),l){var y=e.fontMetrics().axisHeight;u-o.depth-(y+.5*m) 0&&(e="."===(e=t)?null:e),e};Qt({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,greediness:6,argTypes:["math","math","size","text","math","math"]},handler:function(t,e){var r=t.parser,a=e[4],n=e[5],i=Vt(e[0],"atom");i&&(i=Ut(e[0],"open"));var o=i?Lr(i.text):null,s=Vt(e[1],"atom");s&&(s=Ut(e[1],"close"));var h,l=s?Lr(s.text):null,m=Ft(e[2],"size"),c=null;h=!!m.isBlank||(c=m.value).number>0;var u="auto",p=Vt(e[3],"ordgroup");if(p){if(p.body.length>0){var d=Ft(p.body[0],"textord");u=Er[Number(d.text)]}}else p=Ft(e[3],"textord"),u=Er[Number(p.text)];return{type:"genfrac",mode:r.mode,numer:a,denom:n,continued:!1,hasBarLine:h,barSize:c,leftDelim:o,rightDelim:l,size:u}},htmlBuilder:Rr,mathmlBuilder:Or}),Qt({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler:function(t,e){var r=t.parser,a=(t.funcName,t.token);return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:Ft(e[0],"size").value,token:a}}}),Qt({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:function(t,e){var r=t.parser,a=(t.funcName,e[0]),n=function(t){if(!t)throw new Error("Expected non-null, but got "+String(t));return t}(Ft(e[1],"infix").size),i=e[2],o=n.number>0;return{type:"genfrac",mode:r.mode,numer:a,denom:i,continued:!1,hasBarLine:o,barSize:n,leftDelim:null,rightDelim:null,size:"auto"}},htmlBuilder:Rr,mathmlBuilder:Or});var Hr=function(t,e){var r,a,n=e.style,i=Vt(t,"supsub");i?(r=i.sup?ue(i.sup,e.havingStyle(n.sup()),e):ue(i.sub,e.havingStyle(n.sub()),e),a=Ft(i.base,"horizBrace")):a=Ft(t,"horizBrace");var o,s=ue(a.base,e.havingBaseStyle(w.DISPLAY)),h=Oe(a,e);if(a.isOver?(o=Dt.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:h}]},e)).children[0].children[0].children[1].classes.push("svg-align"):(o=Dt.makeVList({positionType:"bottom",positionData:s.depth+.1+h.height,children:[{type:"elem",elem:h},{type:"kern",size:.1},{type:"elem",elem:s}]},e)).children[0].children[0].children[0].classes.push("svg-align"),r){var l=Dt.makeSpan(["mord",a.isOver?"mover":"munder"],[o],e);o=a.isOver?Dt.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:l},{type:"kern",size:.2},{type:"elem",elem:r}]},e):Dt.makeVList({positionType:"bottom",positionData:l.depth+.2+r.height+r.depth,children:[{type:"elem",elem:r},{type:"kern",size:.2},{type:"elem",elem:l}]},e)}return Dt.makeSpan(["mord",a.isOver?"mover":"munder"],[o],e)};Qt({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler:function(t,e){var r=t.parser,a=t.funcName;return{type:"horizBrace",mode:r.mode,label:a,isOver:/^\\over/.test(a),base:e[0]}},htmlBuilder:Hr,mathmlBuilder:function(t,e){var r=Re(t.label);return new ve.MathNode(t.isOver?"mover":"munder",[Me(t.base,e),r])}}),Qt({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:function(t,e){var r=t.parser,a=e[1],n=Ft(e[0],"url").url;return r.settings.isTrusted({command:"\\href",url:n})?{type:"href",mode:r.mode,href:n,body:ee(a)}:r.formatUnsupportedCmd("\\href")},htmlBuilder:function(t,e){var r=se(t.body,e,!1);return Dt.makeAnchor(t.href,[],r,e)},mathmlBuilder:function(t,e){var r=Se(t.body,e);return r instanceof ge||(r=new ge("mrow",[r])),r.setAttribute("href",t.href),r}}),Qt({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:function(t,e){var r=t.parser,a=Ft(e[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:a}))return r.formatUnsupportedCmd("\\url");for(var n=[],i=0;i0&&(a=Tt(t.totalheight,e)-r,a=Number(a.toFixed(2)));var n=0;t.width.number>0&&(n=Tt(t.width,e));var i={height:r+a+"em"};n>0&&(i.width=n+"em"),a>0&&(i.verticalAlign=-a+"em");var o=new R(t.src,t.alt,i);return o.height=r,o.depth=a,o},mathmlBuilder:function(t,e){var r=new ve.MathNode("mglyph",[]);r.setAttribute("alt",t.alt);var a=Tt(t.height,e),n=0;if(t.totalheight.number>0&&(n=(n=Tt(t.totalheight,e)-a).toFixed(2),r.setAttribute("valign","-"+n+"em")),r.setAttribute("height",a+n+"em"),t.width.number>0){var i=Tt(t.width,e);r.setAttribute("width",i+"em")}return r.setAttribute("src",t.src),r}}),Qt({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],allowedInText:!0},handler:function(t,e){var r=t.parser,a=t.funcName,n=Ft(e[0],"size");if(r.settings.strict){var i="m"===a[1],o="mu"===n.value.unit;i?(o||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" supports only mu units, not "+n.value.unit+" units"),"math"!==r.mode&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" works only in math mode")):o&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:n.value}},htmlBuilder:function(t,e){return Dt.makeGlue(t.dimension,e)},mathmlBuilder:function(t,e){var r=Tt(t.dimension,e);return new ve.SpaceNode(r)}}),Qt({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:function(t,e){var r=t.parser,a=t.funcName,n=e[0];return{type:"lap",mode:r.mode,alignment:a.slice(5),body:n}},htmlBuilder:function(t,e){var r;"clap"===t.alignment?(r=Dt.makeSpan([],[ue(t.body,e)]),r=Dt.makeSpan(["inner"],[r],e)):r=Dt.makeSpan(["inner"],[ue(t.body,e)]);var a=Dt.makeSpan(["fix"],[]),n=Dt.makeSpan([t.alignment],[r,a],e),i=Dt.makeSpan(["strut"]);return i.style.height=n.height+n.depth+"em",i.style.verticalAlign=-n.depth+"em",n.children.unshift(i),n=Dt.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:n}]},e),Dt.makeSpan(["mord"],[n],e)},mathmlBuilder:function(t,e){var r=new ve.MathNode("mpadded",[Me(t.body,e)]);if("rlap"!==t.alignment){var a="llap"===t.alignment?"-1":"-0.5";r.setAttribute("lspace",a+"width")}return r.setAttribute("width","0px"),r}}),Qt({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler:function(t,e){var r=t.funcName,a=t.parser,n=a.mode;a.switchMode("math");var i="\\("===r?"\\)":"$",o=a.parseExpression(!1,i);return a.expect(i),a.switchMode(n),{type:"styling",mode:a.mode,style:"text",body:o}}}),Qt({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler:function(t,e){throw new o("Mismatched "+t.funcName)}});var Dr=function(t,e){switch(e.style.size){case w.DISPLAY.size:return t.display;case w.TEXT.size:return t.text;case w.SCRIPT.size:return t.script;case w.SCRIPTSCRIPT.size:return t.scriptscript;default:return t.text}};Qt({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4},handler:function(t,e){return{type:"mathchoice",mode:t.parser.mode,display:ee(e[0]),text:ee(e[1]),script:ee(e[2]),scriptscript:ee(e[3])}},htmlBuilder:function(t,e){var r=Dr(t,e),a=se(r,e,!1);return Dt.makeFragment(a)},mathmlBuilder:function(t,e){var r=Dr(t,e);return Se(r,e)}});var Fr=function(t,e,r,a,n,i,o){var s,h,l;if(t=Dt.makeSpan([],[t]),e){var m=ue(e,a.havingStyle(n.sup()),a);h={elem:m,kern:Math.max(a.fontMetrics().bigOpSpacing1,a.fontMetrics().bigOpSpacing3-m.depth)}}if(r){var c=ue(r,a.havingStyle(n.sub()),a);s={elem:c,kern:Math.max(a.fontMetrics().bigOpSpacing2,a.fontMetrics().bigOpSpacing4-c.height)}}if(h&&s){var u=a.fontMetrics().bigOpSpacing5+s.elem.height+s.elem.depth+s.kern+t.depth+o;l=Dt.makeVList({positionType:"bottom",positionData:u,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:s.elem,marginLeft:-i+"em"},{type:"kern",size:s.kern},{type:"elem",elem:t},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:i+"em"},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]},a)}else if(s){var p=t.height-o;l=Dt.makeVList({positionType:"top",positionData:p,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:s.elem,marginLeft:-i+"em"},{type:"kern",size:s.kern},{type:"elem",elem:t}]},a)}else{if(!h)return t;var d=t.depth+o;l=Dt.makeVList({positionType:"bottom",positionData:d,children:[{type:"elem",elem:t},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:i+"em"},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]},a)}return Dt.makeSpan(["mop","op-limits"],[l],a)},Vr=["\\smallint"],Ur=function(t,e){var r,a,n,i=!1,o=Vt(t,"supsub");o?(r=o.sup,a=o.sub,n=Ft(o.base,"op"),i=!0):n=Ft(t,"op");var s,h=e.style,l=!1;if(h.size===w.DISPLAY.size&&n.symbol&&!c.contains(Vr,n.name)&&(l=!0),n.symbol){var m=l?"Size2-Regular":"Size1-Regular",u="";if("\\oiint"!==n.name&&"\\oiiint"!==n.name||(u=n.name.substr(1),n.name="oiint"===u?"\\iint":"\\iiint"),s=Dt.makeSymbol(n.name,m,"math",e,["mop","op-symbol",l?"large-op":"small-op"]),u.length>0){var p=s.italic,d=Dt.staticSvg(u+"Size"+(l?"2":"1"),e);s=Dt.makeVList({positionType:"individualShift",children:[{type:"elem",elem:s,shift:0},{type:"elem",elem:d,shift:l?.08:0}]},e),n.name="\\"+u,s.classes.unshift("mop"),s.italic=p}}else if(n.body){var f=se(n.body,e,!0);1===f.length&&f[0]instanceof E?(s=f[0]).classes[0]="mop":s=Dt.makeSpan(["mop"],Dt.tryCombineChars(f),e)}else{for(var g=[],x=1;x0){for(var h=n.body.map(function(t){var e=t.text;return"string"==typeof e?{type:"textord",mode:t.mode,text:e}:t}),l=se(h,e.withFont("mathrm"),!0),m=0;m=0?s.setAttribute("height","+"+n+"em"):(s.setAttribute("height",n+"em"),s.setAttribute("depth","+"+-n+"em")),s.setAttribute("voffset",n+"em"),s}});var jr=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"];Qt({type:"sizing",names:jr,props:{numArgs:0,allowedInText:!0},handler:function(t,e){var r=t.breakOnTokenText,a=t.funcName,n=t.parser,i=n.parseExpression(!1,r);return{type:"sizing",mode:n.mode,size:jr.indexOf(a)+1,body:i}},htmlBuilder:function(t,e){var r=e.havingSize(t.size);return _r(t.body,r,e)},mathmlBuilder:function(t,e){var r=e.havingSize(t.size),a=ke(t.body,r),n=new ve.MathNode("mstyle",a);return n.setAttribute("mathsize",r.sizeMultiplier+"em"),n}}),Qt({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:function(t,e,r){var a=t.parser,n=!1,i=!1,o=r[0]&&Ft(r[0],"ordgroup");if(o)for(var s="",h=0;hr.height+r.depth+i&&(i=(i+c-r.height-r.depth)/2);var u=h.height-r.height-i-l;r.style.paddingLeft=m+"em";var p=Dt.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+u)},{type:"elem",elem:h},{type:"kern",size:l}]},e);if(t.index){var d=e.havingStyle(w.SCRIPTSCRIPT),f=ue(t.index,d,e),g=.6*(p.height-p.depth),x=Dt.makeVList({positionType:"shift",positionData:-g,children:[{type:"elem",elem:f}]},e),v=Dt.makeSpan(["root"],[x]);return Dt.makeSpan(["mord","sqrt"],[v,p],e)}return Dt.makeSpan(["mord","sqrt"],[p],e)},mathmlBuilder:function(t,e){var r=t.body,a=t.index;return a?new ve.MathNode("mroot",[Me(r,e),Me(a,e)]):new ve.MathNode("msqrt",[Me(r,e)])}});var $r={display:w.DISPLAY,text:w.TEXT,script:w.SCRIPT,scriptscript:w.SCRIPTSCRIPT};Qt({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0},handler:function(t,e){var r=t.breakOnTokenText,a=t.funcName,n=t.parser,i=n.parseExpression(!0,r),o=a.slice(1,a.length-5);return{type:"styling",mode:n.mode,style:o,body:i}},htmlBuilder:function(t,e){var r=$r[t.style],a=e.havingStyle(r).withFont("");return _r(t.body,a,e)},mathmlBuilder:function(t,e){var r=$r[t.style],a=e.havingStyle(r),n=ke(t.body,a),i=new ve.MathNode("mstyle",n),o={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]}[t.style];return i.setAttribute("scriptlevel",o[0]),i.setAttribute("displaystyle",o[1]),i}});te({type:"supsub",htmlBuilder:function(t,e){var r=function(t,e){var r=t.base;return r?"op"===r.type?r.limits&&(e.style.size===w.DISPLAY.size||r.alwaysHandleSupSub)?Ur:null:"operatorname"===r.type?r.alwaysHandleSupSub&&(e.style.size===w.DISPLAY.size||r.limits)?Xr:null:"accent"===r.type?c.isCharacterBox(r.base)?Ee:null:"horizBrace"===r.type&&!t.sub===r.isOver?Hr:null:null}(t,e);if(r)return r(t,e);var a,n,i,o=t.base,s=t.sup,h=t.sub,l=ue(o,e),m=e.fontMetrics(),u=0,p=0,d=o&&c.isCharacterBox(o);if(s){var f=e.havingStyle(e.style.sup());a=ue(s,f,e),d||(u=l.height-f.fontMetrics().supDrop*f.sizeMultiplier/e.sizeMultiplier)}if(h){var g=e.havingStyle(e.style.sub());n=ue(h,g,e),d||(p=l.depth+g.fontMetrics().subDrop*g.sizeMultiplier/e.sizeMultiplier)}i=e.style===w.DISPLAY?m.sup1:e.style.cramped?m.sup3:m.sup2;var x,v=e.sizeMultiplier,b=.5/m.ptPerEm/v+"em",y=null;if(n){var k=t.base&&"op"===t.base.type&&t.base.name&&("\\oiint"===t.base.name||"\\oiiint"===t.base.name);(l instanceof E||k)&&(y=-l.italic+"em")}if(a&&n){u=Math.max(u,i,a.depth+.25*m.xHeight),p=Math.max(p,m.sub2);var S=4*m.defaultRuleThickness;if(u-a.depth-(n.height-p)0&&(u+=M,p-=M)}var z=[{type:"elem",elem:n,shift:p,marginRight:b,marginLeft:y},{type:"elem",elem:a,shift:-u,marginRight:b}];x=Dt.makeVList({positionType:"individualShift",children:z},e)}else if(n){p=Math.max(p,m.sub1,n.height-.8*m.xHeight);var A=[{type:"elem",elem:n,marginLeft:y,marginRight:b}];x=Dt.makeVList({positionType:"shift",positionData:p,children:A},e)}else{if(!a)throw new Error("supsub must have either sup or sub.");u=Math.max(u,i,a.depth+.25*m.xHeight),x=Dt.makeVList({positionType:"shift",positionData:-u,children:[{type:"elem",elem:a,marginRight:b}]},e)}var T=me(l,"right")||"mord";return Dt.makeSpan([T],[l,Dt.makeSpan(["msupsub"],[x])],e)},mathmlBuilder:function(t,e){var r,a=!1,n=Vt(t.base,"horizBrace");n&&!!t.sup===n.isOver&&(a=!0,r=n.isOver),!t.base||"op"!==t.base.type&&"operatorname"!==t.base.type||(t.base.parentIsSupSub=!0);var i,o=[Me(t.base,e)];if(t.sub&&o.push(Me(t.sub,e)),t.sup&&o.push(Me(t.sup,e)),a)i=r?"mover":"munder";else if(t.sub)if(t.sup){var s=t.base;i=s&&"op"===s.type&&s.limits&&e.style===w.DISPLAY?"munderover":s&&"operatorname"===s.type&&s.alwaysHandleSupSub&&(e.style===w.DISPLAY||s.limits)?"munderover":"msubsup"}else{var h=t.base;i=h&&"op"===h.type&&h.limits&&(e.style===w.DISPLAY||h.alwaysHandleSupSub)?"munder":h&&"operatorname"===h.type&&h.alwaysHandleSupSub&&(h.limits||e.style===w.DISPLAY)?"munder":"msub"}else{var l=t.base;i=l&&"op"===l.type&&l.limits&&(e.style===w.DISPLAY||l.alwaysHandleSupSub)?"mover":l&&"operatorname"===l.type&&l.alwaysHandleSupSub&&(l.limits||e.style===w.DISPLAY)?"mover":"msup"}return new ve.MathNode(i,o)}}),te({type:"atom",htmlBuilder:function(t,e){return Dt.mathsym(t.text,t.mode,e,["m"+t.family])},mathmlBuilder:function(t,e){var r=new ve.MathNode("mo",[be(t.text,t.mode)]);if("bin"===t.family){var a=we(t,e);"bold-italic"===a&&r.setAttribute("mathvariant",a)}else"punct"===t.family?r.setAttribute("separator","true"):"open"!==t.family&&"close"!==t.family||r.setAttribute("stretchy","false");return r}});var Zr={mi:"italic",mn:"normal",mtext:"normal"};te({type:"mathord",htmlBuilder:function(t,e){return Dt.makeOrd(t,e,"mathord")},mathmlBuilder:function(t,e){var r=new ve.MathNode("mi",[be(t.text,t.mode,e)]),a=we(t,e)||"italic";return a!==Zr[r.type]&&r.setAttribute("mathvariant",a),r}}),te({type:"textord",htmlBuilder:function(t,e){return Dt.makeOrd(t,e,"textord")},mathmlBuilder:function(t,e){var r,a=be(t.text,t.mode,e),n=we(t,e)||"normal";return r="text"===t.mode?new ve.MathNode("mtext",[a]):/[0-9]/.test(t.text)?new ve.MathNode("mn",[a]):"\\prime"===t.text?new ve.MathNode("mo",[a]):new ve.MathNode("mi",[a]),n!==Zr[r.type]&&r.setAttribute("mathvariant",n),r}});var Kr={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},Jr={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};te({type:"spacing",htmlBuilder:function(t,e){if(Jr.hasOwnProperty(t.text)){var r=Jr[t.text].className||"";if("text"===t.mode){var a=Dt.makeOrd(t,e,"textord");return a.classes.push(r),a}return Dt.makeSpan(["mspace",r],[Dt.mathsym(t.text,t.mode,e)],e)}if(Kr.hasOwnProperty(t.text))return Dt.makeSpan(["mspace",Kr[t.text]],[],e);throw new o('Unknown type of space "'+t.text+'"')},mathmlBuilder:function(t,e){if(!Jr.hasOwnProperty(t.text)){if(Kr.hasOwnProperty(t.text))return new ve.MathNode("mspace");throw new o('Unknown type of space "'+t.text+'"')}return new ve.MathNode("mtext",[new ve.TextNode("\xa0")])}});var Qr=function(){var t=new ve.MathNode("mtd",[]);return t.setAttribute("width","50%"),t};te({type:"tag",mathmlBuilder:function(t,e){var r=new ve.MathNode("mtable",[new ve.MathNode("mtr",[Qr(),new ve.MathNode("mtd",[Se(t.body,e)]),Qr(),new ve.MathNode("mtd",[Se(t.tag,e)])])]);return r.setAttribute("width","100%"),r}});var ta={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},ea={"\\textbf":"textbf","\\textmd":"textmd"},ra={"\\textit":"textit","\\textup":"textup"},aa=function(t,e){var r=t.font;return r?ta[r]?e.withTextFontFamily(ta[r]):ea[r]?e.withTextFontWeight(ea[r]):e.withTextFontShape(ra[r]):e};Qt({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup"],props:{numArgs:1,argTypes:["text"],greediness:2,allowedInText:!0},handler:function(t,e){var r=t.parser,a=t.funcName,n=e[0];return{type:"text",mode:r.mode,body:ee(n),font:a}},htmlBuilder:function(t,e){var r=aa(t,e),a=se(t.body,r,!0);return Dt.makeSpan(["mord","text"],Dt.tryCombineChars(a),r)},mathmlBuilder:function(t,e){var r=aa(t,e);return Se(t.body,r)}}),Qt({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler:function(t,e){return{type:"underline",mode:t.parser.mode,body:e[0]}},htmlBuilder:function(t,e){var r=ue(t.body,e),a=Dt.makeLineSpan("underline-line",e),n=e.fontMetrics().defaultRuleThickness,i=Dt.makeVList({positionType:"top",positionData:r.height,children:[{type:"kern",size:n},{type:"elem",elem:a},{type:"kern",size:3*n},{type:"elem",elem:r}]},e);return Dt.makeSpan(["mord","underline"],[i],e)},mathmlBuilder:function(t,e){var r=new ve.MathNode("mo",[new ve.TextNode("\u203e")]);r.setAttribute("stretchy","true");var a=new ve.MathNode("munder",[Me(t.body,e),r]);return a.setAttribute("accentunder","true"),a}}),Qt({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler:function(t,e,r){throw new o("\\verb ended by end of line instead of matching delimiter")},htmlBuilder:function(t,e){for(var r=na(t),a=[],n=e.havingStyle(e.style.text()),i=0;i0&&(this.undefStack[this.undefStack.length-1][t]=e)}else{var n=this.undefStack[this.undefStack.length-1];n&&!n.hasOwnProperty(t)&&(n[t]=this.current[t])}this.current[t]=e},t}(),ca={},ua=ca;function pa(t,e){ca[t]=e}pa("\\@firstoftwo",function(t){return{tokens:t.consumeArgs(2)[0],numArgs:0}}),pa("\\@secondoftwo",function(t){return{tokens:t.consumeArgs(2)[1],numArgs:0}}),pa("\\@ifnextchar",function(t){var e=t.consumeArgs(3),r=t.future();return 1===e[0].length&&e[0][0].text===r.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}}),pa("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}"),pa("\\TextOrMath",function(t){var e=t.consumeArgs(2);return"text"===t.mode?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});var da={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};pa("\\char",function(t){var e,r=t.popToken(),a="";if("'"===r.text)e=8,r=t.popToken();else if('"'===r.text)e=16,r=t.popToken();else if("`"===r.text)if("\\"===(r=t.popToken()).text[0])a=r.text.charCodeAt(1);else{if("EOF"===r.text)throw new o("\\char` missing argument");a=r.text.charCodeAt(0)}else e=10;if(e){if(null==(a=da[r.text])||a>=e)throw new o("Invalid base-"+e+" digit "+r.text);for(var n;null!=(n=da[t.future().text])&&n":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"};pa("\\dots",function(t){var e="\\dotso",r=t.expandAfterFuture().text;return r in xa?e=xa[r]:"\\not"===r.substr(0,4)?e="\\dotsb":r in j.math&&c.contains(["bin","rel"],j.math[r].group)&&(e="\\dotsb"),e});var va={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};pa("\\dotso",function(t){return t.future().text in va?"\\ldots\\,":"\\ldots"}),pa("\\dotsc",function(t){var e=t.future().text;return e in va&&","!==e?"\\ldots\\,":"\\ldots"}),pa("\\cdots",function(t){return t.future().text in va?"\\@cdots\\,":"\\@cdots"}),pa("\\dotsb","\\cdots"),pa("\\dotsm","\\cdots"),pa("\\dotsi","\\!\\cdots"),pa("\\dotsx","\\ldots\\,"),pa("\\DOTSI","\\relax"),pa("\\DOTSB","\\relax"),pa("\\DOTSX","\\relax"),pa("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"),pa("\\,","\\tmspace+{3mu}{.1667em}"),pa("\\thinspace","\\,"),pa("\\>","\\mskip{4mu}"),pa("\\:","\\tmspace+{4mu}{.2222em}"),pa("\\medspace","\\:"),pa("\\;","\\tmspace+{5mu}{.2777em}"),pa("\\thickspace","\\;"),pa("\\!","\\tmspace-{3mu}{.1667em}"),pa("\\negthinspace","\\!"),pa("\\negmedspace","\\tmspace-{4mu}{.2222em}"),pa("\\negthickspace","\\tmspace-{5mu}{.277em}"),pa("\\enspace","\\kern.5em "),pa("\\enskip","\\hskip.5em\\relax"),pa("\\quad","\\hskip1em\\relax"),pa("\\qquad","\\hskip2em\\relax"),pa("\\tag","\\@ifstar\\tag@literal\\tag@paren"),pa("\\tag@paren","\\tag@literal{({#1})}"),pa("\\tag@literal",function(t){if(t.macros.get("\\df@tag"))throw new o("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"}),pa("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}"),pa("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)"),pa("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}"),pa("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1"),pa("\\pmb","\\html@mathml{\\@binrel{#1}{\\mathrlap{#1}\\kern0.5px#1}}{\\mathbf{#1}}"),pa("\\\\","\\newline"),pa("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var ba=F["Main-Regular"]["T".charCodeAt(0)][1]-.7*F["Main-Regular"]["A".charCodeAt(0)][1]+"em";pa("\\LaTeX","\\textrm{\\html@mathml{L\\kern-.36em\\raisebox{"+ba+"}{\\scriptstyle A}\\kern-.15em\\TeX}{LaTeX}}"),pa("\\KaTeX","\\textrm{\\html@mathml{K\\kern-.17em\\raisebox{"+ba+"}{\\scriptstyle A}\\kern-.15em\\TeX}{KaTeX}}"),pa("\\hspace","\\@ifstar\\@hspacer\\@hspace"),pa("\\@hspace","\\hskip #1\\relax"),pa("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax"),pa("\\ordinarycolon",":"),pa("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}"),pa("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}'),pa("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}'),pa("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}'),pa("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}'),pa("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}'),pa("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}'),pa("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}'),pa("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}'),pa("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}'),pa("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}'),pa("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}'),pa("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}'),pa("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}'),pa("\u2237","\\dblcolon"),pa("\u2239","\\eqcolon"),pa("\u2254","\\coloneqq"),pa("\u2255","\\eqqcolon"),pa("\u2a74","\\Coloneqq"),pa("\\ratio","\\vcentcolon"),pa("\\coloncolon","\\dblcolon"),pa("\\colonequals","\\coloneqq"),pa("\\coloncolonequals","\\Coloneqq"),pa("\\equalscolon","\\eqqcolon"),pa("\\equalscoloncolon","\\Eqqcolon"),pa("\\colonminus","\\coloneq"),pa("\\coloncolonminus","\\Coloneq"),pa("\\minuscolon","\\eqcolon"),pa("\\minuscoloncolon","\\Eqcolon"),pa("\\coloncolonapprox","\\Colonapprox"),pa("\\coloncolonsim","\\Colonsim"),pa("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),pa("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}"),pa("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),pa("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}"),pa("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220c}}"),pa("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}"),pa("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}"),pa("\\gvertneqq","\\html@mathml{\\@gvertneqq}{\u2269}"),pa("\\lvertneqq","\\html@mathml{\\@lvertneqq}{\u2268}"),pa("\\ngeqq","\\html@mathml{\\@ngeqq}{\u2271}"),pa("\\ngeqslant","\\html@mathml{\\@ngeqslant}{\u2271}"),pa("\\nleqq","\\html@mathml{\\@nleqq}{\u2270}"),pa("\\nleqslant","\\html@mathml{\\@nleqslant}{\u2270}"),pa("\\nshortmid","\\html@mathml{\\@nshortmid}{\u2224}"),pa("\\nshortparallel","\\html@mathml{\\@nshortparallel}{\u2226}"),pa("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{\u2288}"),pa("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{\u2289}"),pa("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{\u228a}"),pa("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{\u2acb}"),pa("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{\u228b}"),pa("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{\u2acc}"),pa("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27e6}}"),pa("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27e7}}"),pa("\u27e6","\\llbracket"),pa("\u27e7","\\rrbracket"),pa("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}"),pa("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}"),pa("\u2983","\\lBrace"),pa("\u2984","\\rBrace"),pa("\\darr","\\downarrow"),pa("\\dArr","\\Downarrow"),pa("\\Darr","\\Downarrow"),pa("\\lang","\\langle"),pa("\\rang","\\rangle"),pa("\\uarr","\\uparrow"),pa("\\uArr","\\Uparrow"),pa("\\Uarr","\\Uparrow"),pa("\\N","\\mathbb{N}"),pa("\\R","\\mathbb{R}"),pa("\\Z","\\mathbb{Z}"),pa("\\alef","\\aleph"),pa("\\alefsym","\\aleph"),pa("\\Alpha","\\mathrm{A}"),pa("\\Beta","\\mathrm{B}"),pa("\\bull","\\bullet"),pa("\\Chi","\\mathrm{X}"),pa("\\clubs","\\clubsuit"),pa("\\cnums","\\mathbb{C}"),pa("\\Complex","\\mathbb{C}"),pa("\\Dagger","\\ddagger"),pa("\\diamonds","\\diamondsuit"),pa("\\empty","\\emptyset"),pa("\\Epsilon","\\mathrm{E}"),pa("\\Eta","\\mathrm{H}"),pa("\\exist","\\exists"),pa("\\harr","\\leftrightarrow"),pa("\\hArr","\\Leftrightarrow"),pa("\\Harr","\\Leftrightarrow"),pa("\\hearts","\\heartsuit"),pa("\\image","\\Im"),pa("\\infin","\\infty"),pa("\\Iota","\\mathrm{I}"),pa("\\isin","\\in"),pa("\\Kappa","\\mathrm{K}"),pa("\\larr","\\leftarrow"),pa("\\lArr","\\Leftarrow"),pa("\\Larr","\\Leftarrow"),pa("\\lrarr","\\leftrightarrow"),pa("\\lrArr","\\Leftrightarrow"),pa("\\Lrarr","\\Leftrightarrow"),pa("\\Mu","\\mathrm{M}"),pa("\\natnums","\\mathbb{N}"),pa("\\Nu","\\mathrm{N}"),pa("\\Omicron","\\mathrm{O}"),pa("\\plusmn","\\pm"),pa("\\rarr","\\rightarrow"),pa("\\rArr","\\Rightarrow"),pa("\\Rarr","\\Rightarrow"),pa("\\real","\\Re"),pa("\\reals","\\mathbb{R}"),pa("\\Reals","\\mathbb{R}"),pa("\\Rho","\\mathrm{P}"),pa("\\sdot","\\cdot"),pa("\\sect","\\S"),pa("\\spades","\\spadesuit"),pa("\\sub","\\subset"),pa("\\sube","\\subseteq"),pa("\\supe","\\supseteq"),pa("\\Tau","\\mathrm{T}"),pa("\\thetasym","\\vartheta"),pa("\\weierp","\\wp"),pa("\\Zeta","\\mathrm{Z}"),pa("\\argmin","\\DOTSB\\operatorname*{arg\\,min}"),pa("\\argmax","\\DOTSB\\operatorname*{arg\\,max}"),pa("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits"),pa("\\blue","\\textcolor{##6495ed}{#1}"),pa("\\orange","\\textcolor{##ffa500}{#1}"),pa("\\pink","\\textcolor{##ff00af}{#1}"),pa("\\red","\\textcolor{##df0030}{#1}"),pa("\\green","\\textcolor{##28ae7b}{#1}"),pa("\\gray","\\textcolor{gray}{#1}"),pa("\\purple","\\textcolor{##9d38bd}{#1}"),pa("\\blueA","\\textcolor{##ccfaff}{#1}"),pa("\\blueB","\\textcolor{##80f6ff}{#1}"),pa("\\blueC","\\textcolor{##63d9ea}{#1}"),pa("\\blueD","\\textcolor{##11accd}{#1}"),pa("\\blueE","\\textcolor{##0c7f99}{#1}"),pa("\\tealA","\\textcolor{##94fff5}{#1}"),pa("\\tealB","\\textcolor{##26edd5}{#1}"),pa("\\tealC","\\textcolor{##01d1c1}{#1}"),pa("\\tealD","\\textcolor{##01a995}{#1}"),pa("\\tealE","\\textcolor{##208170}{#1}"),pa("\\greenA","\\textcolor{##b6ffb0}{#1}"),pa("\\greenB","\\textcolor{##8af281}{#1}"),pa("\\greenC","\\textcolor{##74cf70}{#1}"),pa("\\greenD","\\textcolor{##1fab54}{#1}"),pa("\\greenE","\\textcolor{##0d923f}{#1}"),pa("\\goldA","\\textcolor{##ffd0a9}{#1}"),pa("\\goldB","\\textcolor{##ffbb71}{#1}"),pa("\\goldC","\\textcolor{##ff9c39}{#1}"),pa("\\goldD","\\textcolor{##e07d10}{#1}"),pa("\\goldE","\\textcolor{##a75a05}{#1}"),pa("\\redA","\\textcolor{##fca9a9}{#1}"),pa("\\redB","\\textcolor{##ff8482}{#1}"),pa("\\redC","\\textcolor{##f9685d}{#1}"),pa("\\redD","\\textcolor{##e84d39}{#1}"),pa("\\redE","\\textcolor{##bc2612}{#1}"),pa("\\maroonA","\\textcolor{##ffbde0}{#1}"),pa("\\maroonB","\\textcolor{##ff92c6}{#1}"),pa("\\maroonC","\\textcolor{##ed5fa6}{#1}"),pa("\\maroonD","\\textcolor{##ca337c}{#1}"),pa("\\maroonE","\\textcolor{##9e034e}{#1}"),pa("\\purpleA","\\textcolor{##ddd7ff}{#1}"),pa("\\purpleB","\\textcolor{##c6b9fc}{#1}"),pa("\\purpleC","\\textcolor{##aa87ff}{#1}"),pa("\\purpleD","\\textcolor{##7854ab}{#1}"),pa("\\purpleE","\\textcolor{##543b78}{#1}"),pa("\\mintA","\\textcolor{##f5f9e8}{#1}"),pa("\\mintB","\\textcolor{##edf2df}{#1}"),pa("\\mintC","\\textcolor{##e0e5cc}{#1}"),pa("\\grayA","\\textcolor{##f6f7f7}{#1}"),pa("\\grayB","\\textcolor{##f0f1f2}{#1}"),pa("\\grayC","\\textcolor{##e3e5e6}{#1}"),pa("\\grayD","\\textcolor{##d6d8da}{#1}"),pa("\\grayE","\\textcolor{##babec2}{#1}"),pa("\\grayF","\\textcolor{##888d93}{#1}"),pa("\\grayG","\\textcolor{##626569}{#1}"),pa("\\grayH","\\textcolor{##3b3e40}{#1}"),pa("\\grayI","\\textcolor{##21242c}{#1}"),pa("\\kaBlue","\\textcolor{##314453}{#1}"),pa("\\kaGreen","\\textcolor{##71B307}{#1}");var ya={"\\relax":!0,"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},wa=function(){function t(t,e,r){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=e,this.expansionCount=0,this.feed(t),this.macros=new ma(ua,e.macros),this.mode=r,this.stack=[]}var e=t.prototype;return e.feed=function(t){this.lexer=new la(t,this.settings)},e.switchMode=function(t){this.mode=t},e.beginGroup=function(){this.macros.beginGroup()},e.endGroup=function(){this.macros.endGroup()},e.future=function(){return 0===this.stack.length&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]},e.popToken=function(){return this.future(),this.stack.pop()},e.pushToken=function(t){this.stack.push(t)},e.pushTokens=function(t){var e;(e=this.stack).push.apply(e,t)},e.consumeSpaces=function(){for(;;){if(" "!==this.future().text)break;this.stack.pop()}},e.consumeArgs=function(t){for(var e=[],r=0;rthis.settings.maxExpand)throw new o("Too many expansions: infinite loop or need to increase maxExpand setting");var a=r.tokens;if(r.numArgs)for(var n=this.consumeArgs(r.numArgs),i=(a=a.slice()).length-1;i>=0;--i){var s=a[i];if("#"===s.text){if(0===i)throw new o("Incomplete placeholder at end of macro body",s);if("#"===(s=a[--i]).text)a.splice(i+1,1);else{if(!/^[1-9]$/.test(s.text))throw new o("Not a valid argument number",s);var h;(h=a).splice.apply(h,[i,2].concat(n[+s.text-1]))}}}return this.pushTokens(a),a},e.expandAfterFuture=function(){return this.expandOnce(),this.future()},e.expandNextToken=function(){for(;;){var t=this.expandOnce();if(t instanceof n){if("\\relax"!==t.text)return this.stack.pop();this.stack.pop()}}throw new Error},e.expandMacro=function(t){if(this.macros.get(t)){var e=[],r=this.stack.length;for(this.pushToken(new n(t));this.stack.length>r;){this.expandOnce()instanceof n&&e.push(this.stack.pop())}return e}},e.expandMacroAsText=function(t){var e=this.expandMacro(t);return e?e.map(function(t){return t.text}).join(""):e},e._getExpansion=function(t){var e=this.macros.get(t);if(null==e)return e;var r="function"==typeof e?e(this):e;if("string"==typeof r){var a=0;if(-1!==r.indexOf("#"))for(var n=r.replace(/##/g,"");-1!==n.indexOf("#"+(a+1));)++a;for(var i=new la(r,this.settings),o=[],s=i.lex();"EOF"!==s.text;)o.push(s),s=i.lex();return o.reverse(),{tokens:o,numArgs:a}}return r},e.isDefined=function(t){return this.macros.has(t)||ia.hasOwnProperty(t)||j.math.hasOwnProperty(t)||j.text.hasOwnProperty(t)||ya.hasOwnProperty(t)},t}(),ka={"\u0301":{text:"\\'",math:"\\acute"},"\u0300":{text:"\\`",math:"\\grave"},"\u0308":{text:'\\"',math:"\\ddot"},"\u0303":{text:"\\~",math:"\\tilde"},"\u0304":{text:"\\=",math:"\\bar"},"\u0306":{text:"\\u",math:"\\breve"},"\u030c":{text:"\\v",math:"\\check"},"\u0302":{text:"\\^",math:"\\hat"},"\u0307":{text:"\\.",math:"\\dot"},"\u030a":{text:"\\r",math:"\\mathring"},"\u030b":{text:"\\H"}},Sa={"\xe1":"a\u0301","\xe0":"a\u0300","\xe4":"a\u0308","\u01df":"a\u0308\u0304","\xe3":"a\u0303","\u0101":"a\u0304","\u0103":"a\u0306","\u1eaf":"a\u0306\u0301","\u1eb1":"a\u0306\u0300","\u1eb5":"a\u0306\u0303","\u01ce":"a\u030c","\xe2":"a\u0302","\u1ea5":"a\u0302\u0301","\u1ea7":"a\u0302\u0300","\u1eab":"a\u0302\u0303","\u0227":"a\u0307","\u01e1":"a\u0307\u0304","\xe5":"a\u030a","\u01fb":"a\u030a\u0301","\u1e03":"b\u0307","\u0107":"c\u0301","\u010d":"c\u030c","\u0109":"c\u0302","\u010b":"c\u0307","\u010f":"d\u030c","\u1e0b":"d\u0307","\xe9":"e\u0301","\xe8":"e\u0300","\xeb":"e\u0308","\u1ebd":"e\u0303","\u0113":"e\u0304","\u1e17":"e\u0304\u0301","\u1e15":"e\u0304\u0300","\u0115":"e\u0306","\u011b":"e\u030c","\xea":"e\u0302","\u1ebf":"e\u0302\u0301","\u1ec1":"e\u0302\u0300","\u1ec5":"e\u0302\u0303","\u0117":"e\u0307","\u1e1f":"f\u0307","\u01f5":"g\u0301","\u1e21":"g\u0304","\u011f":"g\u0306","\u01e7":"g\u030c","\u011d":"g\u0302","\u0121":"g\u0307","\u1e27":"h\u0308","\u021f":"h\u030c","\u0125":"h\u0302","\u1e23":"h\u0307","\xed":"i\u0301","\xec":"i\u0300","\xef":"i\u0308","\u1e2f":"i\u0308\u0301","\u0129":"i\u0303","\u012b":"i\u0304","\u012d":"i\u0306","\u01d0":"i\u030c","\xee":"i\u0302","\u01f0":"j\u030c","\u0135":"j\u0302","\u1e31":"k\u0301","\u01e9":"k\u030c","\u013a":"l\u0301","\u013e":"l\u030c","\u1e3f":"m\u0301","\u1e41":"m\u0307","\u0144":"n\u0301","\u01f9":"n\u0300","\xf1":"n\u0303","\u0148":"n\u030c","\u1e45":"n\u0307","\xf3":"o\u0301","\xf2":"o\u0300","\xf6":"o\u0308","\u022b":"o\u0308\u0304","\xf5":"o\u0303","\u1e4d":"o\u0303\u0301","\u1e4f":"o\u0303\u0308","\u022d":"o\u0303\u0304","\u014d":"o\u0304","\u1e53":"o\u0304\u0301","\u1e51":"o\u0304\u0300","\u014f":"o\u0306","\u01d2":"o\u030c","\xf4":"o\u0302","\u1ed1":"o\u0302\u0301","\u1ed3":"o\u0302\u0300","\u1ed7":"o\u0302\u0303","\u022f":"o\u0307","\u0231":"o\u0307\u0304","\u0151":"o\u030b","\u1e55":"p\u0301","\u1e57":"p\u0307","\u0155":"r\u0301","\u0159":"r\u030c","\u1e59":"r\u0307","\u015b":"s\u0301","\u1e65":"s\u0301\u0307","\u0161":"s\u030c","\u1e67":"s\u030c\u0307","\u015d":"s\u0302","\u1e61":"s\u0307","\u1e97":"t\u0308","\u0165":"t\u030c","\u1e6b":"t\u0307","\xfa":"u\u0301","\xf9":"u\u0300","\xfc":"u\u0308","\u01d8":"u\u0308\u0301","\u01dc":"u\u0308\u0300","\u01d6":"u\u0308\u0304","\u01da":"u\u0308\u030c","\u0169":"u\u0303","\u1e79":"u\u0303\u0301","\u016b":"u\u0304","\u1e7b":"u\u0304\u0308","\u016d":"u\u0306","\u01d4":"u\u030c","\xfb":"u\u0302","\u016f":"u\u030a","\u0171":"u\u030b","\u1e7d":"v\u0303","\u1e83":"w\u0301","\u1e81":"w\u0300","\u1e85":"w\u0308","\u0175":"w\u0302","\u1e87":"w\u0307","\u1e98":"w\u030a","\u1e8d":"x\u0308","\u1e8b":"x\u0307","\xfd":"y\u0301","\u1ef3":"y\u0300","\xff":"y\u0308","\u1ef9":"y\u0303","\u0233":"y\u0304","\u0177":"y\u0302","\u1e8f":"y\u0307","\u1e99":"y\u030a","\u017a":"z\u0301","\u017e":"z\u030c","\u1e91":"z\u0302","\u017c":"z\u0307","\xc1":"A\u0301","\xc0":"A\u0300","\xc4":"A\u0308","\u01de":"A\u0308\u0304","\xc3":"A\u0303","\u0100":"A\u0304","\u0102":"A\u0306","\u1eae":"A\u0306\u0301","\u1eb0":"A\u0306\u0300","\u1eb4":"A\u0306\u0303","\u01cd":"A\u030c","\xc2":"A\u0302","\u1ea4":"A\u0302\u0301","\u1ea6":"A\u0302\u0300","\u1eaa":"A\u0302\u0303","\u0226":"A\u0307","\u01e0":"A\u0307\u0304","\xc5":"A\u030a","\u01fa":"A\u030a\u0301","\u1e02":"B\u0307","\u0106":"C\u0301","\u010c":"C\u030c","\u0108":"C\u0302","\u010a":"C\u0307","\u010e":"D\u030c","\u1e0a":"D\u0307","\xc9":"E\u0301","\xc8":"E\u0300","\xcb":"E\u0308","\u1ebc":"E\u0303","\u0112":"E\u0304","\u1e16":"E\u0304\u0301","\u1e14":"E\u0304\u0300","\u0114":"E\u0306","\u011a":"E\u030c","\xca":"E\u0302","\u1ebe":"E\u0302\u0301","\u1ec0":"E\u0302\u0300","\u1ec4":"E\u0302\u0303","\u0116":"E\u0307","\u1e1e":"F\u0307","\u01f4":"G\u0301","\u1e20":"G\u0304","\u011e":"G\u0306","\u01e6":"G\u030c","\u011c":"G\u0302","\u0120":"G\u0307","\u1e26":"H\u0308","\u021e":"H\u030c","\u0124":"H\u0302","\u1e22":"H\u0307","\xcd":"I\u0301","\xcc":"I\u0300","\xcf":"I\u0308","\u1e2e":"I\u0308\u0301","\u0128":"I\u0303","\u012a":"I\u0304","\u012c":"I\u0306","\u01cf":"I\u030c","\xce":"I\u0302","\u0130":"I\u0307","\u0134":"J\u0302","\u1e30":"K\u0301","\u01e8":"K\u030c","\u0139":"L\u0301","\u013d":"L\u030c","\u1e3e":"M\u0301","\u1e40":"M\u0307","\u0143":"N\u0301","\u01f8":"N\u0300","\xd1":"N\u0303","\u0147":"N\u030c","\u1e44":"N\u0307","\xd3":"O\u0301","\xd2":"O\u0300","\xd6":"O\u0308","\u022a":"O\u0308\u0304","\xd5":"O\u0303","\u1e4c":"O\u0303\u0301","\u1e4e":"O\u0303\u0308","\u022c":"O\u0303\u0304","\u014c":"O\u0304","\u1e52":"O\u0304\u0301","\u1e50":"O\u0304\u0300","\u014e":"O\u0306","\u01d1":"O\u030c","\xd4":"O\u0302","\u1ed0":"O\u0302\u0301","\u1ed2":"O\u0302\u0300","\u1ed6":"O\u0302\u0303","\u022e":"O\u0307","\u0230":"O\u0307\u0304","\u0150":"O\u030b","\u1e54":"P\u0301","\u1e56":"P\u0307","\u0154":"R\u0301","\u0158":"R\u030c","\u1e58":"R\u0307","\u015a":"S\u0301","\u1e64":"S\u0301\u0307","\u0160":"S\u030c","\u1e66":"S\u030c\u0307","\u015c":"S\u0302","\u1e60":"S\u0307","\u0164":"T\u030c","\u1e6a":"T\u0307","\xda":"U\u0301","\xd9":"U\u0300","\xdc":"U\u0308","\u01d7":"U\u0308\u0301","\u01db":"U\u0308\u0300","\u01d5":"U\u0308\u0304","\u01d9":"U\u0308\u030c","\u0168":"U\u0303","\u1e78":"U\u0303\u0301","\u016a":"U\u0304","\u1e7a":"U\u0304\u0308","\u016c":"U\u0306","\u01d3":"U\u030c","\xdb":"U\u0302","\u016e":"U\u030a","\u0170":"U\u030b","\u1e7c":"V\u0303","\u1e82":"W\u0301","\u1e80":"W\u0300","\u1e84":"W\u0308","\u0174":"W\u0302","\u1e86":"W\u0307","\u1e8c":"X\u0308","\u1e8a":"X\u0307","\xdd":"Y\u0301","\u1ef2":"Y\u0300","\u0178":"Y\u0308","\u1ef8":"Y\u0303","\u0232":"Y\u0304","\u0176":"Y\u0302","\u1e8e":"Y\u0307","\u0179":"Z\u0301","\u017d":"Z\u030c","\u1e90":"Z\u0302","\u017b":"Z\u0307","\u03ac":"\u03b1\u0301","\u1f70":"\u03b1\u0300","\u1fb1":"\u03b1\u0304","\u1fb0":"\u03b1\u0306","\u03ad":"\u03b5\u0301","\u1f72":"\u03b5\u0300","\u03ae":"\u03b7\u0301","\u1f74":"\u03b7\u0300","\u03af":"\u03b9\u0301","\u1f76":"\u03b9\u0300","\u03ca":"\u03b9\u0308","\u0390":"\u03b9\u0308\u0301","\u1fd2":"\u03b9\u0308\u0300","\u1fd1":"\u03b9\u0304","\u1fd0":"\u03b9\u0306","\u03cc":"\u03bf\u0301","\u1f78":"\u03bf\u0300","\u03cd":"\u03c5\u0301","\u1f7a":"\u03c5\u0300","\u03cb":"\u03c5\u0308","\u03b0":"\u03c5\u0308\u0301","\u1fe2":"\u03c5\u0308\u0300","\u1fe1":"\u03c5\u0304","\u1fe0":"\u03c5\u0306","\u03ce":"\u03c9\u0301","\u1f7c":"\u03c9\u0300","\u038e":"\u03a5\u0301","\u1fea":"\u03a5\u0300","\u03ab":"\u03a5\u0308","\u1fe9":"\u03a5\u0304","\u1fe8":"\u03a5\u0306","\u038f":"\u03a9\u0301","\u1ffa":"\u03a9\u0300"},Ma=function(){function t(t,e){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new wa(t,e,this.mode),this.settings=e,this.leftrightDepth=0}var e=t.prototype;return e.expect=function(t,e){if(void 0===e&&(e=!0),this.fetch().text!==t)throw new o("Expected '"+t+"', got '"+this.fetch().text+"'",this.fetch());e&&this.consume()},e.consume=function(){this.nextToken=null},e.fetch=function(){return null==this.nextToken&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken},e.switchMode=function(t){this.mode=t,this.gullet.switchMode(t)},e.parse=function(){this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");var t=this.parseExpression(!1);return this.expect("EOF"),this.gullet.endGroup(),t},e.parseExpression=function(e,r){for(var a=[];;){"math"===this.mode&&this.consumeSpaces();var n=this.fetch();if(-1!==t.endOfExpression.indexOf(n.text))break;if(r&&n.text===r)break;if(e&&ia[n.text]&&ia[n.text].infix)break;var i=this.parseAtom(r);if(!i)break;a.push(i)}return"text"===this.mode&&this.formLigatures(a),this.handleInfixNodes(a)},e.handleInfixNodes=function(t){for(var e,r=-1,a=0;a0&&!l||0===s&&!l&&"math"===this.mode,c=this.parseGroupOfType("argument to '"+t+"'",h,l,a,m);if(!c){if(l){i.push(null);continue}throw new o("Expected group after '"+t+"'",this.fetch())}(l?i:n).push(c)}return{args:n,optArgs:i}},e.parseGroupOfType=function(t,e,r,a,n){switch(e){case"color":return n&&this.consumeSpaces(),this.parseColorGroup(r);case"size":return n&&this.consumeSpaces(),this.parseSizeGroup(r);case"url":return this.parseUrlGroup(r,n);case"math":case"text":return this.parseGroup(t,r,a,void 0,e,n);case"hbox":var i=this.parseGroup(t,r,a,void 0,"text",n);return i?{type:"styling",mode:i.mode,body:[i],style:"text"}:i;case"raw":if(n&&this.consumeSpaces(),r&&"{"===this.fetch().text)return null;var s=this.parseStringGroup("raw",r,!0);if(s)return{type:"raw",mode:"text",string:s.text};throw new o("Expected raw group",this.fetch());case"original":case null:case void 0:return this.parseGroup(t,r,a,void 0,void 0,n);default:throw new o("Unknown group type as "+t,this.fetch())}},e.consumeSpaces=function(){for(;" "===this.fetch().text;)this.consume()},e.parseStringGroup=function(t,e,r){var a=e?"[":"{",n=e?"]":"}",i=this.fetch();if(i.text!==a){if(e)return null;if(r&&"EOF"!==i.text&&/[^{}[\]]/.test(i.text))return this.consume(),i}var s=this.mode;this.mode="text",this.expect(a);for(var h,l="",m=this.fetch(),c=0,u=m;(h=this.fetch()).text!==n||r&&c>0;){switch(h.text){case"EOF":throw new o("Unexpected end of input in "+t,m.range(u,l));case a:c++;break;case n:c--}l+=(u=h).text,this.consume()}return this.expect(n),this.mode=s,m.range(u,l)},e.parseRegexGroup=function(t,e){var r=this.mode;this.mode="text";for(var a,n=this.fetch(),i=n,s="";"EOF"!==(a=this.fetch()).text&&t.test(s+a.text);)s+=(i=a).text,this.consume();if(""===s)throw new o("Invalid "+e+": '"+n.text+"'",n);return this.mode=r,n.range(i,s)},e.parseColorGroup=function(t){var e=this.parseStringGroup("color",t);if(!e)return null;var r=/^(#[a-f0-9]{3}|#?[a-f0-9]{6}|[a-z]+)$/i.exec(e.text);if(!r)throw new o("Invalid color: '"+e.text+"'",e);var a=r[0];return/^[0-9a-f]{6}$/i.test(a)&&(a="#"+a),{type:"color-token",mode:this.mode,color:a}},e.parseSizeGroup=function(t){var e,r=!1;if(!(e=t||"{"===this.fetch().text?this.parseStringGroup("size",t):this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/,"size")))return null;t||0!==e.text.length||(e.text="0pt",r=!0);var a=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e.text);if(!a)throw new o("Invalid size: '"+e.text+"'",e);var n={number:+(a[1]+a[2]),unit:a[3]};if(!At(n))throw new o("Invalid unit: '"+n.unit+"'",e);return{type:"size",mode:this.mode,value:n,isBlank:r}},e.parseUrlGroup=function(t,e){this.gullet.lexer.setCatcode("%",13);var r=this.parseStringGroup("url",t,!0);if(this.gullet.lexer.setCatcode("%",14),!r)return null;var a=r.text.replace(/\\([#$%&~_^{}])/g,"$1");return{type:"url",mode:this.mode,url:a}},e.parseGroup=function(e,r,n,i,s,h){var l=this.mode;s&&this.switchMode(s),h&&this.consumeSpaces();var m,c=this.fetch(),u=c.text;if(r?"["===u:"{"===u||"\\begingroup"===u){this.consume();var p=t.endOfGroup[u];this.gullet.beginGroup();var d=this.parseExpression(!1,p),f=this.fetch();this.expect(p),this.gullet.endGroup(),m={type:"ordgroup",mode:this.mode,loc:a.range(c,f),body:d,semisimple:"\\begingroup"===u||void 0}}else if(r)m=null;else if(null==(m=this.parseFunction(i,e,n)||this.parseSymbol())&&"\\"===u[0]&&!ya.hasOwnProperty(u)){if(this.settings.throwOnError)throw new o("Undefined control sequence: "+u,c);m=this.formatUnsupportedCmd(u),this.consume()}return s&&this.switchMode(l),m},e.formLigatures=function(t){for(var e=t.length-1,r=0;r=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+e[0]+'" used in math mode',t);var h,l=j[this.mode][e].group,m=a.range(t);if(W.hasOwnProperty(l)){var c=l;h={type:"atom",mode:this.mode,family:c,loc:m,text:e}}else h={type:l,mode:this.mode,loc:m,text:e};i=h}else{if(!(e.charCodeAt(0)>=128))return null;this.settings.strict&&(M(e.charCodeAt(0))?"math"===this.mode&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+e[0]+'" used in math mode',t):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+e[0]+'" ('+e.charCodeAt(0)+")",t)),i={type:"textord",mode:"text",loc:a.range(t),text:e}}if(this.consume(),s)for(var u=0;u=0;a--)t[a].loc.start>o&&(n+=" ",o=t[a].loc.start),n+=t[a].text,o+=t[a].text.length;return c.go(i.go(n,e))},i={go:function(t,e){if(!t)return[];void 0===e&&(e="ce");var n,o="0",a={};a.parenthesisLevel=0,t=(t=(t=t.replace(/\n/g," ")).replace(/[\u2212\u2013\u2014\u2010]/g,"-")).replace(/[\u2026]/g,"...");for(var r=10,c=[];;){n!==t?(r=10,n=t):r--;var u=i.stateMachines[e],p=u.transitions[o]||u.transitions["*"];t:for(var s=0;s 0))return c;if(d.revisit||(t=_.remainder),!d.toContinue)break t}}if(r<=0)throw["MhchemBugU","mhchem bug U. Please report."]}},concatArray:function(t,e){if(e)if(Array.isArray(e))for(var n=0;n":/^[=<>]/,"#":/^[#\u2261]/,"+":/^\+/,"-$":/^-(?=[\s_},;\]\/]|$|\([a-z]+\))/,"-9":/^-(?=[0-9])/,"- orbital overlap":/^-(?=(?:[spd]|sp)(?:$|[\s,;\)\]\}]))/,"-":/^-/,"pm-operator":/^(?:\\pm|\$\\pm\$|\+-|\+\/-)/,operator:/^(?:\+|(?:[\-=<>]|<<|>>|\\approx|\$\\approx\$)(?=\s|$|-?[0-9]))/,arrowUpDown:/^(?:v|\(v\)|\^|\(\^\))(?=$|[\s,;\)\]\}])/,"\\bond{(...)}":function(t){return i.patterns.findObserveGroups(t,"\\bond{","","","}")},"->":/^(?:<->|<-->|->|<-|<=>>|<<=>|<=>|[\u2192\u27F6\u21CC])/,CMT:/^[CMT](?=\[)/,"[(...)]":function(t){return i.patterns.findObserveGroups(t,"[","","","]")},"1st-level escape":/^(&|\\\\|\\hline)\s*/,"\\,":/^(?:\\[,\ ;:])/,"\\x{}{}":function(t){return i.patterns.findObserveGroups(t,"",/^\\[a-zA-Z]+\{/,"}","","","{","}","",!0)},"\\x{}":function(t){return i.patterns.findObserveGroups(t,"",/^\\[a-zA-Z]+\{/,"}","")},"\\ca":/^\\ca(?:\s+|(?![a-zA-Z]))/,"\\x":/^(?:\\[a-zA-Z]+\s*|\\[_&{}%])/,orbital:/^(?:[0-9]{1,2}[spdfgh]|[0-9]{0,2}sp)(?=$|[^a-zA-Z])/,others:/^[\/~|]/,"\\frac{(...)}":function(t){return i.patterns.findObserveGroups(t,"\\frac{","","","}","{","","","}")},"\\overset{(...)}":function(t){return i.patterns.findObserveGroups(t,"\\overset{","","","}","{","","","}")},"\\underset{(...)}":function(t){return i.patterns.findObserveGroups(t,"\\underset{","","","}","{","","","}")},"\\underbrace{(...)}":function(t){return i.patterns.findObserveGroups(t,"\\underbrace{","","","}_","{","","","}")},"\\color{(...)}0":function(t){return i.patterns.findObserveGroups(t,"\\color{","","","}")},"\\color{(...)}{(...)}1":function(t){return i.patterns.findObserveGroups(t,"\\color{","","","}","{","","","}")},"\\color(...){(...)}2":function(t){return i.patterns.findObserveGroups(t,"\\color","\\","",/^(?=\{)/,"{","","","}")},"\\ce{(...)}":function(t){return i.patterns.findObserveGroups(t,"\\ce{","","","}")},oxidation$:/^(?:[+-][IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/,"d-oxidation$":/^(?:[+-]?\s?[IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/,"roman numeral":/^[IVX]+/,"1/2$":/^[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+(?:\$[a-z]\$|[a-z])?$/,amount:function(t){var e;if(e=t.match(/^(?:(?:(?:\([+\-]?[0-9]+\/[0-9]+\)|[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+|[+\-]?[0-9]+[.,][0-9]+|[+\-]?\.[0-9]+|[+\-]?[0-9]+)(?:[a-z](?=\s*[A-Z]))?)|[+\-]?[a-z](?=\s*[A-Z])|\+(?!\s))/))return{match_:e[0],remainder:t.substr(e[0].length)};var n=i.patterns.findObserveGroups(t,"","$","$","");return n&&(e=n.match_.match(/^\$(?:\(?[+\-]?(?:[0-9]*[a-z]?[+\-])?[0-9]*[a-z](?:[+\-][0-9]*[a-z]?)?\)?|\+|-)\$$/))?{match_:e[0],remainder:t.substr(e[0].length)}:null},amount2:function(t){return this.amount(t)},"(KV letters),":/^(?:[A-Z][a-z]{0,2}|i)(?=,)/,formula$:function(t){if(t.match(/^\([a-z]+\)$/))return null;var e=t.match(/^(?:[a-z]|(?:[0-9\ \+\-\,\.\(\)]+[a-z])+[0-9\ \+\-\,\.\(\)]*|(?:[a-z][0-9\ \+\-\,\.\(\)]+)+[a-z]?)$/);return e?{match_:e[0],remainder:t.substr(e[0].length)}:null},uprightEntities:/^(?:pH|pOH|pC|pK|iPr|iBu)(?=$|[^a-zA-Z])/,"/":/^\s*(\/)\s*/,"//":/^\s*(\/\/)\s*/,"*":/^\s*[*.]\s*/},findObserveGroups:function(t,e,n,o,a,r,i,c,u,p){var s=function(t,e){if("string"==typeof e)return 0!==t.indexOf(e)?null:e;var n=t.match(e);return n?n[0]:null},_=s(t,e);if(null===_)return null;if(t=t.substr(_.length),null===(_=s(t,n)))return null;var d=function(t,e,n){for(var o=0;e":{"0|1|2|3":{action_:"r=",nextState:"r"},"a|as":{action_:["output","r="],nextState:"r"},"*":{action_:["output","r="],nextState:"r"}},"+":{o:{action_:"d= kv",nextState:"d"},"d|D":{action_:"d=",nextState:"d"},q:{action_:"d=",nextState:"qd"},"qd|qD":{action_:"d=",nextState:"qd"},dq:{action_:["output","d="],nextState:"d"},3:{action_:["sb=false","output","operator"],nextState:"0"}},amount:{"0|2":{action_:"a=",nextState:"a"}},"pm-operator":{"0|1|2|a|as":{action_:["sb=false","output",{type_:"operator",option:"\\pm"}],nextState:"0"}},operator:{"0|1|2|a|as":{action_:["sb=false","output","operator"],nextState:"0"}},"-$":{"o|q":{action_:["charge or bond","output"],nextState:"qd"},d:{action_:"d=",nextState:"d"},D:{action_:["output",{type_:"bond",option:"-"}],nextState:"3"},q:{action_:"d=",nextState:"qd"},qd:{action_:"d=",nextState:"qd"},"qD|dq":{action_:["output",{type_:"bond",option:"-"}],nextState:"3"}},"-9":{"3|o":{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"3"}},"- orbital overlap":{o:{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"2"},d:{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"2"}},"-":{"0|1|2":{action_:[{type_:"output",option:1},"beginsWithBond=true",{type_:"bond",option:"-"}],nextState:"3"},3:{action_:{type_:"bond",option:"-"}},a:{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"2"},as:{action_:[{type_:"output",option:2},{type_:"bond",option:"-"}],nextState:"3"},b:{action_:"b="},o:{action_:{type_:"- after o/d",option:!1},nextState:"2"},q:{action_:{type_:"- after o/d",option:!1},nextState:"2"},"d|qd|dq":{action_:{type_:"- after o/d",option:!0},nextState:"2"},"D|qD|p":{action_:["output",{type_:"bond",option:"-"}],nextState:"3"}},amount2:{"1|3":{action_:"a=",nextState:"a"}},letters:{"0|1|2|3|a|as|b|p|bp|o":{action_:"o=",nextState:"o"},"q|dq":{action_:["output","o="],nextState:"o"},"d|D|qd|qD":{action_:"o after d",nextState:"o"}},digits:{o:{action_:"q=",nextState:"q"},"d|D":{action_:"q=",nextState:"dq"},q:{action_:["output","o="],nextState:"o"},a:{action_:"o=",nextState:"o"}},"space A":{"b|p|bp":{}},space:{a:{nextState:"as"},0:{action_:"sb=false"},"1|2":{action_:"sb=true"},"r|rt|rd|rdt|rdq":{action_:"output",nextState:"0"},"*":{action_:["output","sb=true"],nextState:"1"}},"1st-level escape":{"1|2":{action_:["output",{type_:"insert+p1",option:"1st-level escape"}]},"*":{action_:["output",{type_:"insert+p1",option:"1st-level escape"}],nextState:"0"}},"[(...)]":{"r|rt":{action_:"rd=",nextState:"rd"},"rd|rdt":{action_:"rq=",nextState:"rdq"}},"...":{"o|d|D|dq|qd|qD":{action_:["output",{type_:"bond",option:"..."}],nextState:"3"},"*":{action_:[{type_:"output",option:1},{type_:"insert",option:"ellipsis"}],nextState:"1"}},". |* ":{"*":{action_:["output",{type_:"insert",option:"addition compound"}],nextState:"1"}},"state of aggregation $":{"*":{action_:["output","state of aggregation"],nextState:"1"}},"{[(":{"a|as|o":{action_:["o=","output","parenthesisLevel++"],nextState:"2"},"0|1|2|3":{action_:["o=","output","parenthesisLevel++"],nextState:"2"},"*":{action_:["output","o=","output","parenthesisLevel++"],nextState:"2"}},")]}":{"0|1|2|3|b|p|bp|o":{action_:["o=","parenthesisLevel--"],nextState:"o"},"a|as|d|D|q|qd|qD|dq":{action_:["output","o=","parenthesisLevel--"],nextState:"o"}},", ":{"*":{action_:["output","comma"],nextState:"0"}},"^_":{"*":{}},"^{(...)}|^($...$)":{"0|1|2|as":{action_:"b=",nextState:"b"},p:{action_:"b=",nextState:"bp"},"3|o":{action_:"d= kv",nextState:"D"},q:{action_:"d=",nextState:"qD"},"d|D|qd|qD|dq":{action_:["output","d="],nextState:"D"}},"^a|^\\x{}{}|^\\x{}|^\\x|'":{"0|1|2|as":{action_:"b=",nextState:"b"},p:{action_:"b=",nextState:"bp"},"3|o":{action_:"d= kv",nextState:"d"},q:{action_:"d=",nextState:"qd"},"d|qd|D|qD":{action_:"d="},dq:{action_:["output","d="],nextState:"d"}},"_{(state of aggregation)}$":{"d|D|q|qd|qD|dq":{action_:["output","q="],nextState:"q"}},"_{(...)}|_($...$)|_9|_\\x{}{}|_\\x{}|_\\x":{"0|1|2|as":{action_:"p=",nextState:"p"},b:{action_:"p=",nextState:"bp"},"3|o":{action_:"q=",nextState:"q"},"d|D":{action_:"q=",nextState:"dq"},"q|qd|qD|dq":{action_:["output","q="],nextState:"q"}},"=<>":{"0|1|2|3|a|as|o|q|d|D|qd|qD|dq":{action_:[{type_:"output",option:2},"bond"],nextState:"3"}},"#":{"0|1|2|3|a|as|o":{action_:[{type_:"output",option:2},{type_:"bond",option:"#"}],nextState:"3"}},"{}":{"*":{action_:{type_:"output",option:1},nextState:"1"}},"{...}":{"0|1|2|3|a|as|b|p|bp":{action_:"o=",nextState:"o"},"o|d|D|q|qd|qD|dq":{action_:["output","o="],nextState:"o"}},"$...$":{a:{action_:"a="},"0|1|2|3|as|b|p|bp|o":{action_:"o=",nextState:"o"},"as|o":{action_:"o="},"q|d|D|qd|qD|dq":{action_:["output","o="],nextState:"o"}},"\\bond{(...)}":{"*":{action_:[{type_:"output",option:2},"bond"],nextState:"3"}},"\\frac{(...)}":{"*":{action_:[{type_:"output",option:1},"frac-output"],nextState:"3"}},"\\overset{(...)}":{"*":{action_:[{type_:"output",option:2},"overset-output"],nextState:"3"}},"\\underset{(...)}":{"*":{action_:[{type_:"output",option:2},"underset-output"],nextState:"3"}},"\\underbrace{(...)}":{"*":{action_:[{type_:"output",option:2},"underbrace-output"],nextState:"3"}},"\\color{(...)}{(...)}1|\\color(...){(...)}2":{"*":{action_:[{type_:"output",option:2},"color-output"],nextState:"3"}},"\\color{(...)}0":{"*":{action_:[{type_:"output",option:2},"color0-output"]}},"\\ce{(...)}":{"*":{action_:[{type_:"output",option:2},"ce"],nextState:"3"}},"\\,":{"*":{action_:[{type_:"output",option:1},"copy"],nextState:"1"}},"\\x{}{}|\\x{}|\\x":{"0|1|2|3|a|as|b|p|bp|o|c0":{action_:["o=","output"],nextState:"3"},"*":{action_:["output","o=","output"],nextState:"3"}},others:{"*":{action_:[{type_:"output",option:1},"copy"],nextState:"3"}},else2:{a:{action_:"a to o",nextState:"o",revisit:!0},as:{action_:["output","sb=true"],nextState:"1",revisit:!0},"r|rt|rd|rdt|rdq":{action_:["output"],nextState:"0",revisit:!0},"*":{action_:["output","copy"],nextState:"3"}}}),actions:{"o after d":function(t,e){var n;if((t.d||"").match(/^[0-9]+$/)){var o=t.d;t.d=void 0,n=this.output(t),t.b=o}else n=this.output(t);return i.actions["o="](t,e),n},"d= kv":function(t,e){t.d=e,t.dType="kv"},"charge or bond":function(t,e){if(t.beginsWithBond){var n=[];return i.concatArray(n,this.output(t)),i.concatArray(n,i.actions.bond(t,e,"-")),n}t.d=e},"- after o/d":function(t,e,n){var o=i.patterns.match_("orbital",t.o||""),a=i.patterns.match_("one lowercase greek letter $",t.o||""),r=i.patterns.match_("one lowercase latin letter $",t.o||""),c=i.patterns.match_("$one lowercase latin letter$ $",t.o||""),u="-"===e&&(o&&""===o.remainder||a||r||c);!u||t.a||t.b||t.p||t.d||t.q||o||!r||(t.o="$"+t.o+"$");var p=[];return u?(i.concatArray(p,this.output(t)),p.push({type_:"hyphen"})):(o=i.patterns.match_("digits",t.d||""),n&&o&&""===o.remainder?(i.concatArray(p,i.actions["d="](t,e)),i.concatArray(p,this.output(t))):(i.concatArray(p,this.output(t)),i.concatArray(p,i.actions.bond(t,e,"-")))),p},"a to o":function(t){t.o=t.a,t.a=void 0},"sb=true":function(t){t.sb=!0},"sb=false":function(t){t.sb=!1},"beginsWithBond=true":function(t){t.beginsWithBond=!0},"beginsWithBond=false":function(t){t.beginsWithBond=!1},"parenthesisLevel++":function(t){t.parenthesisLevel++},"parenthesisLevel--":function(t){t.parenthesisLevel--},"state of aggregation":function(t,e){return{type_:"state of aggregation",p1:i.go(e,"o")}},comma:function(t,e){var n=e.replace(/\s*$/,"");return n!==e&&0===t.parenthesisLevel?{type_:"comma enumeration L",p1:n}:{type_:"comma enumeration M",p1:n}},output:function(t,e,n){var o,a,r;t.r?(a="M"===t.rdt?i.go(t.rd,"tex-math"):"T"===t.rdt?[{type_:"text",p1:t.rd||""}]:i.go(t.rd),r="M"===t.rqt?i.go(t.rq,"tex-math"):"T"===t.rqt?[{type_:"text",p1:t.rq||""}]:i.go(t.rq),o={type_:"arrow",r:t.r,rd:a,rq:r}):(o=[],(t.a||t.b||t.p||t.o||t.q||t.d||n)&&(t.sb&&o.push({type_:"entitySkip"}),t.o||t.q||t.d||t.b||t.p||2===n?t.o||t.q||t.d||!t.b&&!t.p?t.o&&"kv"===t.dType&&i.patterns.match_("d-oxidation$",t.d||"")?t.dType="oxidation":t.o&&"kv"===t.dType&&!t.q&&(t.dType=void 0):(t.o=t.a,t.d=t.b,t.q=t.p,t.a=t.b=t.p=void 0):(t.o=t.a,t.a=void 0),o.push({type_:"chemfive",a:i.go(t.a,"a"),b:i.go(t.b,"bd"),p:i.go(t.p,"pq"),o:i.go(t.o,"o"),q:i.go(t.q,"pq"),d:i.go(t.d,"oxidation"===t.dType?"oxidation":"bd"),dType:t.dType})));for(var c in t)"parenthesisLevel"!==c&&"beginsWithBond"!==c&&delete t[c];return o},"oxidation-output":function(t,e){var n=["{"];return i.concatArray(n,i.go(e,"oxidation")),n.push("}"),n},"frac-output":function(t,e){return{type_:"frac-ce",p1:i.go(e[0]),p2:i.go(e[1])}},"overset-output":function(t,e){return{type_:"overset",p1:i.go(e[0]),p2:i.go(e[1])}},"underset-output":function(t,e){return{type_:"underset",p1:i.go(e[0]),p2:i.go(e[1])}},"underbrace-output":function(t,e){return{type_:"underbrace",p1:i.go(e[0]),p2:i.go(e[1])}},"color-output":function(t,e){return{type_:"color",color1:e[0],color2:i.go(e[1])}},"r=":function(t,e){t.r=e},"rdt=":function(t,e){t.rdt=e},"rd=":function(t,e){t.rd=e},"rqt=":function(t,e){t.rqt=e},"rq=":function(t,e){t.rq=e},operator:function(t,e,n){return{type_:"operator",kind_:n||e}}}},a:{transitions:i.createTransitions({empty:{"*":{}},"1/2$":{0:{action_:"1/2"}},else:{0:{nextState:"1",revisit:!0}},"$(...)$":{"*":{action_:"tex-math tight",nextState:"1"}},",":{"*":{action_:{type_:"insert",option:"commaDecimal"}}},else2:{"*":{action_:"copy"}}}),actions:{}},o:{transitions:i.createTransitions({empty:{"*":{}},"1/2$":{0:{action_:"1/2"}},else:{0:{nextState:"1",revisit:!0}},letters:{"*":{action_:"rm"}},"\\ca":{"*":{action_:{type_:"insert",option:"circa"}}},"\\x{}{}|\\x{}|\\x":{"*":{action_:"copy"}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"{(...)}":{"*":{action_:"{text}"}},else2:{"*":{action_:"copy"}}}),actions:{}},text:{transitions:i.createTransitions({empty:{"*":{action_:"output"}},"{...}":{"*":{action_:"text="}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"\\greek":{"*":{action_:["output","rm"]}},"\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:["output","copy"]}},else:{"*":{action_:"text="}}}),actions:{output:function(t){if(t.text_){var e={type_:"text",p1:t.text_};for(var n in t)delete t[n];return e}}}},pq:{transitions:i.createTransitions({empty:{"*":{}},"state of aggregation $":{"*":{action_:"state of aggregation"}},i$:{0:{nextState:"!f",revisit:!0}},"(KV letters),":{0:{action_:"rm",nextState:"0"}},formula$:{0:{nextState:"f",revisit:!0}},"1/2$":{0:{action_:"1/2"}},else:{0:{nextState:"!f",revisit:!0}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"{(...)}":{"*":{action_:"text"}},"a-z":{f:{action_:"tex-math"}},letters:{"*":{action_:"rm"}},"-9.,9":{"*":{action_:"9,9"}},",":{"*":{action_:{type_:"insert+p1",option:"comma enumeration S"}}},"\\color{(...)}{(...)}1|\\color(...){(...)}2":{"*":{action_:"color-output"}},"\\color{(...)}0":{"*":{action_:"color0-output"}},"\\ce{(...)}":{"*":{action_:"ce"}},"\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"copy"}},else2:{"*":{action_:"copy"}}}),actions:{"state of aggregation":function(t,e){return{type_:"state of aggregation subscript",p1:i.go(e,"o")}},"color-output":function(t,e){return{type_:"color",color1:e[0],color2:i.go(e[1],"pq")}}}},bd:{transitions:i.createTransitions({empty:{"*":{}},x$:{0:{nextState:"!f",revisit:!0}},formula$:{0:{nextState:"f",revisit:!0}},else:{0:{nextState:"!f",revisit:!0}},"-9.,9 no missing 0":{"*":{action_:"9,9"}},".":{"*":{action_:{type_:"insert",option:"electron dot"}}},"a-z":{f:{action_:"tex-math"}},x:{"*":{action_:{type_:"insert",option:"KV x"}}},letters:{"*":{action_:"rm"}},"'":{"*":{action_:{type_:"insert",option:"prime"}}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"{(...)}":{"*":{action_:"text"}},"\\color{(...)}{(...)}1|\\color(...){(...)}2":{"*":{action_:"color-output"}},"\\color{(...)}0":{"*":{action_:"color0-output"}},"\\ce{(...)}":{"*":{action_:"ce"}},"\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"copy"}},else2:{"*":{action_:"copy"}}}),actions:{"color-output":function(t,e){return{type_:"color",color1:e[0],color2:i.go(e[1],"bd")}}}},oxidation:{transitions:i.createTransitions({empty:{"*":{}},"roman numeral":{"*":{action_:"roman-numeral"}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},else:{"*":{action_:"copy"}}}),actions:{"roman-numeral":function(t,e){return{type_:"roman numeral",p1:e||""}}}},"tex-math":{transitions:i.createTransitions({empty:{"*":{action_:"output"}},"\\ce{(...)}":{"*":{action_:["output","ce"]}},"{...}|\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"o="}},else:{"*":{action_:"o="}}}),actions:{output:function(t){if(t.o){var e={type_:"tex-math",p1:t.o};for(var n in t)delete t[n];return e}}}},"tex-math tight":{transitions:i.createTransitions({empty:{"*":{action_:"output"}},"\\ce{(...)}":{"*":{action_:["output","ce"]}},"{...}|\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"o="}},"-|+":{"*":{action_:"tight operator"}},else:{"*":{action_:"o="}}}),actions:{"tight operator":function(t,e){t.o=(t.o||"")+"{"+e+"}"},output:function(t){if(t.o){var e={type_:"tex-math",p1:t.o};for(var n in t)delete t[n];return e}}}},"9,9":{transitions:i.createTransitions({empty:{"*":{}},",":{"*":{action_:"comma"}},else:{"*":{action_:"copy"}}}),actions:{comma:function(){return{type_:"commaDecimal"}}}},pu:{transitions:i.createTransitions({empty:{"*":{action_:"output"}},space$:{"*":{action_:["output","space"]}},"{[(|)]}":{"0|a":{action_:"copy"}},"(-)(9)^(-9)":{0:{action_:"number^",nextState:"a"}},"(-)(9.,9)(e)(99)":{0:{action_:"enumber",nextState:"a"}},space:{"0|a":{}},"pm-operator":{"0|a":{action_:{type_:"operator",option:"\\pm"},nextState:"0"}},operator:{"0|a":{action_:"copy",nextState:"0"}},"//":{d:{action_:"o=",nextState:"/"}},"/":{d:{action_:"o=",nextState:"/"}},"{...}|else":{"0|d":{action_:"d=",nextState:"d"},a:{action_:["space","d="],nextState:"d"},"/|q":{action_:"q=",nextState:"q"}}}),actions:{enumber:function(t,e){var n=[];return"+-"===e[0]||"+/-"===e[0]?n.push("\\pm "):e[0]&&n.push(e[0]),e[1]&&(i.concatArray(n,i.go(e[1],"pu-9,9")),e[2]&&(e[2].match(/[,.]/)?i.concatArray(n,i.go(e[2],"pu-9,9")):n.push(e[2])),e[3]=e[4]||e[3],e[3]&&(e[3]=e[3].trim(),"e"===e[3]||"*"===e[3].substr(0,1)?n.push({type_:"cdot"}):n.push({type_:"times"}))),e[3]&&n.push("10^{"+e[5]+"}"),n},"number^":function(t,e){var n=[];return"+-"===e[0]||"+/-"===e[0]?n.push("\\pm "):e[0]&&n.push(e[0]),i.concatArray(n,i.go(e[1],"pu-9,9")),n.push("^{"+e[2]+"}"),n},operator:function(t,e,n){return{type_:"operator",kind_:n||e}},space:function(){return{type_:"pu-space-1"}},output:function(t){var e,n=i.patterns.match_("{(...)}",t.d||"");n&&""===n.remainder&&(t.d=n.match_);var o=i.patterns.match_("{(...)}",t.q||"");if(o&&""===o.remainder&&(t.q=o.match_),t.d&&(t.d=t.d.replace(/\u00B0C|\^oC|\^{o}C/g,"{}^{\\circ}C"),t.d=t.d.replace(/\u00B0F|\^oF|\^{o}F/g,"{}^{\\circ}F")),t.q){t.q=t.q.replace(/\u00B0C|\^oC|\^{o}C/g,"{}^{\\circ}C"),t.q=t.q.replace(/\u00B0F|\^oF|\^{o}F/g,"{}^{\\circ}F");var a={d:i.go(t.d,"pu"),q:i.go(t.q,"pu")};"//"===t.o?e={type_:"pu-frac",p1:a.d,p2:a.q}:(e=a.d,a.d.length>1||a.q.length>1?e.push({type_:" / "}):e.push({type_:"/"}),i.concatArray(e,a.q))}else e=i.go(t.d,"pu-2");for(var r in t)delete t[r];return e}}},"pu-2":{transitions:i.createTransitions({empty:{"*":{action_:"output"}},"*":{"*":{action_:["output","cdot"],nextState:"0"}},"\\x":{"*":{action_:"rm="}},space:{"*":{action_:["output","space"],nextState:"0"}},"^{(...)}|^(-1)":{1:{action_:"^(-1)"}},"-9.,9":{0:{action_:"rm=",nextState:"0"},1:{action_:"^(-1)",nextState:"0"}},"{...}|else":{"*":{action_:"rm=",nextState:"1"}}}),actions:{cdot:function(){return{type_:"tight cdot"}},"^(-1)":function(t,e){t.rm+="^{"+e+"}"},space:function(){return{type_:"pu-space-2"}},output:function(t){var e=[];if(t.rm){var n=i.patterns.match_("{(...)}",t.rm||"");e=n&&""===n.remainder?i.go(n.match_,"pu"):{type_:"rm",p1:t.rm}}for(var o in t)delete t[o];return e}}},"pu-9,9":{transitions:i.createTransitions({empty:{0:{action_:"output-0"},o:{action_:"output-o"}},",":{0:{action_:["output-0","comma"],nextState:"o"}},".":{0:{action_:["output-0","copy"],nextState:"o"}},else:{"*":{action_:"text="}}}),actions:{comma:function(){return{type_:"commaDecimal"}},"output-0":function(t){var e=[];if(t.text_=t.text_||"",t.text_.length>4){var n=t.text_.length%3;0===n&&(n=3);for(var o=t.text_.length-3;o>0;o-=3)e.push(t.text_.substr(o,3)),e.push({type_:"1000 separator"});e.push(t.text_.substr(0,n)),e.reverse()}else e.push(t.text_);for(var a in t)delete t[a];return e},"output-o":function(t){var e=[];if(t.text_=t.text_||"",t.text_.length>4){for(var n=t.text_.length-3,o=0;o":case"\u2192":case"\u27f6":return"rightarrow";case"<-":return"leftarrow";case"<->":return"leftrightarrow";case"<--\x3e":return"rightleftarrows";case"<=>":case"\u21cc":return"rightleftharpoons";case"<=>>":return"rightequilibrium";case"<<=>":return"leftequilibrium";default:throw["MhchemBugT","mhchem bug T. Please report."]}},_getBond:function(t){switch(t){case"-":case"1":return"{-}";case"=":case"2":return"{=}";case"#":case"3":return"{\\equiv}";case"~":return"{\\tripledash}";case"~-":return"{\\mathrlap{\\raisebox{-.1em}{$-$}}\\raisebox{.1em}{$\\tripledash$}}";case"~=":case"~--":return"{\\mathrlap{\\raisebox{-.2em}{$-$}}\\mathrlap{\\raisebox{.2em}{$\\tripledash$}}-}";case"-~-":return"{\\mathrlap{\\raisebox{-.2em}{$-$}}\\mathrlap{\\raisebox{.2em}{$-$}}\\tripledash}";case"...":return"{{\\cdot}{\\cdot}{\\cdot}}";case"....":return"{{\\cdot}{\\cdot}{\\cdot}{\\cdot}}";case"->":return"{\\rightarrow}";case"<-":return"{\\leftarrow}";case"<":return"{<}";case">":return"{>}";default:throw["MhchemBugT","mhchem bug T. Please report."]}},_getOperator:function(t){switch(t){case"+":return" {}+{} ";case"-":return" {}-{} ";case"=":return" {}={} ";case"<":return" {}<{} ";case">":return" {}>{} ";case"<<":return" {}\\ll{} ";case">>":return" {}\\gg{} ";case"\\pm":return" {}\\pm{} ";case"\\approx":case"$\\approx$":return" {}\\approx{} ";case"v":case"(v)":return" \\downarrow{} ";case"^":case"(^)":return" \\uparrow{} ";default:throw["MhchemBugT","mhchem bug T. Please report."]}}}}]).default});
\ No newline at end of file
diff --git a/public/lib/lazysizes/lazysizes.min.d4df188c8b0d4510865432b2021bb3732a67fde805f31dc760ea23256a712a162dfd86f260b79f2ab409046491a29730.js b/public/lib/lazysizes/lazysizes.min.d4df188c8b0d4510865432b2021bb3732a67fde805f31dc760ea23256a712a162dfd86f260b79f2ab409046491a29730.js
new file mode 100644
index 00000000..ca34f126
--- /dev/null
+++ b/public/lib/lazysizes/lazysizes.min.d4df188c8b0d4510865432b2021bb3732a67fde805f31dc760ea23256a712a162dfd86f260b79f2ab409046491a29730.js
@@ -0,0 +1,3 @@
+/*! lazysizes - v5.2.2 */
+
+!function(e){var t=function(u,D,f){"use strict";var k,H;if(function(){var e;var t={lazyClass:"lazyload",loadedClass:"lazyloaded",loadingClass:"lazyloading",preloadClass:"lazypreload",errorClass:"lazyerror",autosizesClass:"lazyautosizes",srcAttr:"data-src",srcsetAttr:"data-srcset",sizesAttr:"data-sizes",minSize:40,customMedia:{},init:true,expFactor:1.5,hFac:.8,loadMode:2,loadHidden:true,ricTimeout:0,throttleDelay:125};H=u.lazySizesConfig||u.lazysizesConfig||{};for(e in t){if(!(e in H)){H[e]=t[e]}}}(),!D||!D.getElementsByClassName){return{init:function(){},cfg:H,noSupport:true}}var O=D.documentElement,a=u.HTMLPictureElement,P="addEventListener",$="getAttribute",q=u[P].bind(u),I=u.setTimeout,U=u.requestAnimationFrame||I,l=u.requestIdleCallback,j=/^picture$/i,r=["load","error","lazyincluded","_lazyloaded"],i={},G=Array.prototype.forEach,J=function(e,t){if(!i[t]){i[t]=new RegExp("(\\s|^)"+t+"(\\s|$)")}return i[t].test(e[$]("class")||"")&&i[t]},K=function(e,t){if(!J(e,t)){e.setAttribute("class",(e[$]("class")||"").trim()+" "+t)}},Q=function(e,t){var i;if(i=J(e,t)){e.setAttribute("class",(e[$]("class")||"").replace(i," "))}},V=function(t,i,e){var a=e?P:"removeEventListener";if(e){V(t,i)}r.forEach(function(e){t[a](e,i)})},X=function(e,t,i,a,r){var n=D.createEvent("Event");if(!i){i={}}i.instance=k;n.initEvent(t,!a,!r);n.detail=i;e.dispatchEvent(n);return n},Y=function(e,t){var i;if(!a&&(i=u.picturefill||H.pf)){if(t&&t.src&&!e[$]("srcset")){e.setAttribute("srcset",t.src)}i({reevaluate:true,elements:[e]})}else if(t&&t.src){e.src=t.src}},Z=function(e,t){return(getComputedStyle(e,null)||{})[t]},s=function(e,t,i){i=i||e.offsetWidth;while(i49?function(){l(t,{timeout:n});if(n!==H.ricTimeout){n=H.ricTimeout}}:te(function(){I(t)},true);return function(e){var t;if(e=e===true){n=33}if(i){return}i=true;t=r-(f.now()-a);if(t<0){t=0}if(e||t<9){s()}else{I(s,t)}}},ae=function(e){var t,i;var a=99;var r=function(){t=null;e()};var n=function(){var e=f.now()-i;if(e0;if(r&&Z(a,"overflow")!="visible"){i=a.getBoundingClientRect();r=C>i.left&&pi.top-1&&g500&&O.clientWidth>500?500:370:H.expand;k._defEx=u;f=u*H.expFactor;c=H.hFac;A=null;if(w2&&h>2&&!D.hidden){w=f;M=0}else if(h>1&&M>1&&N<6){w=u}else{w=_}}if(o!==n){y=innerWidth+n*c;z=innerHeight+n;s=n*-1;o=n}i=d[t].getBoundingClientRect();if((b=i.bottom)>=s&&(g=i.top)<=z&&(C=i.right)>=s*c&&(p=i.left)<=y&&(b||C||p||g)&&(H.loadHidden||W(d[t]))&&(m&&N<3&&!l&&(h<3||M<4)||S(d[t],n))){R(d[t]);r=true;if(N>9){break}}else if(!r&&m&&!a&&N<4&&M<4&&h>2&&(v[0]||H.preloadAfterLoad)&&(v[0]||!l&&(b||C||p||g||d[t][$](H.sizesAttr)!="auto"))){a=v[0]||d[t]}}if(a&&!r){R(a)}}};var i=ie(t);var B=function(e){var t=e.target;if(t._lazyCache){delete t._lazyCache;return}x(e);K(t,H.loadedClass);Q(t,H.loadingClass);V(t,L);X(t,"lazyloaded")};var a=te(B);var L=function(e){a({target:e.target})};var T=function(t,i){try{t.contentWindow.location.replace(i)}catch(e){t.src=i}};var F=function(e){var t;var i=e[$](H.srcsetAttr);if(t=H.customMedia[e[$]("data-media")||e[$]("media")]){e.setAttribute("media",t)}if(i){e.setAttribute("srcset",i)}};var s=te(function(t,e,i,a,r){var n,s,l,o,u,f;if(!(u=X(t,"lazybeforeunveil",e)).defaultPrevented){if(a){if(i){K(t,H.autosizesClass)}else{t.setAttribute("sizes",a)}}s=t[$](H.srcsetAttr);n=t[$](H.srcAttr);if(r){l=t.parentNode;o=l&&j.test(l.nodeName||"")}f=e.firesLoad||"src"in t&&(s||n||o);u={target:t};K(t,H.loadingClass);if(f){clearTimeout(c);c=I(x,2500);V(t,L,true)}if(o){G.call(l.getElementsByTagName("source"),F)}if(s){t.setAttribute("srcset",s)}else if(n&&!o){if(d.test(t.nodeName)){T(t,n)}else{t.src=n}}if(r&&(s||o)){Y(t,{src:n})}}if(t._lazyRace){delete t._lazyRace}Q(t,H.lazyClass);ee(function(){var e=t.complete&&t.naturalWidth>1;if(!f||e){if(e){K(t,"ls-is-cached")}B(u);t._lazyCache=true;I(function(){if("_lazyCache"in t){delete t._lazyCache}},9)}if(t.loading=="lazy"){N--}},true)});var R=function(e){if(e._lazyRace){return}var t;var i=n.test(e.nodeName);var a=i&&(e[$](H.sizesAttr)||e[$]("sizes"));var r=a=="auto";if((r||!m)&&i&&(e[$]("src")||e.srcset)&&!e.complete&&!J(e,H.errorClass)&&J(e,H.lazyClass)){return}t=X(e,"lazyunveilread").detail;if(r){re.updateElem(e,true,e.offsetWidth)}e._lazyRace=true;N++;s(e,t,r,a,i)};var r=ae(function(){H.loadMode=3;i()});var l=function(){if(H.loadMode==3){H.loadMode=2}r()};var o=function(){if(m){return}if(f.now()-e<999){I(o,999);return}m=true;H.loadMode=3;i();q("scroll",l,true)};return{_:function(){e=f.now();k.elements=D.getElementsByClassName(H.lazyClass);v=D.getElementsByClassName(H.lazyClass+" "+H.preloadClass);q("scroll",i,true);q("resize",i,true);q("pageshow",function(e){if(e.persisted){var t=D.querySelectorAll("."+H.loadingClass);if(t.length&&t.forEach){U(function(){t.forEach(function(e){if(e.complete){R(e)}})})}}});if(u.MutationObserver){new MutationObserver(i).observe(O,{childList:true,subtree:true,attributes:true})}else{O[P]("DOMNodeInserted",i,true);O[P]("DOMAttrModified",i,true);setInterval(i,999)}q("hashchange",i,true);["focus","mouseover","click","load","transitionend","animationend"].forEach(function(e){D[P](e,i,true)});if(/d$|^c/.test(D.readyState)){o()}else{q("load",o);D[P]("DOMContentLoaded",i);I(o,2e4)}if(k.elements.length){t();ee._lsFlush()}else{i()}},checkElems:i,unveil:R,_aLSL:l}}(),re=function(){var i;var n=te(function(e,t,i,a){var r,n,s;e._lazysizesWidth=a;a+="px";e.setAttribute("sizes",a);if(j.test(t.nodeName||"")){r=t.getElementsByTagName("source");for(n=0,s=r.length;n0){var c=e.utils.clone(r)||{};c.position=[a,l],c.index=s.length,s.push(new e.Token(i.slice(a,o),c))}a=o+1}}return s},e.tokenizer.separator=/[\s\-]+/,e.Pipeline=function(){this._stack=[]},e.Pipeline.registeredFunctions=Object.create(null),e.Pipeline.registerFunction=function(t,r){r in this.registeredFunctions&&e.utils.warn("Overwriting existing registered function: "+r),t.label=r,e.Pipeline.registeredFunctions[t.label]=t},e.Pipeline.warnIfFunctionNotRegistered=function(t){var r=t.label&&t.label in this.registeredFunctions;r||e.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",t)},e.Pipeline.load=function(t){var r=new e.Pipeline;return t.forEach(function(t){var i=e.Pipeline.registeredFunctions[t];if(!i)throw new Error("Cannot load unregistered function: "+t);r.add(i)}),r},e.Pipeline.prototype.add=function(){var t=Array.prototype.slice.call(arguments);t.forEach(function(t){e.Pipeline.warnIfFunctionNotRegistered(t),this._stack.push(t)},this)},e.Pipeline.prototype.after=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(i==-1)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,r)},e.Pipeline.prototype.before=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(i==-1)throw new Error("Cannot find existingFn");this._stack.splice(i,0,r)},e.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);t!=-1&&this._stack.splice(t,1)},e.Pipeline.prototype.run=function(e){for(var t=this._stack.length,r=0;r1&&(se&&(r=n),s!=e);)i=r-t,n=t+Math.floor(i/2),s=this.elements[2*n];return s==e?2*n:s>e?2*n:sa?l+=2:o==a&&(t+=r[u+1]*i[l+1],u+=2,l+=2);return t},e.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},e.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,r=0;t0){var o,a=s.str.charAt(0);a in s.node.edges?o=s.node.edges[a]:(o=new e.TokenSet,s.node.edges[a]=o),1==s.str.length&&(o["final"]=!0),n.push({node:o,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(0!=s.editsRemaining){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new e.TokenSet;s.node.edges["*"]=u}if(0==s.str.length&&(u["final"]=!0),n.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&n.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),1==s.str.length&&(s.node["final"]=!0),s.str.length>=1){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new e.TokenSet;s.node.edges["*"]=l}1==s.str.length&&(l["final"]=!0),n.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var c,h=s.str.charAt(0),d=s.str.charAt(1);d in s.node.edges?c=s.node.edges[d]:(c=new e.TokenSet,s.node.edges[d]=c),1==s.str.length&&(c["final"]=!0),n.push({node:c,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return i},e.TokenSet.fromString=function(t){for(var r=new e.TokenSet,i=r,n=0,s=t.length;n=e;t--){var r=this.uncheckedNodes[t],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r["char"]]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}},e.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},e.Index.prototype.search=function(t){return this.query(function(r){var i=new e.QueryParser(t,r);i.parse()})},e.Index.prototype.query=function(t){for(var r=new e.Query(this.fields),i=Object.create(null),n=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u1?this._b=1:this._b=e},e.Builder.prototype.k1=function(e){this._k1=e},e.Builder.prototype.add=function(t,r){var i=t[this._ref],n=Object.keys(this._fields);this._documents[i]=r||{},this.documentCount+=1;for(var s=0;s=this.length)return e.QueryLexer.EOS;var t=this.str.charAt(this.pos);return this.pos+=1,t},e.QueryLexer.prototype.width=function(){return this.pos-this.start},e.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},e.QueryLexer.prototype.backup=function(){this.pos-=1},e.QueryLexer.prototype.acceptDigitRun=function(){var t,r;do t=this.next(),r=t.charCodeAt(0);while(r>47&&r<58);t!=e.QueryLexer.EOS&&this.backup()},e.QueryLexer.prototype.more=function(){return this.pos1&&(t.backup(),t.emit(e.QueryLexer.TERM)),t.ignore(),t.more())return e.QueryLexer.lexText},e.QueryLexer.lexEditDistance=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.EDIT_DISTANCE),e.QueryLexer.lexText},e.QueryLexer.lexBoost=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.BOOST),e.QueryLexer.lexText},e.QueryLexer.lexEOS=function(t){t.width()>0&&t.emit(e.QueryLexer.TERM)},e.QueryLexer.termSeparator=e.tokenizer.separator,e.QueryLexer.lexText=function(t){for(;;){var r=t.next();if(r==e.QueryLexer.EOS)return e.QueryLexer.lexEOS;if(92!=r.charCodeAt(0)){if(":"==r)return e.QueryLexer.lexField;if("~"==r)return t.backup(),t.width()>0&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexEditDistance;if("^"==r)return t.backup(),t.width()>0&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexBoost;if("+"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if("-"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if(r.match(e.QueryLexer.termSeparator))return e.QueryLexer.lexTerm}else t.escapeCharacter()}},e.QueryParser=function(t,r){this.lexer=new e.QueryLexer(t),this.query=r,this.currentClause={},this.lexemeIdx=0},e.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var t=e.QueryParser.parseClause;t;)t=t(this);return this.query},e.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},e.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},e.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},e.QueryParser.parseClause=function(t){var r=t.peekLexeme();if(void 0!=r)switch(r.type){case e.QueryLexer.PRESENCE:return e.QueryParser.parsePresence;case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(i+=" with value '"+r.str+"'"),new e.QueryParseError(i,r.start,r.end)}},e.QueryParser.parsePresence=function(t){var r=t.consumeLexeme();if(void 0!=r){switch(r.str){case"-":t.currentClause.presence=e.Query.presence.PROHIBITED;break;case"+":t.currentClause.presence=e.Query.presence.REQUIRED;break;default:var i="unrecognised presence operator'"+r.str+"'";throw new e.QueryParseError(i,r.start,r.end)}var n=t.peekLexeme();if(void 0==n){var i="expecting term or field, found nothing";throw new e.QueryParseError(i,r.start,r.end)}switch(n.type){case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expecting term or field, found '"+n.type+"'";throw new e.QueryParseError(i,n.start,n.end)}}},e.QueryParser.parseField=function(t){var r=t.consumeLexeme();if(void 0!=r){if(t.query.allFields.indexOf(r.str)==-1){var i=t.query.allFields.map(function(e){return"'"+e+"'"}).join(", "),n="unrecognised field '"+r.str+"', possible fields: "+i;throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.fields=[r.str];var s=t.peekLexeme();if(void 0==s){var n="expecting term, found nothing";throw new e.QueryParseError(n,r.start,r.end)}switch(s.type){case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var n="expecting term, found '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseTerm=function(t){var r=t.consumeLexeme();if(void 0!=r){t.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(t.currentClause.usePipeline=!1);var i=t.peekLexeme();if(void 0==i)return void t.nextClause();switch(i.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+i.type+"'";throw new e.QueryParseError(n,i.start,i.end)}}},e.QueryParser.parseEditDistance=function(t){var r=t.consumeLexeme();if(void 0!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="edit distance must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.editDistance=i;var s=t.peekLexeme();if(void 0==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseBoost=function(t){var r=t.consumeLexeme();if(void 0!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="boost must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.boost=i;var s=t.peekLexeme();if(void 0==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.lunr=t()}(this,function(){return e})}();
diff --git a/public/lib/lunr/lunr.segmentit.js b/public/lib/lunr/lunr.segmentit.js
new file mode 100644
index 00000000..4c9c9ac2
--- /dev/null
+++ b/public/lib/lunr/lunr.segmentit.js
@@ -0,0 +1,174 @@
+(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i[]{}=!@#$%^&*()~`。,、':∶;?‘’“”〝〞ˆˇ﹕︰﹔﹖﹑·¨….¸;!´?!~—ˉ|‖"〃`@﹫¡¿﹏﹋﹌︴々﹟#﹩$﹠&﹪%*﹡﹢﹦﹤‐ ̄¯―﹨ˆ˜﹍﹎+=<__-ˇ~﹉﹊()〈〉‹›﹛﹜『』〖〗[]《》〔〕{}「」【】︵︷︿︹︽_﹁﹃︻︶︸﹀︺︾ˉ﹂﹄︼+-×÷﹢﹣±/=≈≡≠∧∨∑∏∪∩∈⊙⌒⊥∥∠∽≌<>≤≥≮≯∧∨√﹙﹚[]﹛﹜∫∮∝∞⊙∏┌┬┐┏┳┓╒╤╕─│├┼┤┣╋┫╞╪╡━┃└┴┘┗┻┛╘╧╛┄┆┅┇╭─╮┏━┓╔╦╗┈┊│╳│┃┃╠╬╣┉┋╰─╯┗━┛╚╩╝╲╱┞┟┠┡┢┦┧┨┩┪╉╊┭┮┯┰┱┲┵┶┷┸╇╈┹┺┽┾┿╀╁╂╃╄╅╆○◇□△▽☆●◆■▲▼★♠♥♦♣☼☺◘♀√☻◙♂×▁▂▃▄▅▆▇█⊙◎۞卍卐╱╲▁▏↖↗↑←↔◤◥╲╱▔▕↙↘↓→↕◣◢∷▒░℡™"
+z=z.split("")
+var R={},U={}
+for(var I in z)if(""!==z[I]){var L=z[I].length
+U[R[z[I]]=L]||(U[L]={}),U[L][z[I]]=L}var j=function(){function s(){return r(this,s),u(this,i(s).apply(this,arguments))}return x(s,_),e(s,[{key:"split",value:function(n){for(var x,e=this.segment.POSTAG,c=[],f=0;x=n[f];f++)if(0=min){ch-=min;if(s[ch>>3]&(0X1<<(ch&0X7))){this.cursor++;return true;}}}
+return false;},in_grouping_b:function(s,min,max){if(this.cursor>this.limit_backward){var ch=current.charCodeAt(this.cursor-1);if(ch<=max&&ch>=min){ch-=min;if(s[ch>>3]&(0X1<<(ch&0X7))){this.cursor--;return true;}}}
+return false;},out_grouping:function(s,min,max){if(this.cursormax||ch